Skip to content

Conversation

@marioevz
Copy link
Member

@marioevz marioevz commented Aug 7, 2024

πŸ—’οΈ Description

Introduces new tests and changes according to the latest EIP-7702 spec.

Requires #762

πŸ”— Related Issues

Fixes #703

βœ… 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.
  • Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
  • Tests: A PR with removal of converted JSON/YML tests from ethereum/tests have been opened.
  • Tests: Included the type and version of evm t8n tool used to locally execute test cases: e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

pdobacz added a commit to ipsilon/evmone that referenced this pull request Aug 8, 2024
@marioevz marioevz force-pushed the eip-7702-devnet-3 branch 3 times, most recently from 70ab500 to f374fa0 Compare August 13, 2024 23:42
@marioevz marioevz marked this pull request as ready for review August 13, 2024 23:43
@marioevz marioevz added the type:test Type: Add/refactor fw unit tests; no fw or el client test case changes label Aug 13, 2024
@marioevz marioevz marked this pull request as draft August 13, 2024 23:43
gumb0 pushed a commit to ipsilon/evmone that referenced this pull request Aug 21, 2024
@marioevz marioevz force-pushed the eip-7702-devnet-3 branch 2 times, most recently from 396d51c to 136083a Compare August 27, 2024 19:35
@marioevz marioevz marked this pull request as ready for review August 27, 2024 19:52
gumb0 pushed a commit to ipsilon/evmone that referenced this pull request Aug 28, 2024
gumb0 pushed a commit to ipsilon/evmone that referenced this pull request Aug 29, 2024
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 there's a few minor things below - I'm still grappling with tests. I wanted to get visibility of the parameter combinations (for test_gas_costs, in particular) and hacked something together quickly to visualize and sort the values by parameter. Here's the result, I hope it can help you to notice any missing coverage/combinations. If you think this is useful I can make a PR for the pytest plugin πŸ˜† that generated this.

Open the root folder in your browser πŸ™‚
7702-parametrized-cases-html.tar.gz

This could be added to the doc flow to help document test cases.

@marioevz
Copy link
Member Author

marioevz commented Sep 3, 2024

@marioevz there's a few minor things below - I'm still grappling with tests. I wanted to get visibility of the parameter combinations (for test_gas_costs, in particular) and hacked something together quickly to visualize and sort the values by parameter. Here's the result, I hope it can help you to notice any missing coverage/combinations. If you think this is useful I can make a PR for the pytest plugin πŸ˜† that generated this.

Open the root folder in your browser πŸ™‚ 7702-parametrized-cases-html.tar.gz

This could be added to the doc flow to help document test cases.

This is awesome, it looks really nice this way, do you think we could automatically generate this for the docs?

Copy link
Collaborator

@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!

Happy for us to merge this if we wanted to create a new release. I plan to review this again properly but if there is anything else we can always add subsequent PRs.

@marioevz marioevz merged commit 59379a8 into main Sep 5, 2024
@marioevz marioevz deleted the eip-7702-devnet-3 branch September 5, 2024 20:21
@marioevz marioevz mentioned this pull request Apr 14, 2025
5 tasks
kclowes pushed a commit to kclowes/execution-spec-tests that referenced this pull request Oct 20, 2025
* feat(base_types): Add `keccak256` to `Bytes`

* fix(fw): EIP-7702 types update

* fix(types): nonce list logic removal

* feat(types): Calculate signer if v,r,s parameters are in the Auth Tuple

* feat(types/filler): Allow delegation on `pre.fund_eoa`

* feat(types): Add `Literal["Self"]` as option to delegation in `pre.fund_eoa`

* fix(plugins/filler): fix delegation check

* fix(plugins/filler): delegation designation in case of `None`

* feat(evm_transition_tool): `SetCodeDelegation` to transaction receipt

* new(tests): EIP-7702 spec update

* new(tests): EIP-7702 add all invalid auth tuples test

* new(tests): EIP-7702 add multiple valid, self-sponsored test

* fix(tests): EIP-7702 enable skipped tests

* refactor(tests): EIP-7702 rename folder and files

* new(tests): EIP-7702, some failing tests

* fix(tests): EIP-7702 gas test

* fix(tests): EIP-7702 move gas tests

* new(tests): EIP-7702 intrinsic gas tests

* fix(fixtures): tests

* fix(tests): import

* simplify parametrization

* refactor(tests): EIP-7702 gas tests

* new(tests): EIP-7702 more gas tests

* new(tests): EIP-7702 parametrize and add new tests

* fix(tests): EIP-7702 add check

* feat(exceptions): Add two type-4 tx exceptions

* new(tests): EIP-7702 tests

* fix(tests): Update tests according to spec changes

ethereum/EIPs#8795

* fix(tests): EIP-7702, use `named_parametrize`

* fix(tests): EIP-7702 test not following spec

* fix(tests): EIP-7702 test authorization list nonce/gas

* fix(tests): EIP-7702 fix test_ext_code_on_chain_delegating_set_code

* fix(tests): EIP-7702 fix test_set_code_all_invalid_authorization_tuples

* fix(tests): EIP-7702 fix test_set_code_invalid_authorization_tuple

* fix(tests): EIP-7702 system-contract tests

* fix(tests): EIP-7702 tox

* refactor(tests): EIP-7702 `parametrize_with_defaults` rename

* fix(tests): EIP-7702 test_ext_code_on_set_code

* fix(tests): EIP-7702 test_ext_code_on_set_code

* fix(tests): EIP-7702 test_set_code_to_sstore

* fix(tests): EIP-7702, add delegation designation to all expected outputs

* fix(tests): EIP-7702, add delegation designation

* new(tests): EIP-7702, add eoa tx after set code tests

* refactor(tests): EIP-7702 update for parametrize_with_defaults -> extend_with_defaults (ethereum#758)

* fix(tests): Marker

* fix(tests): EIP-7702: pre-existing delegation gas tests

* fix(tests): EIP-7702: fix warm costs expectations

* fix(tests): EIP-7702 re-authorization tests

* fix(tests): EIP-7702 warm account logic revamp

* fix(tests): EIP-7702 test fixes

* feat(tests): EIP-7702 add self-delegation warm cost test

* fix(test): EIP-7702, test_call_into_self_delegating_set_code

* fix(tests): EIP-7702 use kwargs on `with_all` markers

* docs: Changelog

* fix(tests): EIP-7702 return code expectations

* fix(tests): EIP-7702 invalid tx on invalid signatures

* Apply suggestions from code review

Co-authored-by: danceratopz <[email protected]>

---------

Co-authored-by: danceratopz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:test Type: Add/refactor fw unit tests; no fw or el client test case changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remaining 7702 Tests for Devnet-3

6 participants