Skip to content

witness: Fix storage proofs for accounts with no storage#18988

Draft
antonis19 wants to merge 4 commits intomainfrom
fix-multiproof-non-existent-storage-key
Draft

witness: Fix storage proofs for accounts with no storage#18988
antonis19 wants to merge 4 commits intomainfrom
fix-multiproof-non-existent-storage-key

Conversation

@antonis19
Copy link
Member

@antonis19 antonis19 commented Feb 5, 2026

Problematic scenario encountered while working on #18290

When requesting proof of a non-existent storage key for an account that has no storage, the traversal does not stop after the account is encountered, and garbage data from the rows in the grid below the account are incorporated into the proof. This ultimately results in incorrect trie root hash.

This problem never surfaced with eth_getProof calls because that RPC call has logic to avoid calling GenerateWitness when the account in the account proof has an empty storage root.

The fix is to stop the traversal if len(hashedKey)>64 and storage root of account is empty.

@antonis19 antonis19 marked this pull request as draft February 6, 2026 12:15
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.

2 participants