Skip to content

Releases: ethereum/execution-spec-tests

[email protected]

11 Jun 23:06
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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:

Emoji Key

  • ✋ - No change since last release
  • 🆕 - Brand new EIP tests added
  • 🆙 - Existing EIP tests updated

[email protected]

10 Jun 16:26
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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:

Emoji Key

  • ✋ - No change since last release
  • 🆕 - Brand new EIP tests added
  • 🆙 - Existing EIP tests updated

[email protected]

10 Jun 15:33
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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:

Emoji Key

  • ✋ - No change since last release
  • 🆕 - Brand new EIP tests added
  • 🆙 - Existing EIP tests updated

[email protected]

05 Jun 22:48
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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]

29 May 13:10
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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]

22 May 00:46
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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]

21 May 20:50
172d6b9
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

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)

14 May 15:27
7abf18e
Compare
Choose a tag to compare

🇨🇿 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 and execute to it's own command-line tool check_eip_versions that gets ran daily as a Github Action (#1537).
  • 🔀 Add new tests/unscheduled folder, move EOF from Osaka to unscheduled, add EOFv1 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 via solc-select on ARM (official Linux ARM builds of solc 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

Full Changelog: v4.4.0...v4.5.0

[email protected]

04 May 15:03
624f60b
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

What's Changed

  • zkevm: add bytecode worst case by @jsign in #1456
  • zkevm: keccak worst-case by @jsign in #1497
  • zkevm: fix max contract size limitation in bytecode attack by @jsign in #1521

Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v0.0.2

[email protected]

30 Apr 15:30
3a70b66
Compare
Choose a tag to compare
[email protected] Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]