Skip to content

Vítkov (v4.1.0)

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 11 Mar 18:00
· 6 commits to main since this release
0b7a2f1

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 yParity field (that duplicates v) 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 _info field fixture_format to fixture-format for consistency #1295.

🛠️ Framework

  • 🔀 Make BaseFixture able to parse any fixture format such as BlockchainFixture (#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_test and -m blockchain_test_engine_from_state_test respectively (#1220).
  • ✨ Blockchain and Blockchain-Engine tests that were generated from a state test now have blockchain_test_from_state_test or blockchain_test_engine_from_state_test as part of their test IDs (#1220).
  • 🔀 Refactor ethereum_test_fixtures and ethereum_clis to create FixtureConsumer and FixtureConsumerTool classes which abstract away the consumption process used by consume direct (#935).
  • ✨ Allow consume direct --collect-only without specifying a fixture consumer binary on the command-line (#1237).
  • ✨ Allow fill --collect-only without the need for existence of the folder `./fixtures'
  • ✨ Report the (resolved) fixture tarball URL and local fixture cache directory when consume's --input flag 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.limit argument and don't use xdist if --sim.parallelism==1 in the eest/consume-rlp and eest/consume-rlp simulators (#1220).
  • 🐞 Register generated test markers, e.g., blockchain_test_from_state_test, to prevent test session warnings (#1238, #1245).
  • 🐞 Zero-pad Environment fields passed to t8n tools as required by evmone-t8n (#1268).

📋 Misc

  • ✨ Add a guide to the docs for porting tests from ethereum/tests to EEST (#1165).
  • ✨ Improve the uv run eest make test interactive CLI to enable creation of new test modules within existing test sub-folders (#1241).
  • ✨ Update mypy to 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-6 feature 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