Skip to content

execution: fix Glamsterdam BAL edge cases - #22873

Draft
yperbasis wants to merge 1 commit into
yperbasis/versioned-empty-account-clearingfrom
yperbasis/glamsterdam-bal-correctness
Draft

execution: fix Glamsterdam BAL edge cases#22873
yperbasis wants to merge 1 commit into
yperbasis/versioned-empty-account-clearingfrom
yperbasis/glamsterdam-bal-correctness

Conversation

@yperbasis

Copy link
Copy Markdown
Member

Stacked on #22768.

Summary

  • align EIP-7928 block access lists with the latest Glamsterdam rules for zero rewards, zero-value withdrawals, and genuine SYSTEM_ADDRESS fee-recipient access
  • make speculative self-destruct reads wait for in-progress dependencies and preserve the first observation for validation
  • add serial, parallel, AuRa, merge-finalization, and versioned-read regressions

Testing

  • go test ./execution/state -count=1
  • go test ./execution/engineapi -run TestEngineApi(EmptyCoinbaseTipped|ZeroAmountWithdrawal|EmptyAccountClearingConsistency) -count=1
  • go test ./execution/protocol/rules/... -count=1
  • go test ./execution/stagedsync -run TestCalcFees|TestFinalize -count=1
  • 100 iterations of the parallel empty-account reproducer with GOMAXPROCS=2 and GOMAXPROCS=8
  • make test-short
  • make lint, twice
  • make erigon integration

Skip zero rewards, record zero withdrawals, and retain genuine system-address coinbase access. Preserve self-destruct read dependencies across speculative execution so empty-account clearing revalidates correctly.
@yperbasis yperbasis added the Glamsterdam https://eips.ethereum.org/EIPS/eip-7773 label Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Glamsterdam https://eips.ethereum.org/EIPS/eip-7773

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant