Skip to content

Fix/zombie accounts#154

Merged
damian-orzechowski merged 10 commits into
mainfrom
fix/zombie-accounts
Sep 19, 2025
Merged

Fix/zombie accounts#154
damian-orzechowski merged 10 commits into
mainfrom
fix/zombie-accounts

Conversation

@damian-orzechowski

@damian-orzechowski damian-orzechowski commented Aug 20, 2025

Copy link
Copy Markdown
Collaborator

Fixes hash mismatch on sepolia archive at block 143, by re-creating empty (zero balance, zero nonce) accounts. This is only valid for older versions of Arbitrum and explicitly recreates legacy geth behaviour.
The change is dependant on NM change to IWorldState - NethermindEth/nethermind#9180

@damian-orzechowski damian-orzechowski marked this pull request as ready for review September 19, 2025 07:01
Copilot AI review requested due to automatic review settings September 19, 2025 07:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes a hash mismatch on Sepolia archive at block 143 by implementing proper handling of zombie accounts in Arbitrum. The fix recreates empty accounts (zero balance, zero nonce) to maintain compatibility with legacy Geth behavior for older Arbitrum versions.

  • Simplifies zombie account creation logic by using a new CreateEmptyAccountIfDeleted method
  • Removes redundant zero-amount transfer check that was preventing proper zombie account handling
  • Updates Nethermind submodule to include the new IWorldState interface method

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
ArbitrumTransactionProcessor.cs Replaces manual account existence check with new CreateEmptyAccountIfDeleted method and removes early return for zero transfers
TrackingWorldState.cs Adds implementation of CreateEmptyAccountIfDeleted method to delegate to underlying world state
src/Nethermind Updates submodule commit to include new IWorldState interface method
.gitmodules Changes Nethermind submodule branch to feature branch containing the required interface changes

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Health
Nethermind.Arbitrum 80% 57%
Summary 80% (6286 / 7896) 57% (1654 / 2911)

Minimum allowed line rate is 60%

@damian-orzechowski damian-orzechowski merged commit 2955cb6 into main Sep 19, 2025
5 checks passed
@damian-orzechowski damian-orzechowski deleted the fix/zombie-accounts branch September 19, 2025 08:59
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.

5 participants