From a3437cc17c99bbfc8815fa3f10f7ae233ad1d92f Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Fri, 17 Dec 2021 18:26:52 +0100 Subject: [PATCH] call onleaf in verkle commit --- trie/verkle.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/trie/verkle.go b/trie/verkle.go index 85d8f569292e..b2561b6f6b5e 100644 --- a/trie/verkle.go +++ b/trie/verkle.go @@ -118,6 +118,16 @@ func (trie *VerkleTrie) Commit(onleaf LeafCallback) (common.Hash, int, error) { flush := make(chan verkle.VerkleNode) go func() { trie.root.(*verkle.InternalNode).Flush(func(n verkle.VerkleNode) { + if onleaf != nil { + if leaf, isLeaf := n.(*verkle.LeafNode); isLeaf { + for i := 0; i < verkle.NodeWidth; i++ { + if leaf.Value(i) != nil { + comm := n.ComputeCommitment().Bytes() + onleaf(nil, nil, leaf.Value(i), common.BytesToHash(comm[:])) + } + } + } + } flush <- n }) close(flush) @@ -135,7 +145,6 @@ func (trie *VerkleTrie) Commit(onleaf LeafCallback) (common.Hash, int, error) { } } - // XXX onleaf hasn't been called return trie.Hash(), commitCount, nil }