fix(forge): disable synthetic Tempo fees - #16218
Closed
mattsse wants to merge 1 commit into
Closed
Conversation
Synthetic script and test transactions validate with a zero gas price before the cheatcode inspector restores the configured value. Mark these environments as fee-free so Tempo does not attempt to collect or refund real TIP20 fees during local execution.
mattsse
requested review from
0xrusowsky,
DaniPopes,
figtracer,
grandizzy,
mablr and
stevencartavia
as code owners
August 17, 2026 11:02
Contributor
✅ Changelog foundThe deterministic check will validate the changed entry. |
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.
Forge validates synthetic script and test transactions with a zero gas price so network balances cannot block local execution, then the cheatcode inspector restores the configured gas price. Tempo observes that restored price during post-transaction fee handling and attempts to refund a fee that was never collected, causing a TIP20 insufficient-balance error during script setup.
This marks synthetic test environments with
disable_fee_chargewhile preserving the restoredtx.gaspricesemantics visible to Solidity. It also adds an executor invariant and a forked Tempo script regression using a non-zero gas price and maximum block gas limit, with local fee liquidity cleared so the original failure is reproduced.This PR was written with Codex, including investigation, implementation, regression tests, and PR text.