execution-spec-tests icon indicating copy to clipboard operation
execution-spec-tests copied to clipboard

feat(fw,tests): Pectra Devnet-4 updates

Open marioevz opened this issue 5 months ago • 1 comments

🗒️ Description

  • [x] https://github.com/ethereum/EIPs/pull/8889
  • [x] https://github.com/ethereum/EIPs/pull/8890
  • [x] https://github.com/lightclient/sys-asm/pull/20
  • [ ] https://github.com/ethereum/EIPs/pull/8845
  • [ ] https://github.com/ethereum/EIPs/pull/8929
  • [ ] https://github.com/ethereum/EIPs/pull/8948
  • [x] https://github.com/ethereum/EIPs/pull/8857
  • [x] https://github.com/ethereum/EIPs/pull/8856
  • [x] https://github.com/ethereum/EIPs/pull/8855
  • [x] https://github.com/ethereum/EIPs/pull/8854
  • [x] https://github.com/ethereum/execution-apis/pull/591
  • [ ] https://github.com/ethereum/EIPs/pull/8934 (Also updates EIP-7251)
  • [ ] https://github.com/ethereum/EIPs/pull/8938

Extra New Tests

  • [x] 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 https://github.com/ethereum/execution-apis/pull/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.

marioevz avatar Sep 24 '24 00:09 marioevz