Skip to content

Conversation

marioevz
Copy link
Member

@marioevz marioevz commented Apr 15, 2025

🗒️ Description

Updates EELS to fill tests using forks/prague branch.

Currently, some of the tests in main fail to fill because PR ethereum/execution-specs#1191 is required, and once merged, all tests should fill properly.

This PR also includes a workaround for this issue: ethereum/execution-specs#1194

The workaround should be removed once the issue is resolved.

🔗 Related Issues

None

✅ Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.

@marioevz marioevz force-pushed the update-eels-forks-prague branch from 8aaf45b to bf942c1 Compare April 15, 2025 20:21
@marioevz
Copy link
Member Author

Note: We should "Rebase and merge" instead of the usual "Squash and merge" in order to preserve both commits and be able to git revert bf942c11678fb68534419e18efd22ef5d58ff1e6 once ethereum/execution-specs#1194 is fixed.

Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this, especially the test!

LGTM, holding off approval until ethereum/execution-specs#1191 is merged.

@danceratopz danceratopz added scope:fill Scope: fill command fork:prague Prague hardfork labels Apr 16, 2025
@danceratopz danceratopz changed the title eels-resolver: Update to use forks/prague. chore(eels): update to use forks/prague Apr 16, 2025
Copy link
Contributor

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Required PR is merged so we can proceed with this

@danceratopz danceratopz changed the title chore(eels): update to use forks/prague chore(deps): bump execution-specs to v1.17.0 for fill and unit tests May 19, 2025
Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@marioevz, thanks for adding the PR. I took the liberty of bumping the version used here to the recent execution-specs release that includes Prague: https://github.com/ethereum/execution-specs/releases/tag/v1.17.0 - hope you don't mind.

@@ -15,6 +15,7 @@ Test fixtures for use by clients are available for each release on the [Github r
- ✨ The `static_filler` plug-in now has support for static state tests (from [GeneralStateTests](https://github.com/ethereum/tests/tree/develop/src/GeneralStateTestsFiller)) ([#1362](https://github.com/ethereum/execution-spec-tests/pull/1362)).
- ✨ Introduce `pytest.mark.exception_test` to mark tests that contain an invalid transaction or block ([#1436](https://github.com/ethereum/execution-spec-tests/pull/1436)).
- 🐞 Fix `DeprecationWarning: Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.` by avoiding use `itertools` object in the spec `BaseTest` pydantic model ([#1414](https://github.com/ethereum/execution-spec-tests/pull/1414)).
- 🔀 Filling EELS branch updated to `forks/prague` ([#1454](https://github.com/ethereum/execution-spec-tests/pull/1454)).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 🔀 Filling EELS branch updated to `forks/prague` ([#1454](https://github.com/ethereum/execution-spec-tests/pull/1454)).
- 🔀 Update EELS filling branch to [ethereum/[email protected]](https://github.com/ethereum/execution-specs/releases/tag/v1.17.0) ([#1454](https://github.com/ethereum/execution-spec-tests/pull/1454)).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will update in the rebase.

Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The EELS release doesn't fill Prague 😭

tests/prague/eip7702_set_code_tx/test_gas.py:822: in test_gas_cost
    state_test(
src/pytest_plugins/filler/filler.py:750: in __init__
    fixture = self.generate(
src/ethereum_test_specs/state.py:252: in generate
    return self.make_state_test_fixture(t8n, fork, eips)
src/ethereum_test_specs/state.py:185: in make_state_test_fixture
    transition_tool_output = t8n.evaluate(
src/ethereum_clis/transition_tool.py:536: in evaluate
    return self._evaluate_server(
src/ethereum_clis/transition_tool.py:357: in _evaluate_server
    output: TransitionToolOutput = TransitionToolOutput.model_validate(
E   pydantic_core._pydantic_core.ValidationError: 1 validation error for TransitionToolOutput
E   result.receipts
E     Input should be a valid list [type=list_type, input_value={'transactionHash': '0x11...0000000000', 'logs': []}, input_type=dict]
E       For further information visit https://errors.pydantic.dev/2.10/v/list_type

@danceratopz
Copy link
Member

danceratopz commented May 19, 2025

The EELS release doesn't fill Prague 😭

-> ethereum/execution-specs#1233

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fork:prague Prague hardfork scope:fill Scope: fill command type:chore Type: Chore
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants