feat(evm): validate all revisions through Osaka - #600
Open
ECNUyhy wants to merge 16 commits into
Open
Conversation
Propagate the requested EVM revision through state-test execution and restore fork-aware refund, precompile, coinbase-touch, and typed-transaction rules. Fail closed on unsupported revisions, preserve canonical fork aliases, register every post case uniquely, and add focused regressions for the repaired boundaries.
⚡ Performance Regression Check Results✅ Performance Check Passed (interpreter)Performance Benchmark Results (threshold: 25%)
Summary: 194 benchmarks, 0 regressions ✅ Performance Check Passed (multipass)Performance Benchmark Results (threshold: 25%)
Summary: 194 benchmarks, 0 regressions |
added 5 commits
August 20, 2026 06:01
Freeze the final Osaka stable fixture and define fail-closed, dual-engine acceptance criteria for every mainnet EVM revision from Frontier through Osaka. Refs DTVMStack#600
Organize the large Frontier-to-Osaka effort into independently testable and reversible Conventional Commits without an artificial count limit. Refs DTVMStack#600
Recognize Osaka in state fixtures, reject unknown fork names, expose Prague in the CLI, and advance default execution to the current Osaka revision. Add regressions for fail-closed fork mapping and default Osaka opcode availability. Refs DTVMStack#600
ECNUyhy
force-pushed
the
fix/evm-revision-aware-state-tests
branch
from
August 22, 2026 15:47
4e3a0bc to
688cc4c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extend DTVM's revision-aware EVM boundary from Frontier-Cancun through the current Osaka revision and replace the previous name-filtered state-test check with reproducible, full-corpus conformance evidence.
The scoped claim is that DTVM supports the VM-visible execution semantics of every mainnet EVMC revision from Frontier through Osaka in interpreter and multipass modes. This is not a claim that DTVM is a full consensus, networking, or block-processing client.
Changes
EVMC_OSAKAexplicitly and fail closed on unknown fork names;fixtures_develop.tar.gzarchive by immutable URL and SHA-256;-kfiltering in both DTVM modes;libdtvmapi.sorequests an executable stack.Official fixture coverage
ethereum/execution-spec-testsv5.4.0fixtures_develop.tar.gzDTVMStack/evmone@a4a0e47aff903a47a6be133c67ad106c706fe5663e2b02d49fe903eda4fd8caca5cbf0d139c470e97e1de9a85299b1b034f97099461395b7f284c4c262d4c09fa17aab73c3816af7caaeecac4d1a3bcf3009961cEEST v5.4.0 contains 12 canonical
postlabels from Frontier through Osaka. It has no dedicated sections for Tangerine Whistle, Spurious Dragon, or pre-Petersburg Constantinople; those EVMC revisions remain covered by explicit revision-selection and historical regression tests.ConstantinopleFixis the EEST label for Petersburg.Validation
The same pinned 63,556-case corpus was executed in both modes:
Additional local gates:
libdtvmapi.soGNU stack flags:RW(not executable);git diff --check: passed.Compatibility
No EVMC ABI or public C API shape changes. Callers that omit a revision now receive Osaka semantics; callers requiring Cancun or another historical fork must pass it explicitly. Unknown textual fork names now fail instead of inheriting a default revision.
Release note