Skip to content

Conversation

bhartnett
Copy link
Contributor

@bhartnett bhartnett commented Aug 12, 2025

This PR adds a multiproof function to the aristo proofs module which returns all the proof trie nodes for an entire block (account and storage trie nodes) together in a single list. Doing so enables sharing the node cache with all the account proof and storage proof calls in order to further improve performance.

By using the table parameter which maps account paths (address hash) to a list of storage paths (slot hashes), when building the witness, only a single loop through is needed (linear time with respect to the number of witness keys) instead of a double loop (quadratic time) which results in rather bad performance when building the witnesses during the DOS block ranges where some blocks generate more than 50K witness keys.

@bhartnett bhartnett enabled auto-merge (squash) August 13, 2025 15:31
@bhartnett bhartnett merged commit 2ea90ab into master Aug 13, 2025
26 checks passed
@bhartnett bhartnett deleted the stateless-multiproofs branch August 13, 2025 15:56
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.

1 participant