Skip to content

Fix/bal selfdestruct netzero#19528

Open
mh0lt wants to merge 18 commits intomainfrom
fix/bal-selfdestruct-netzero
Open

Fix/bal selfdestruct netzero#19528
mh0lt wants to merge 18 commits intomainfrom
fix/bal-selfdestruct-netzero

Conversation

@mh0lt
Copy link
Contributor

@mh0lt mh0lt commented Feb 27, 2026

The PR reinstates the BlockAssembler and the move of BAL processing to the versionedio code rather than as an auxiliary set of functions in the sync process.

The main advantage of this change is that it consolidates behaviour which makes agent understanding more focussed and makes the bal code re-usable in tests. This makes the codebase more streamlined avoids breaks and confusion in test analysis.

It contains fixes merged by the claude agent from #19434 as it has yet to be merged. And #19525.

This should not be merged before those PR's are merged and thier changes integrated here.

taratorio and others added 15 commits February 17, 2026 14:17
…actor

- Track selfDestructedAt access index so balance writes from later txns
  are not incorrectly skipped in BAL computation
- Fix net-zero storage write detection in BAL
- Extract BlockAssembler from builderstages/exec.go into exec package
- Add merge.NewFaker and Prague pre-deploy support in exec module tester
- Fix EIP-7702 committed flag for BAL tracking in state_object
- Integrate versionedStateReader and parallel exec determinism fixes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reorder AccountPath enum so SelfDestructPath precedes BalancePath,
ensuring updateWrite always sets the selfDestructed flag before
evaluating balance skip logic.

Add sortVersionedWrites to AsBlockAccessList to guarantee
deterministic write processing order regardless of Go map iteration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mh0lt mh0lt requested review from shohamc1, taratorio and yperbasis and removed request for AskAlexSharov, Giulio2002, shohamc1, taratorio and yperbasis February 27, 2026 21:58
@mh0lt mh0lt added the Glamsterdam https://eips.ethereum.org/EIPS/eip-7773 label Feb 27, 2026
mh0lt and others added 2 commits February 28, 2026 21:55
…nfigurationV1

- Only set BlockAccessListHash on header in builder finish stage for
  Amsterdam+ chains. Pre-Amsterdam chains with ExperimentalBAL compute
  the BAL for validation but must not embed it in the header (RLP
  positional encoding mismatch causes decode failures).
- Restore engine_exchangeTransitionConfigurationV1 method that was
  removed in commit 17e9b48. Hive engine-auth tests rely on this
  method to verify JWT authentication.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

3 participants