Conversation
Extract the reviewed Base tooling support from #16224. Keep the native execution, transaction, receipt, and tracing integration for Cast, Forge, Chisel, and scripts. Defer native Base Anvil execution and its dependent tests. Retain Anvil's existing OP routing and historical hardfork selection for Base-chain forks, with explicit rejection of unsupported native Base execution. Co-authored-by: Mablr <59505383+mablr@users.noreply.github.com>
mablr
requested review from
0xrusowsky,
DaniPopes,
grandizzy and
mattsse
as code owners
September 11, 2026 16:55
Contributor
✅ Changelog foundThe deterministic check will validate the changed entry. |
Allow existing Ethereum, Optimism, and Tempo execution to consume Base fork state without switching engines. Keep the Base execution restriction directional and preserve the existing Monad boundary.
mattsse
requested changes
Sep 12, 2026
mattsse
left a comment
Member
There was a problem hiding this comment.
Two execution issues to address before merging. AI-assisted review.
Reject EIP-8130 targets and prefix transactions before ordinary replay accesses their projected transaction fields. Resolve the Base activation admin from the fork source chain, including nested execution, while retaining the configured chain for local execution.
mattsse
requested changes
Sep 12, 2026
mattsse
left a comment
Member
There was a problem hiding this comment.
The two previous execution issues are addressed. The Cast trace test fixture still needs updating for the source-chain fix. AI-assisted review.
Set the RPC fixture chain ID to 8453 so the source-chain activation admin lookup returns the mainnet admin expected by the Cast trace test. Anvil remains a standard RPC state fixture.
figtracer
reviewed
Sep 14, 2026
Remove the obsolete Base compatibility exemption now that network selection uses network = base. The unsupported base boolean must trigger an unknown-key warning instead of being silently ignored.
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.
This PR extracts the reviewed Base tooling support from #16224, originally implemented by @lukasrosario, with my follow-up fixes and refinements. It lets the tooling integration land while native Base support in Anvil remains deferred.
Base becomes a feature-gated execution family across Forge, Cast, Chisel, and scripts, connecting network discovery, configuration, hardfork selection, and dispatch to the native Base EVM. Local execution, forks, replay, and nested EVMs use the selected Base context. Trace decoding adds precompile labels, ABIs, and B20 decoding scoped to the appropriate network and upgrade.
Shared transaction and receipt types gain Base deposit and EIP-8130 support, with EIP-8130 execution gated on Zenith. Conversions preserve phases, account changes, authorizations, receipt phase statuses, and log timestamps. Ambiguous request fields retain existing Ethereum/Tempo routing, and signed EIP-8130 submission requires a raw envelope. Cast gains the corresponding transaction and receipt formatting.
Dependencies use foundry-rs/base, pinned to
2aa8bc46e6b4272ef3bf0905e1a5660ee2525e72frommablr/revm-43for compatibility with Foundry’s REVM 43 workspace. Dependency declarations, the lockfile, anddeny.tomlconsistently reference this fork.Anvil retains its existing Optimism routing and historical hardfork selection for Base-chain forks. Only compatibility changes for the expanded shared types and explicit rejection of unsupported native Base execution are included. Native Base node support and its dependent tests remain in #16224; the reviewed tooling implementation and standalone replay coverage are preserved.