Releases: ethereum/execution-spec-tests
[email protected]
EESTs Fusaka Devnet Interop release v1.1.0. Thanks to @fselmo & @jochem-brouwer for pushing through with tests for EIP-7934 & EIP-7939.
Summary
Builds on top of the last Fusaka Devnet-Interop release. Includes test cases for EIP-7951, EIP-7934, EIP-7939 and updated test cases for EIP-7883 following its recent spec change.
Included EIPs
The list below links the specific commit versions of the EIPs included in devnet-interop and in this release:
- EIP-7823: Set upper bounds for MODEXP ✋
- EIP-7883: ModExp Gas Cost Increase ✋
- EIP-7918: Blob base fee bounded by execution cost ✋
- EIP-7825: Transaction Gas Limit Cap ✋
- EIP-7951: Precompile for secp256r1 Curve Support ✋
- EIP-7934: RLP Execution Block Size Limit 🆕
- EIP-7939: Count leading zeros (CLZ) opcode 🆕
Emoji Key
- ✋ - No change since last release
- 🆕 - Brand new EIP tests added
- 🆙 - Existing EIP tests updated
[email protected]
EESTs Fusaka Devnet Interop release v1.0.0. Note this does not contain any tests for EIP-7934 or EIP-7939 yet.
Summary
Builds on top of the last Fusaka Devnet-2 release. Includes test cases for EIP-7951 and updated test cases for EIP-7883 following its recent spec change.
The next release will include test cases for EIP-7934 (block rlp size limit) and EIP-7939 (count leading zeros opcode).
Included EIPs
The list below links the specific commit versions of the EIPs included in devnet-interop and in this release:
- EIP-7823: Set upper bounds for MODEXP ✋
- EIP-7883: ModExp Gas Cost Increase 🆙
- EIP-7918: Blob base fee bounded by execution cost ✋
- EIP-7825: Transaction Gas Limit Cap ✋
- EIP-7951: Precompile for secp256r1 Curve Support ✋
Emoji Key
- ✋ - No change since last release
- 🆕 - Brand new EIP tests added
- 🆙 - Existing EIP tests updated
[email protected]
First iteration of the EEST Fusaka Devnet-2 release targeted for 23rd June 2025. Note this does not contain any tests for EIP-7934 yet. More test cases will be added for each EIP within the following releases.
Summary
Builds on top of the last Fusaka Devnet-1 release and includes test cases for EIP-7951 (thanks to our new intern @LouisTsai-Csie).
The next release will include test cases for EIP-7934 and any potential bug fixes from this release.
Included EIPs
The list below links the specific commit versions of the EIPs included in devnet-2 and in this release:
- EIP-7823: Set upper bounds for MODEXP ✋
- EIP-7883: ModExp Gas Cost Increase ✋
- EIP-7918: Blob base fee bounded by execution cost ✋
- EIP-7825: Transaction Gas Limit Cap ✋
- EIP-7951: Precompile for secp256r1 Curve Support 🆕
Emoji Key
- ✋ - No change since last release
- 🆕 - Brand new EIP tests added
- 🆙 - Existing EIP tests updated
[email protected]
First iteration of the EEST Fusaka Devnet-1 release. More test cases will be added for each EIP within the following releases.
Summary
Additional test cases are added to EIP-7883 & EIP-7823 following the devnet-0 release, including re-filled EIP-189 tests for Osaka. Both new EIPs: EIP-7918 & EIP-7825 are included. Some EIP-4844 tests are re-parameterized by block base fee per gas to include additional coverage for EIP-7918 regarding an active reserve price mechanism.
The next release will include additional edge cases for EIP-7918 & EIP-7825.
Included EIPs
The list below links the specific commit versions of the EIPs included in devnet-1 and in this release:
[email protected]
This is an auxiliary release of the now DFI'd EOF EIP-7692 to include all the changes made to reflect the eof-devnet-1 spec and also the new pseudo-fork EOFv1
. There are no further releases of EOF tests planned
What's Changed (Only EOF-relevant changes listed)
- new(tests): Add EOF validation tests for stack underflow by @chfast in #1331
- fix(tests): Change EOFCREATE new address and related gas calculations by @gumb0 in #1265
- fix(tests): EOF - Align EOFCREATE args with EXT*CALL by @pdobacz in #1274
- new(tests): EOF validation CALLF stack overflow by @hugo-dc in #1329
- fix(tests): assign ids to parametrized EOF code sections by @chfast in #1427
- fix(tests): EOF - Change kind_data from 0x04 to 0xff by @pdobacz in #1339
- fix(tests): EOF - Change container section size to 4 bytes by @gumb0 in #1403
- new(tests): EOF validation non constant stack by @hugo-dc in #1417
- new(tests): EIP-7873 TXCREATE execution tests - 1st batch by @pdobacz in #1413
- feat(fw,tests): change EOF to stack_height_increase by @chfast in #1393
- feat(fw): add max_stack_increase to EOF Section.Code by @chfast in #1446
- refactor(tests): change RJUMP validation tests to max_stack_increase by @chfast in #1448
- refactor(tests): Rename stack height constants by @chfast in #1447
- refactor(tests): change CALLF tests to max_stack_increase by @chfast in #1455
- new(tests): add EOF execution at maximum stack height by @chfast in #1443
- new(tests): EOF validation stack_range maximally broad by @hugo-dc in #1457
- fix(tests,fw): Remove EIP-7698 EOF creation txs by @pdobacz in #1451
- fix(tests): Create transaction sarting with
0xef
is a valid tx, but should fail execution by @shemnon in #1480 - fix(tests): EIP-7620 - make CREATE/CREATE2 restrictions specific by @pdobacz in #1475
- new(tests): EIP-7873 expand legacy creation tx tests by @pdobacz in #1489
- new(tests): EIP-7620/7873 - ensure no account gets created on failure by @pdobacz in #1486
- new(tests): extend RJUMP* to self tests with variadic stack by @chfast in #1462
- fix(tests): Update legacy creation tx rules by @pdobacz in #1492
- new(tests): TXCREATE executes validation by @pdobacz in #1476
- chore(all): move eof from osaka to unscheduled by @spencer-tb in #1507
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v3.0.0
[email protected]
First EEST release for Fusaka Devnet-0.
Execution Layer EIP List for fusaka-devnet-0
The list below links the specific commit versions of the EIPs included in devnet-0 and in this release:
[email protected]
This release introduces a suite of tests specifically designed for benchmarking and stress-testing zkVMs. These tests provide high coverage of opcodes and precompiles, focusing on worst-case and challenging scenarios for block proving, which can also help discover mispriced opcodes for zkVMs.
Highlight of tests added in this release:
- Arithmetic Opcodes: specifically crafted for efficient gas computational load.
- JUMP/JUMPDEST scenarios: tests various jump and potential JUMPDEST analysis triggers.
- Stateful opcode accesses: Covers warm, cold, and (non-)absent account and storage access scenarios.
- KECCAK opcode flooding
- Precompile Coverage: Includes all existing precompiles active in Pectra (further enhancements are still possible).
- Bytecode witness attacks: worst-case related to non-chunkified code.
All tests are generic to the provided gas limit (configurable via --block-gas-limit
). This allows for easy generation of future test scenarios with arbitrary gas limits.
To run these tests effectively in your zkVM, we highly recommend using the zkevm-benchmark-workload tool (currently experimental). This tool streamlines the process by:
- Running tests in their standard fixture format.
- Automatically generating the necessary witness data.
- Executing blocks statelessly across multiple zkVM implementations.
This suite aims to provide robust tools for evaluating and hardening zkVM performance and security. It already contains a script to download and run the latest test release.
v4.5.0 (Hradčany)
🇨🇿 Summary
EESTs Hradčany is our final release for Prague following a successful Pectra!
💥 Breaking Change
EOF removed from Osaka
Following "Interop Testing Call 34" and the procedural EIPs PR the decision to remove EOF from Osaka was made.
To accommodate EOF testing for the interim within EEST, its tests have migrated to a new tests/unscheduled
folder. This folder will now contain tests for features that are not yet CFI'd in any fork. When EOF is CFI'd for a fork in the future, all tests will be moved from unscheduled to the respective future fork folder.
A new fork EOFv1
has additionally been created to fill and consume EOF related fixtures. Client tests fillers such as evmone
(and client consumers) will now need to use this fork name.
🛠️ Framework
- ✨ Add an empty account function for usage within fill and execute (#1482).
📋 Misc
- ✨ Engine API updates for Osaka, add
get_blobs
rpc method (#1510). - ✨ The EIP Version checker has been moved from
fill
andexecute
to it's own command-line toolcheck_eip_versions
that gets ran daily as a Github Action (#1537). - 🔀 Add new
tests/unscheduled
folder, move EOF from Osaka to unscheduled, addEOFv1
fork name for EOF tests (#1507). - ✨ CI features now contain an optional field to skip them from EEST full releases,
zkevm
and EOF features are now feature only (#1596). - 🐞 Don't attempt to install
solc
viasolc-select
on ARM (official Linux ARM builds ofsolc
are not available at the time of writing, cf ethereum/solidity#11351) and add a version sanity check (#1556).
🧪 Test Cases
- 🔀 Automatically apply the
zkevm
marker to all tests under./tests/zkevm/
and./tests/prague/eip2537_bls_12_381_precompiles/
via conftest configuration (#1534). - ✨ Port calldataload and calldatasize tests (#1236).
New Contributors
- @kevaundray made their first contribution in #1514
- @ArunRawat404 made their first contribution in #1482
- @flcl42 made their first contribution in #1542
Full Changelog: v4.4.0...v4.5.0
[email protected]
[email protected]
What's Changed
- feat(ci): add zkevm as a release fixture feature by @marioevz in #1503
- chore(tests): add zkevm marker for bls g1 add tests by @kevaundray in #1514
New Contributors
- @kevaundray made their first contribution in #1514
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]