Releases: ethereum/execution-spec-tests
[email protected]
What's Changed
- feat(verkle): add parent root to witness by @spencer-tb in #910
- verkle: parent state root field renaming by @jsign in #934
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v0.0.7-alpha-8
[email protected]
A reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: fixtures_verkle-genesis.tar.gz
- Run the EIP-6800 tests for a good first check,
fixtures/verkle/eip6800_genesis_verkle_tree/
within the extracted the fixture genesis tar.- Followed by EIP-4762 tests:
fixtures/verkle/eip4762_verkle_gas_witness/
. - And EIP-7709 tests:
fixtures/verkle/eip7709_blockhash_witness/
.
- Followed by EIP-4762 tests:
- Run "backfilled" tests, all previous fork tests filled for Verkle, i.e all tests excluding
fixtures/verkle/*
. - (Optional) Run the
fixtures_verkle-conversion-stride-0.tar.gz
tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.
Changes:
- The
parentStateRoot
field was added to the witness. - In backported tests, if the test is running in Overlay Tree mode, we won't generate a witness (since it doesn't make sense).
- Important note: the backported tests under
tests/cancun/eip6780_selfdestruct
might fail for some clients. This is expected since there's an ongoing discussion on how to resolve a spec issue.
🐘 Verkle Genesis Test Fixtures
Contains verkle specific test vectors from #659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.
Please use fixtures_verkle-genesis.tar.gz
!
Generating Genesis Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --fork Verkle --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
🔁 Verkle Conversion Test Fixtures - 0 Stride
These aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that only blocks after the transition update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.
Test cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.
Please use fixtures_verkle-conversion-stride-0.tar.gz
!
Generating Conversion Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --from Shanghai --until EIP6800Transition --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
[email protected]
This release is filled with a specific geth branch gballet/jsign-witness-fix
aligned with devnet-7. It contains updates and fixes for the past genesis tests due to the addition of witness checks within the testing framework. These verify the correct behavoiur of the witness for specific test cases if defined.
A reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: fixtures_verkle-genesis.tar.gz
- Run the EIP-6800 tests for a good first check,
fixtures/verkle/eip6800_genesis_verkle_tree/
within the extracted the fixture genesis tar.- Followed by EIP-4762 tests:
fixtures/verkle/eip4762_verkle_gas_witness/
. - And EIP-7709 tests:
fixtures/verkle/eip7709_blockhash_witness/
.
- Followed by EIP-4762 tests:
- Run "backfilled" tests, all previous fork tests filled for Verkle, i.e all tests excluding
fixtures/verkle/*
. - (Optional) Run the
fixtures_verkle-conversion-stride-0.tar.gz
tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.
Changes:
- A SELFDESTRUCT test targeting insufficient gas case was improved.
- There was a bug in Geth that generated incorrect filling for backported tests (i.e: Shanghai ones).
🐘 Verkle Genesis Test Fixtures
Contains verkle specific test vectors from #659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.
Please use fixtures_verkle-genesis.tar.gz
!
Generating Genesis Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --fork Verkle --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
🔁 Verkle Conversion Test Fixtures - 0 Stride
These aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that only blocks after the transition update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.
Test cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.
Please use fixtures_verkle-conversion-stride-0.tar.gz
!
Generating Conversion Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --from Shanghai --until EIP6800Transition --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
[email protected]
This release is filled with a specific geth branch gballet/jsign-witness-fix
aligned with devnet-7. It contains updates and fixes for the past genesis tests due to the addition of witness checks within the testing framework. These verify the correct behavoiur of the witness for specific test cases if defined.
A reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: fixtures_verkle-genesis.tar.gz
- Run the EIP-6800 tests for a good first check,
fixtures/verkle/eip6800_genesis_verkle_tree/
within the extracted the fixture genesis tar.- Followed by EIP-4762 tests:
fixtures/verkle/eip4762_verkle_gas_witness/
. - And EIP-7709 tests:
fixtures/verkle/eip7709_blockhash_witness/
.
- Followed by EIP-4762 tests:
- Run "backfilled" tests, all previous fork tests filled for Verkle, i.e all tests excluding
fixtures/verkle/*
. - (Optional) Run the
fixtures_verkle-conversion-stride-0.tar.gz
tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.
Changes:
- new(tests): eip-4762 *CALL with insufficient gas by @jsign in #867
- feat(verkle): add two-way exhaustive witness checks by @spencer-tb in #879
- eip4762: enable calls with insufficient gas tests again by @jsign in #880
- new(tests): eip-4762 contract creations with insufficient gas by @jsign in #873
- new(tests): eip-4762 EXTCODEHASH with insufficient gas by @jsign in #874
- new(tests): eip-4762 (EXT)CODECOPY with insufficient gas by @jsign in #868
- new(tests): eip-4762 SELFDESTRUCT with insufficient gas by @jsign in #875
- eip4762: SSTORE/SLOAD insufficient gas tests by @jsign in #884
- Filling fixes by @jsign in #885
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v0.0.4
🐘 Verkle Genesis Test Fixtures
Contains verkle specific test vectors from #659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.
Please use fixtures_verkle-genesis.tar.gz
!
Generating Genesis Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --fork Verkle --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
🔁 Verkle Conversion Test Fixtures - 0 Stride
These aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that only blocks after the transition update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.
Test cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.
Please use fixtures_verkle-conversion-stride-0.tar.gz
!
Generating Conversion Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --from Shanghai --until EIP6800Transition --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
[email protected]
First EIP-7692 release filled for the Osaka
fork.
Filled tests in tests/prague
and tests/osaka
folders.
Prague fork follows devnet-3 specification (see https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.5.0 for details).
What's Changed (Only EOF-relevant changes listed)
- fix(tests): fix TSTORE EOF variant test by @shemnon in #831
- new(tests): EOF - EIP-6206: clarify "non-returning instruction" by @pdobacz in #837
- feat(docs,tests): add links to the online test case docs in the EOF tracker by @danceratopz in #838
- refactor(tests): unify EOF return code constants by @shemnon in #834
- new(tests): EOF validation tests of stack height with double RJUMPI by @chfast in #851
- new(tests): EOF - EIP-4750: unreachable code sections by @chfast in #856
- fix(fw): EOF - Fix EXCHANGE's data_portion_length by @pdobacz in #849
- new(tests): EIP-7069 and EIP-7620 - failures and context vars by @pdobacz in #836
- feat(forks,tests): Osaka by @marioevz in #869
- fix(github): Fix
eip7692-osaka
to also filltests/prague
by @marioevz in #897
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v2.0.0
[email protected]
Second EEST pre-release for Pectra Devnet-4. Fixes a small issue on some negative tests that override the expected requests with an empty requests hash but the block does indeed contain transactions that trigger at least one request.
For a full description of the fixtures included please check [email protected] release notes.
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.0.1
Test Case Documentation: https://ethereum.github.io/execution-spec-tests/[email protected]/tests/prague/
[email protected]
First EEST pre-release for Pectra Devnet-4.
Included Specification PRs
- ethereum/EIPs#8889
- ethereum/EIPs#8890
- lightclient/sys-asm#20
- ethereum/EIPs#8845
- ethereum/EIPs#8929
- ethereum/EIPs#8948
- ethereum/EIPs#8950
- ethereum/EIPs#8857
- ethereum/EIPs#8856
- ethereum/EIPs#8855
- ethereum/EIPs#8854
- ethereum/execution-apis#591
- ethereum/EIPs#8934 (Also updates EIP-7251)
- ethereum/EIPs#8938
New Tests
- EIP-7685: Invalid request type in block
- EIP-7002, EIP-7251: Add tests for system contracts execution pre-fork.
- EIP-7702: Add deploy delegation-like contract test
Breaking Changes
Blockchain Fixtures Changes
blockHeader.requests_root
field has been renamed torequests_hash
in theblockchain_test
fixture type.FixtureBlockBase
andFixtureExecutionPayload
fieldsdeposit_requests
,withdrawal_requests
andconsolidation_requests
are replaced by a single fieldrequests
which contains a list of hex strings, each element represents the bytes of a flattened request.- Fourth parameter has been added to
FixtureEngineNewPayload.params
which represents the flattened requests.
Important Notes
- EIP-2935 slow tests (256+ blocks) have been skipped.
Included EIP Versions
- EIP-2537: Precompile for BLS12-381 curve operations
- EIP-2935: Save historical block hashes in state
- EIP-6110: Supply validator deposits on chain
- EIP-7002: Execution layer triggerable exits
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE
- EIP-7685: General purpose execution layer requests
- EIP-7702: Set EOA account code for one transaction
[email protected]
This release is filled with a specific geth branch gballet/jsign-witness-fix
aligned with devnet-7. It contains updates and fixes for the past genesis tests due to the addition of witness checks within the testing framework. These verify the correct behavoiur of the witness for specific test cases if defined.
A reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: fixtures_verkle-genesis.tar.gz
- Run the EIP-6800 tests for a good first check,
fixtures/verkle/eip6800_genesis_verkle_tree/
within the extracted the fixture genesis tar.- Followed by EIP-4762 tests:
fixtures/verkle/eip4762_verkle_gas_witness/
. - And EIP-7709 tests:
fixtures/verkle/eip7709_blockhash_witness/
.
- Followed by EIP-4762 tests:
- Run "backfilled" tests, all previous fork tests filled for Verkle, i.e all tests excluding
fixtures/verkle/*
. - (Optional) Run the
fixtures_verkle-conversion-stride-0.tar.gz
tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v0.0.4
🐘 Verkle Genesis Test Fixtures
Contains verkle specific test vectors from #659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.
Please use fixtures_verkle-genesis.tar.gz
!
Generating Genesis Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --fork Verkle --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
🔁 Verkle Conversion Test Fixtures - 0 Stride
These aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that only blocks after the transition update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.
Test cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.
Please use fixtures_verkle-conversion-stride-0.tar.gz
!
Generating Conversion Fixtures
Using the geth evm binary from this commit, fill with the following command:
fill --from Shanghai --until EIP6800Transition --evm-bin=<path_to_geth_evm> -n auto -m blockchain_test
[email protected]
Filled using Besu commit hyperledger/besu@0d63955
What's Changed
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.1.1
[email protected]
Contains several EIP-7702 Devnet-3 tests parametrized to use EOF.
What's Changed
- chore(tests): update EOF tests tracker by @chfast in #791
- new(tests): EOF: more fuzzing disovered tests by @shemnon in #789
- fix(fw): DATALOAD pushed_stack_items by @pdobacz in #784
- new(tests): EOF: tests for invalid non-returning sections by @chfast in #794
- new(tests): EOF - EIP-7069 - expand EXT*CALL gas testing by @pdobacz in #771
- fix(tests): EOF - Remove duplicate container tests, automatically check for duplicates by @marioevz in #800
- fix(fw): max stack height calculation in add by @pdobacz in #810
- new(test): EIP-7702 + EIP-1153: test that TransientStorage stays at correct address by @jochem-brouwer in #799
- new(tests): TSTORE: ensure transient storage is cleared after transactions by @jochem-brouwer in #798
- new(tests): EOF - EIP-7620: EOFCREATE referencing the same subcontainer twice by @MariusVanDerWijden in #809
- new(tests): EOF - EIP-7620: Dangling data in subcontainer test by @shemnon in #812
- fix(fw): EOF - Accept
initcode_prefix
on EOFContainer.Init
by @marioevz in #819 - fix(tests): Fix Existing EOF + EIP-7702 Tests by @marioevz in #821
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.1.0