-
Notifications
You must be signed in to change notification settings - Fork 187
new(tests): EIP-7702: Updates for Devnet-3 #733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
70ab500 to
f374fa0
Compare
f374fa0 to
80890f3
Compare
7933670 to
8dd0a5e
Compare
c1afe74 to
1e40a62
Compare
396d51c to
136083a
Compare
β¦end_with_defaults (#758)
e70d831 to
16978ca
Compare
danceratopz
left a comment
There was a problem hiding this 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.
Co-authored-by: danceratopz <[email protected]>
This is awesome, it looks really nice this way, do you think we could automatically generate this for the docs? |
spencer-tb
left a comment
There was a problem hiding this 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.
* 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]>
ποΈ Description
Introduces new tests and changes according to the latest EIP-7702 spec.
Requires #762
π Related Issues
Fixes #703
β Checklist
mkdocs servelocally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.