Skip to content

Conversation

@marioevz
Copy link
Member

@marioevz marioevz commented Sep 24, 2024

🗒️ Description

Extra New Tests

  • EIP-7685: Invalid request type in block
  • Add tests for 7002 and 7251 system contracts execution pre-fork.
  • Add deploy delegation-like contract test

Breaking Changes

T8N Interface

  • result object (returned by the transition tool) fields deposit_requests, withdrawal_requests and consolidation_requests are deprecated and substituted by field requests which contains a list of hex strings (due to engine: Make execution requests a sidecar, take 2 execution-apis#591), where each element represents the output of the requests contract (requests_data).
  • result object field requests_root has been renamed to requests_hash, and the value of this field needs to be updated to be calculated as sha256(sha256(requests_0) ++ sha256(requests_1) ++ ...), where requests_0 = request_type_0 ++ request_data_0

Blockchain Fixtures Changes

  • blockHeader.requests_root field has been renamed to requests_hash in the blockchain_test fixture type.
  • FixtureBlockBase and FixtureExecutionPayload fields deposit_requests, withdrawal_requests and consolidation_requests are replaced by a single field requests, containing a list of hex strings, where each element represents the bytes of a flattened request removed.
  • Fourth parameter has been added to FixtureEngineNewPayload.params which represents the flattened requests.

🔗 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.
  • 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.

@jochem-brouwer
Copy link
Member

jochem-brouwer commented Oct 10, 2024

I do not see this PR listed:

ethereum/EIPs#8938

This might seem like a no-op but this strictly checks that the nonce of authority is less than 2^64 - 1 (as opposed to less-than-or-equal). The reason is that if you bump the nonce if it is 2^64 - 1 of authority, it will not fit in an uint64.

@marioevz marioevz marked this pull request as ready for review October 11, 2024 01:16
@marioevz marioevz force-pushed the devnet-4-updates branch 2 times, most recently from f49210a to f5799c8 Compare October 14, 2024 23:53
danceratopz

This comment was marked as off-topic.

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! I'm happy with this. I've spent a lot of today review it to copy pasta some items for 7742

@marioevz marioevz changed the title feat(fw,tests): Pectra Devnet-4 updates feat(fw,tests): EIP-6110, EIP-7002, EIP-7251, EIP-7702: Pectra Devnet-4 updates Oct 28, 2024
@marioevz marioevz merged commit db60338 into main Oct 28, 2024
5 checks passed
@marioevz marioevz deleted the devnet-4-updates branch October 28, 2024 18:25
kclowes pushed a commit to kclowes/execution-spec-tests that referenced this pull request Oct 20, 2025
…-4 updates (ethereum#832)

* fix(forks): Update 7002, 7251 contracts

* feat(forks): Add 7685 methods

* fix(fw): Remove requests from block body, add as parameters for new payload

* refactor(tests): Refactor requests usages, add more 7685 tests

* feat(tests): EIP-7702, #8929 changes - Incomplete

* Update tests/prague/eip7702_set_code_tx/spec.py

Co-authored-by: Jochem Brouwer <[email protected]>

* feat(exceptions): Add invalid authorization format exception

* new(tests): EIP 7702: chain id/nonce overflow tests

* new(tests): EIP 7702: delegation clearing test

* new(tests): EIP 7702: delegation clearing on failure test

* new(tests): EIP 7702: fixup

* new(tests): EIP 7702: test deployting a delegation-like contract

* fix(tests): EIP 7702: remove `test_set_code_to_zero_address`

* new(tests): EIP 7702: add `test_signature_s_out_of_range`

* fix(forks): EIP-7002,7251 contracts

* new(tests): EIP-7002: withdrawal request during fork

* fix(tests): EIP-7002: fixup

* fix(tests): EIP-7002: fixup

* new(tests): EIP-7251: consolidation requests during fork

* fix(tests): tox

* github: Add devnet-4 configs

* fix(github): feature devnet-4

* fix(tests): EIP-6110 conftest

* fix(github): feature

* fix(specs): Propagate `block.requests` to the Engine API params

* fix(tests): Fix override requests comparison for empty list

* fix(tox): whitelist

* fix(tests): EIP-7702: note in `test_tx_validity_nonce`

* new(tests): EIP-7702: Add invalid `v` (27, 28) for auth tuple test

* chore(hive): update hive client config file in test summary

* fix(plugins/execute): Requests

* fix(rpc): Support `engine_getPayloadV4`

* fix(plugins/execute): Support `engine_getPayloadV4`

* fix(tests): EIP-7702: test id

* fix(tests): EIP-7702: execute marks

---------

Co-authored-by: Jochem Brouwer <[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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants