Skip to content

[r3.7] execution: system calls do not touch SystemAddress, drop its BAL filter - #24583

Merged
taratorio merged 1 commit into
release/3.7from
cherry-pick-24504-to-release-3.7
Oct 5, 2026
Merged

taratorio merged 1 commit into
release/3.7from
cherry-pick-24504-to-release-3.7

Conversation

@yperbasis

@yperbasis yperbasis commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

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.

…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)
@yperbasis yperbasis added this to the 3.7.2 milestone Oct 5, 2026
@taratorio
taratorio added this pull request to the merge queue Oct 5, 2026
Merged via the queue into release/3.7 with commit 46f165e Oct 5, 2026
141 checks passed
@taratorio
taratorio deleted the cherry-pick-24504-to-release-3.7 branch October 5, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants