Releases: ethereum/execution-spec-tests
[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
[email protected]
Adds tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_contract_creating_set_code_transaction
which is the contract creating type-4 transaction test.
Important Notes
- EIP-2935 slow tests (256+ blocks) have been skipped.
Included EIPs
- 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
Missing EIPs
[email protected]
Important Notes
EIP-7702 breaks Prague+EOF tests at the moment, therefore this release does not contain them, but they should be expected at a later release.
What's Changed
- fix(docs): Add some more cases to EOF tracker by @gumb0 in #747
- new(tests): EOF - EIP-3540: Migrate validation tests: EIP3540/validInvalidFiller.yml by @chfast in #598
- new(tests): EOF - EIP-7620: tests for msg.depth and static flag by @pdobacz in #732
- new(tests): EOF - EIP-7069: Call Gas Testing for EXT*CALL by @shemnon in #713
- new(tests): EIP-7069 - EXTCALL with balance and other by @pdobacz in #755
- new(tests): EOF - EIP-3540: Test types with 128 inputs by @gurukamath in #749
- new(tests): EOF - EIP-3540: out of order container section by @chfast in #741
- chore: simplify python project config by @danceratopz in #764
- feat(tests): Add multiple exception support to EOF tests by @shemnon in #759
- new(tests): EOF - EIP-7620: migrate "embedded container" tests by @chfast in #763
- new(tests): EIP-5656/7692 - use new marker to EOF-ize MCOPY test (2) by @pdobacz in #754
- feat(tests): EOF - EIP-3540/EIP-4200: Move and rename oritests by @winsvega in #731
- new(tests): EOF - Tests from Fuzzing by @shemnon in #756
- feat(docs/tests): EOF: Update tracker, add unimplemented tests by @marioevz in #773
- new(tests): EOF: Validate EOF only opcodes are invalid in legacy by @shemnon in #768
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.0.9
[email protected]
Fixes to test_set_code_using_invalid_signatures
where the test expected an invalid transaction in some cases where only an invalid authorization list element was expected (but a valid transaction): e70d831
Important Notes
- EIP-2935 slow tests (256+ blocks) have been skipped.
Included EIPs
- 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
Missing EIPs
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.4.0
[email protected]
This is a hotfix release that contains no new tests but fixes an issue during filling where the system account (0xfffffffffffffffffffffffffffffffffffffffe
) had its nonce increased in blockchain tests.
Important Notes
- EIP-2935 slow tests (256+ blocks) have been skipped.
Included EIPs
- 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
Missing EIPs
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.3.0
[email protected]
Third release for Pectra Devnet-3, filled again using EthereumJS transition tool implementation which includes fixes to the state root expected in state tests (thanks again @jochem-brouwer!).
Fixes
- In previous release, in the state tests, the system contracts' addresses were touched even though the contracts were not present in the pre-alloc.
Important Notes
- EIP-2935 slow tests (256+ blocks) have been skipped.
Included EIPs
- 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
Missing EIPs
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.2.0
[email protected]
This release is equivalent to [email protected] but filled with the latest geth gballet/kaustinen-with-shapella
branch aligned with devnet-7.
From the VIC no 23 testing slides, 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 EIP-6800 tests (~23) for a good first check,
fixtures/verkle/eip6800_genesis_verkle_tree/
within the extracted the fixture genesis tar. - Run "backfilled" tests (~300), all tests excluding
fixtures/verkle/*
. - Wait for the next release to run additional tests after framework witness assertions verify the remaining test cases.
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v0.0.3
🌪️ Fixture Format Changes
All fixtures now contain a block witness although currently without the parent state root.
class Witness(CamelModel):
state_diff: StateDiff
verkle_proof: VerkleProof
Client test consumers can now utilize this to compare there computed block witness against the witness contained within the fixtures (computed from geth's t8n).
For more information on our witness definition please adhere to src/ethereum_test_types/verkle/types.py
.
Additionally the post state is removed. Future fixture releases will contain the post state as a VKT.
🐘 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
Contains an improvement to the initial set of transition tests.
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.
The next release will contain conversion tests with some stride enabled to dynamically validate the MPT conversion.
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]
Second release for Pectra Devnet-3, filled again using EthereumJS transition tool implementation which included gas accounting fixes (thanks again @jochem-brouwer!).
Fixes
- Added re-authorization gas costs tests, i.e. existing set-code in account receives a new delegation (c27e010)
- Fixed warm account costs to consider cost to access the delegated-to account (59ec505)
Important Notes
- EIP-2935 slow tests (256+ blocks) have been skipped.
Included EIPs
- 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
Missing EIPs
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.1.0
[email protected]
First release for Pectra Devnet-3, filled using EthereumJS transition tool implementation (thanks @jochem-brouwer!).
Important Notes
- EIP-2537 tests have been skipped for this release but will be available in a later release.
- EIP-2935 slow tests (256+ blocks) have been skipped too.
Included EIPs
EIP-2537: Precompile for BLS12-381 curve operationsTESTS SKIPPED ONLY FOR THIS RELEASE, EIP STILL ENABLED IN DEVNET-3- 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
Missing EIPs
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]