๐ฏ๐ต 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
andexecute-*
from their respective ini files to the sharedpytest_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 asflaky
with 3 retires due to client sync inconsistencies (#2252). - โจ Add
consume direct
usingevmone-statetest
andevmone-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 inconsume 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
- @holgerd77 made their first contribution in #2184
- @CPerezz made their first contribution in #2193
- @Khushi-Chaudhary04 made their first contribution in #2214
- @SDartayet made their first contribution in #2226
- @akafle01 made their first contribution in #1714
- @qu0b made their first contribution in #2257
Full Changelog: v5.0.0...v5.3.0