Releases: ethereum/execution-spec-tests
[email protected]
This is a new minor release, front-loading more static gas checks ahead of necessitating any state access within opcode logic. This also includes the block access list expectation for the test that revealed this. Along with this change is a change to the hive configuration on the testing side so that named forks are removed from the blobSchedule and BPOs are not set which could cause some clients to use those blob parameters instead.
What's Changed
[email protected]
This is a minor release building on [email protected] fixing issues found with tracking the address in a contract init collision case. These changes also make sure these existing init collision tests include a BAL expectation so they cannot fill if these conditions are not met.
What's Changed
- Track address of contract init collision (commit)
[email protected]
Bloatnet Benchmark
- Additional cases for SLOAD/SSTORE operations
General
- Folder restructuring for compute benchmark cases
- Doc string update for benchmark cases.
Execute Command
- FIx benchmark test wrapper integration for
executemode
Genesis File
Attached.
[email protected]
This is a minor release, fixing issues found in the specs from running the previous [email protected] release. This release adds targeted test cases for each of these fixes, as the previous release did.
What's Changed
- Default code pre to b"" in tracker, skip setting empty code commit
- Fix BAL cross-transaction tracking and nonce dedup issues commit
- Move destroy_account before BAL normalization to read updated values commit
- Check delegation access gas before reading it commit
- Check code per auth; filter pre at transaction frame level commit
- Use child frames for better tracking of system transactions commit
[email protected]
This is a minor release, fixing known issues in the specs from the previous [email protected] release and adding targeted test cases for each of the fixes.
What's Changed
- Improved tracking for code changes, fixing targeted cases where zero changes were recorded (commit)
- Use child call frame for create message call which reverts to record only reads if the child message reverts (commit)
- Normalize transaction changes while still within transaction frame, before merging to block frame (commit)
- Static check on SSTORE early, and fail hard, before any reads can be recorded (commit)
- Track storage writes more appropriately in state tracker wrt BAL index (commit)
- Clean up spec design, fix revert on a contract creation case, add targeted test (commit)
[email protected]
What's Changed
This is a patch release, with no added test cases following [email protected]. This release is based off the update to the specs here and aims to fix most of the known issues with the `v1.4.01 release in order to keep development moving forward.
- Fixes an issue with duplicate slot entry changes recorded in some test vectors ethereum/execution-specs#1743.
- Tracks gas more appropriately in call contexts by only tracking an accessed address if we have enough gas for access early on.
[email protected]
Benchmark Tests
Bloatnet Benchmark
- Introduced the
Bloatnetbenchmark test. - Added initial test cases for storage operation.
- Added support for the
bloatnetmarker (-m stateful).
General
- Introduced a test phase manager to separate the execution and testing phases.
- Refactored to use the newly added benchmark test wrapper (partial support for the Osaka fork).
- Added support for
evmoneopcode comparison commands. - Relaxed gas validation rules for benchmark tests.
Execute Command
- Updated to refresh the sender nonce to the latest value before execution.
New Tests
- Added EIP-7702 benchmark tests.
Genesis File
Attached.
[email protected]
This new minor version for Block-Level Access List (bal) tests fills 99.9% of tests from previous forks to include block access lists. The only previous tests not filled with BALs are the EIP-7934 block rlp limit tests.
Block-Level Access List Targeted Updates
There were also updates to the existing specifications and BAL-targeted tests in the Amsterdam fork since the release of [email protected] release.
- Updates to coinbase zero-value cases in specs and tests from on discussions in EIP-7928 breakouts ethereum/execution-specs/commit/f9a0146e...
- New test cases for coinbase, account access, storage, and withdrawals ethereum/execution-specs/commit/55486426...
- Fixes to zero-value withdrawals: ethereum/execution-specs/commit/41f88a85..
- Updates to early, upfront checks for selfdestruct and create ethereum/execution-specs/commis/20e189f8...
Contributions to specs and tests from @nerolation, @raxhvl, @fselmo
[email protected]
This is a minor release for Block-Level Access List tests following [email protected]. The changes here are mostly updates to test vectors that were flagged as not producing the correct vectors. Updates were made to the specs (EELS) for tracking opcode targets properly as well as implicit SLOAD within SSTORE.
The test_bal_sstore_and_oog test was expanded, hence a minor and not patch release, to include the boundaries with EIP-2200 stipend as a threshold for including reads. Since slot load does not happen if there is not enough gas for the stipend, if OOG occurs before this threshold there are no reads recorded.
What's Changed Related to Block-Level Access Lists
- 📄 docs: EIP-7928 BAL Remove redundant test by @raxhvl in #2292 (docs only)
- 📄 docs: EIP-7928 BAL coinbase test cases by @raxhvl in #2294 (docs only)
- fix(tests): Fix test expectations for BAL oog tests by @fselmo in #2293
- fix(tests): Fix and add cases for BALs tests for SSTORE OOG conditions by @fselmo in #2297
Full Changelog: https://github.com/ethereum/execution-spec-tests/compare/[email protected]@v1.3.0
Contributions from @jwasinger, @nerolation, @raxhvl, @fselmo