added MONAD_SYSTEM_ADDRESS#12585
Merged
mattsse merged 3 commits intofoundry-rs:masterfrom Nov 17, 2025
Merged
Conversation
0xrusowsky
previously approved these changes
Nov 17, 2025
Contributor
|
@Jayakumar2812 please run rustfmt to fix the CI errors |
mattsse
approved these changes
Nov 17, 2025
Sharilleed223
added a commit
to Sharilleed223/foundry
that referenced
this pull request
Nov 19, 2025
Simplify Option unwrapping patterns in gas snapshot handling: - Replace is_some() + unwrap() with if let Some pattern - Remove redundant intermediate variable binding Add missing test for MONAD_SYSTEM_ADDRESS constant: - Test coverage was incomplete after PR foundry-rs#12585 - Add assertion to verify MONAD_SYSTEM_ADDRESS constant value
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.
Motivation
Monad introduces system transactions executed at zero gas by the protocol.
These appear in the block as regular transactions but do not follow basefee rules.
Currently, Foundry tools (cast, --quick, etc.) treat these as normal transactions.
This causes:
• cast to fail with Error #1: transaction validation error: gas price is less than basefee
• --quick to fails when multiple system transactions exist in the same block, leading to nonce-too-high errors
Solution
Added MONAD_SYSTEM_ADDRESS and updated transaction handling to skip Monad system transactions, similar to how L2 system txs are ignored.
This prevents validation errors caused by 0-gas system transactions in cast.
PR Checklist