Skip to content

feat(consume): add support to consume direct for eof_test fixtures #1232

@marioevz

Description

@marioevz

Command consume direct should support EOF fixtures, since tools like evmone-eofparse allow consumption of EOF containers.

The command technically already supports EOF fixtures with the merging of #935, but currently there is no fixture-consumer class defined to process EOF fixtures.

The only thing required is to create a FixtureConsumerTool subclass that contains the logic to process the fixtures using the evmone-eofparse external tool, like the one defined for Geth's evm tool here:

class GethFixtureConsumer(
GethEvm,
FixtureConsumerTool,
fixture_formats=[StateFixture, BlockchainFixture],
):
"""Geth's implementation of the fixture consumer."""

During consume direct execution, this new class would receive the EOF fixture path in this endpoint:

def consume_fixture(
self,
fixture_format: FixtureFormat,
fixture_path: Path,
fixture_name: Optional[str] = None,
debug_output_path: Optional[Path] = None,
):

The main difference between Geth's class and evmone's class is that evmone-eofparse is a different binary than the one used in the transition tool (evmnone-t8n).

This comment describes partially what this entails:

https://github.com/ethereum/execution-spec-tests/pull/935/files#r1907541619

Tasks

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions