Repository navigation
[r3.7] execution: system calls do not touch SystemAddress, drop its BAL filter - #24583
Merged
Merged
Conversation
…er (#24504) Every zero-value system call touched its caller, which put SystemAddress into the block access list, and AsBlockAccessList then dropped it unless a user tx had a non-revertable access to it. That heuristic also dropped real accesses: a zero-amount withdrawal to SystemAddress and a delegation to it. By the EIP-7928 spec, being the caller of a system call is not a state access, so a system call no longer touches its caller (AuRa keeps the touch for its empty system account) and SystemAddress follows the same BAL rules as any other address. IntraBlockState.SubBalance still turns a zero debit of SystemAddress into a touch on every chain. Block execution never debits SystemAddress (every caller passes a recovered sender or a contract address), so only RPC calls from 0xff..fe (eth_call, eth_simulateV1, trace_call) reach it; it is left as is and its comment corrected. Open question (Gnosis): AuRa keeps the system-call touch of SystemAddress while the BAL filter is gone, so an AuRa chain activating Amsterdam would carry SystemAddress as an access-only entry in every BAL. No AuRa chain has Amsterdam scheduled; whether Gnosis BALs should include it needs to be agreed with Nethermind. (cherry picked from commit a5c6f2d)
chfast
approved these changes
Oct 5, 2026
taratorio
approved these changes
Oct 5, 2026
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.
Cherry-pick of #24504 to release/3.7.
The upstream BAL and zero-value system-call regressions fail on the release base and pass with this backport. Resolved a blank-line conflict in removed BAL-filter tests; the code changes match upstream.