fix(eip-7778): use separate accumulators for receipt and block gas#33765
Closed
qu0b wants to merge 1 commit intoethereum:bal-devnet-2from
Closed
fix(eip-7778): use separate accumulators for receipt and block gas#33765qu0b wants to merge 1 commit intoethereum:bal-devnet-2from
qu0b wants to merge 1 commit intoethereum:bal-devnet-2from
Conversation
6e0ba55 to
1509dd2
Compare
4257551 to
7051429
Compare
The parallel state processor was using receipt.GasUsed (pre-refund, MaxUsedGas for Amsterdam) for both CumulativeGasUsed and block gas. This caused receipt root mismatches because CumulativeGasUsed must be post-refund. The fix: - cumulativeGasUsed: accumulates receipt.CumulativeGasUsed (post-refund from execTx) for proper receipt CumulativeGasUsed - blockGasUsed: accumulates receipt.GasUsed (pre-refund for Amsterdam) for block header GasUsed and gas limit validation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7051429 to
aec81c6
Compare
gballet
requested changes
Feb 5, 2026
Member
gballet
left a comment
There was a problem hiding this comment.
please read the coding guidelines
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
Fixes EIP-7778 gas accounting in the parallel state processor after the rebase in 1509dd2.
The parallel processor was using
receipt.GasUsed(pre-refund,MaxUsedGasfor Amsterdam) for bothCumulativeGasUsedand block gas accounting. This causes receipt root mismatches becauseCumulativeGasUsedmust be post-refund.The Bug
In
prepareExecResult:Since
receipt.GasUsedisMaxUsedGas(pre-refund for Amsterdam),CumulativeGasUsedwas incorrectly using pre-refund gas.The Fix
Use separate accumulators:
cumulativeGasUsed: accumulatesreceipt.CumulativeGasUsed(post-refund fromexecTx)blockGasUsed: accumulatesreceipt.GasUsed(pre-refund for Amsterdam)Test plan
🤖 Generated with Claude Code