diff --git a/.github/workflows/tox_verify.yaml b/.github/workflows/tox_verify.yaml index 8f278d04f2f..fb0e9a783f6 100644 --- a/.github/workflows/tox_verify.yaml +++ b/.github/workflows/tox_verify.yaml @@ -102,7 +102,7 @@ jobs: uses: actions/checkout@v4 with: repository: ethereum/execution-specs - ref: 9923823367b5586228e590537d47aa9cc4c6a206 + ref: 78fb726158c69d8fa164e28f195fabf6ab59b915 path: execution-specs sparse-checkout: | src/ethereum @@ -139,7 +139,7 @@ jobs: uses: actions/checkout@v4 with: repository: ethereum/execution-specs - ref: 9923823367b5586228e590537d47aa9cc4c6a206 + ref: 78fb726158c69d8fa164e28f195fabf6ab59b915 path: execution-specs sparse-checkout: | src/ethereum diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 93713310d0a..da15477f576 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -97,6 +97,7 @@ Release tarball changes: - ✨ Fill test fixtures using EELS by default. EEST now uses the [`ethereum-specs-evm-resolver`](https://github.com/petertdavies/ethereum-spec-evm-resolver) with the EELS daemon ([#792](https://github.com/ethereum/execution-spec-tests/pull/792)). - 🔀 Move the `evm_transition_tool` package to `ethereum_clis` and derive the transition tool CL interfaces from a shared `EthereumCLI` class that can be reused for other sub-commands ([#894](https://github.com/ethereum/execution-spec-tests/pull/894)). - ✨ Pass `state_test` property to T8N tools that support it (Only EELS at the time of merge) ([#943](https://github.com/ethereum/execution-spec-tests/pull/943)). +- ✨ Turn on `--traces` for EELS + `ethereum-specs-evm-resolver` ([#1174](https://github.com/ethereum/execution-spec-tests/pull/1174)). ### 📋 Misc diff --git a/eels_resolutions.json b/eels_resolutions.json index d42c3040f1a..d071057a1e6 100644 --- a/eels_resolutions.json +++ b/eels_resolutions.json @@ -2,7 +2,7 @@ "EELSMaster": { "git_url": "https://github.com/ethereum/execution-specs.git", "branch": "master", - "commit": "9923823367b5586228e590537d47aa9cc4c6a206" + "commit": "78fb726158c69d8fa164e28f195fabf6ab59b915" }, "Frontier": { "same_as": "EELSMaster" diff --git a/pyproject.toml b/pyproject.toml index 0d355f91d98..8b6800b48aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ classifiers = [ ] dependencies = [ "click>=8.1.0,<9", - "ethereum @ git+https://github.com/ethereum/execution-specs@9923823367b5586228e590537d47aa9cc4c6a206", + "ethereum @ git+https://github.com/ethereum/execution-specs@78fb726158c69d8fa164e28f195fabf6ab59b915", "hive.py @ git+https://github.com/marioevz/hive.py", "ethereum-spec-evm-resolver @ git+https://github.com/petertdavies/ethereum-spec-evm-resolver", "setuptools", @@ -123,4 +123,4 @@ mypy_path = ["src", "$MYPY_CONFIG_FILE_DIR/stubs"] plugins = ["pydantic.mypy"] [tool.uv.sources] -ethereum = { git = "https://github.com/ethereum/execution-specs", rev = "9923823367b5586228e590537d47aa9cc4c6a206" } +ethereum = { git = "https://github.com/ethereum/execution-specs", rev = "78fb726158c69d8fa164e28f195fabf6ab59b915" } diff --git a/src/ethereum_clis/transition_tool.py b/src/ethereum_clis/transition_tool.py index 89bb85fdbcb..c8d8ce9b7ac 100644 --- a/src/ethereum_clis/transition_tool.py +++ b/src/ethereum_clis/transition_tool.py @@ -322,6 +322,11 @@ def _evaluate_server( request_data = t8n_data.get_request_data() request_data_json = request_data.model_dump(mode="json", **model_dump_config) + temp_dir = tempfile.TemporaryDirectory() + request_data_json["trace"] = self.trace + if self.trace: + request_data_json["output-basedir"] = temp_dir.name + if debug_output_path: request_info = ( f"Server URL: {self.server_url}\n\n" @@ -350,6 +355,10 @@ def _evaluate_server( output: TransitionToolOutput = TransitionToolOutput.model_validate(response_json) + if self.trace: + self.collect_traces(output.result.receipts, temp_dir, debug_output_path) + temp_dir.cleanup() + if debug_output_path: response_info = ( f"Status Code: {response.status_code}\n\n" diff --git a/uv.lock b/uv.lock index 3827e9c923d..193a7b5e605 100644 --- a/uv.lock +++ b/uv.lock @@ -477,7 +477,7 @@ wheels = [ [[package]] name = "ethereum" version = "0.1.0" -source = { git = "https://github.com/ethereum/execution-specs?rev=9923823367b5586228e590537d47aa9cc4c6a206#9923823367b5586228e590537d47aa9cc4c6a206" } +source = { git = "https://github.com/ethereum/execution-specs?rev=78fb726158c69d8fa164e28f195fabf6ab59b915#78fb726158c69d8fa164e28f195fabf6ab59b915" } dependencies = [ { name = "coincurve" }, { name = "ethereum-rlp" }, @@ -559,7 +559,7 @@ requires-dist = [ { name = "click", specifier = ">=8.1.0,<9" }, { name = "coincurve", specifier = ">=20.0.0,<21" }, { name = "colorlog", specifier = ">=6.7.0,<7" }, - { name = "ethereum", git = "https://github.com/ethereum/execution-specs?rev=9923823367b5586228e590537d47aa9cc4c6a206" }, + { name = "ethereum", git = "https://github.com/ethereum/execution-specs?rev=78fb726158c69d8fa164e28f195fabf6ab59b915" }, { name = "ethereum-rlp", specifier = ">=0.1.3,<0.2" }, { name = "ethereum-spec-evm-resolver", git = "https://github.com/petertdavies/ethereum-spec-evm-resolver" }, { name = "ethereum-types", specifier = ">=0.2.1,<0.3" },