Vítkov (v4.1.0)
Summary
EESTs Vítkov release predominantly adds improved coverage for EIP-2537 following the recent BLS12 consensus bug.
Minor changes to the fixture format are additionally included that could be breaking for some clients!
💥 Breaking Changes
The following changes may be potentially breaking (all clients were tested with these changes with the state test format, but not the blockchain test format):
- 💥 Add a
yParityfield (that duplicatesv) to transaction authorization tuples in fixture formats to have fields that conform to EIP-7702 spec, resolves erigontech/erigon#14073 (#1286). - 💥 Rename the recently introduced
_infofieldfixture_formattofixture-formatfor consistency #1295.
🛠️ Framework
- 🔀 Make
BaseFixtureable to parse any fixture format such asBlockchainFixture(#1210). - ✨ Blockchain and Blockchain-Engine tests now have a marker to specify that they were generated from a state test, which can be used with
-m blockchain_test_from_state_testand-m blockchain_test_engine_from_state_testrespectively (#1220). - ✨ Blockchain and Blockchain-Engine tests that were generated from a state test now have
blockchain_test_from_state_testorblockchain_test_engine_from_state_testas part of their test IDs (#1220). - 🔀 Refactor
ethereum_test_fixturesandethereum_clisto createFixtureConsumerandFixtureConsumerToolclasses which abstract away the consumption process used byconsume direct(#935). - ✨ Allow
consume direct --collect-onlywithout specifying a fixture consumer binary on the command-line (#1237). - ✨ Allow
fill --collect-onlywithout the need for existence of the folder `./fixtures' - ✨ Report the (resolved) fixture tarball URL and local fixture cache directory when
consume's--inputflag is a release spec or URL (#1239). - ✨ EOF Container validation tests (
eof_test) now generate container deployment state tests, by wrapping the EOF container in an init-container and sending a deploy transaction (#783, #1233). - ✨ Use regexes for Hive's
--sim.limitargument and don't use xdist if--sim.parallelism==1in theeest/consume-rlpandeest/consume-rlpsimulators (#1220). - 🐞 Register generated test markers, e.g.,
blockchain_test_from_state_test, to prevent test session warnings (#1238, #1245). - 🐞 Zero-pad
Environmentfields passed tot8ntools as required byevmone-t8n(#1268).
📋 Misc
- ✨ Add a guide to the docs for porting tests from
ethereum/teststo EEST (#1165). - ✨ Improve the
uv run eest make testinteractive CLI to enable creation of new test modules within existing test sub-folders (#1241). - ✨ Update
mypyto latest release>=1.15.0,<1.16(#1209). - 🐞 Bug fix for filling with EELS for certain Python versions due to an issue with CPython (#1231).
- 🐞 Fix HTML site deployment due to the site's index file exceeding Github's max file size limit (#1292).
- ✨ Update the build fixtures workflow to use multiple self-hosted runners, remove
pectra-devnet-6feature build (#1296).
🧪 Test Cases
- ✨ Add gas cost of delegation access in CALL opcode (#1208).
- ✨ Add EIP-7698 failed nonce and short data tests (#1211).
- ✨ Add EIP-2537 additional pairing precompile tests cases, and then update all BLS12 test vectors (#1275, #1289).
New Contributors
Full Changelog: v4.0.0...v4.1.0