Skip to content

v5.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 10 Oct 09:07
· 6 commits to main since this release

🇯🇵 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