github ethereum/execution-spec-tests v5.3.0

latest release: bal@v1.2.0
2 days ago

๐Ÿ‡ฏ๐Ÿ‡ต Summary

EEST v5.3.0 is a follow-up from our main v5.0.0 release, with updated BPO1 and BPO2 values aligning with the testnet parameters.

This release additionally includes fixes for tests in hive, as well as new test cases for EIP-7883, EIP-7934 and critical cases for EIP-7951 (added to EEST by @chfast following a coverage review of the test suite).

๐Ÿ”‘ Key Changes

๐Ÿ› ๏ธ Framework

  • โœจ Add benchmark-specific test wrapper (benchmark_test) that supports EIP-7825 and create a benchmark code generator for common test pattern (#1945).

fill

  • โœจ Added --optimize-gas, --optimize-gas-output and --optimize-gas-post-processing flags that allow to binary search the minimum gas limit value for a transaction in a test that still yields the same test result (#1979).
  • โœจ Added --watch flag that monitors test files for changes and automatically re-runs the fill command when developing tests (#2173).
  • ๐Ÿ”€ Upgraded ckzg version to 2.1.3 or newer for correct handling of points at infinity (#2171).
  • ๐Ÿ”€ Move pytest marker registration for fill and execute-* from their respective ini files to the shared pytest_plugins.shared.execute_fill pytest plugin (#2110).

consume

  • โœจ Add retry logic to RPC requests to fix flaky connection issues in Hive (#2205).
  • ๐Ÿ› ๏ธ Mark consume sync tests as flaky with 3 retires due to client sync inconsistencies (#2252).
  • โœจ Add consume direct using evmone-statetest and evmone-blockchaintest (#2243).

๐Ÿ“‹ Misc

  • โœจ Add tighter validation for EIP-7928 model coming from t8n when filling (#2138).
  • โœจ Add flexible API for absence checks for EIP-7928 (BAL) tests (#2124).
  • ๐Ÿž Use engine_newPayloadV5 for >=Amsterdam forks in consume engine (#2170).
  • ๐Ÿ”€ Refactor EIP-7928 (BAL) absence checks into a friendlier class-based DevEx (#2175).
  • ๐Ÿž Tighten up validation for empty lists on Block-Level Access List tests (#2118).
  • โœจ Added the MemoryVariable EVM abstraction to generate more readable bytecode when there's heavy use of variables that are stored in memory (#1609).
  • ๐Ÿž Fix an issue with test_bal_block_rewards where the block base fee was wrongfully overridden (#2262).
  • โœจ Complete EIP checklist for EIP-7934 and update the checklist template to include block-level constraint checks (#2282).

๐Ÿงช Test Cases

  • โœจ Add safe EIP-6110 workaround to allow Geth/Reth to pass invalid deposit request tests even thought they are out of spec (#2177, #2233).
  • โœจ Add an EIP-7928 test case targeting the SELFDESTRUCT opcode. (#2159).
  • โœจ Add essential tests for coverage gaps in EIP-7951 (p256verify precompile) (#2179, #2203, #2215, #2216, #2217, #2218, #2221, #2229, #2230, #2237, #2238).
  • โœจ Add EIP-7928 successful and OOG single-opcode tests (#2118).
  • โœจ Add EIP-7928 tests for EIP-2930 interactions (#2167).
  • โœจ Add EIP-7928 tests for NOOP operations (#2178).
  • โœจ Add EIP-7928 tests for net-zero balance transfers (#2280).
  • โœจ Add fork transition test cases for EIP-7934 (#2282).

New Contributors

Full Changelog: v5.0.0...v5.3.0

Don't miss a new execution-spec-tests release

NewReleases is sending notifications on new releases.