From 9b48300c30abd193698321f5c9f3f5fb1afcadf3 Mon Sep 17 00:00:00 2001 From: Daniel Olshansky Date: Mon, 3 Jun 2024 18:20:10 -0700 Subject: [PATCH] Added helpers --- smt.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/smt.go b/smt.go index 897707c..8bac991 100644 --- a/smt.go +++ b/smt.go @@ -558,7 +558,12 @@ func (smt *SMT) resolveNode(digest []byte) (trieNode, error) { return nil, err } - // Return the appropriate node type based on the first byte of the data + return smt.parseTrieNode(data, digest) +} + +// parseTrieNode returns a trieNode (inner, leaf, or extension) based on the +// first byte of the data. +func (smt *SMT) parseTrieNode(data, digest []byte) (trieNode, error) { if isLeafNode(data) { path, valueHash := smt.parseLeafNode(data) return &leafNode{ @@ -603,7 +608,12 @@ func (smt *SMT) resolveSumNode(digest []byte) (trieNode, error) { return nil, err } - // Return the appropriate node type based on the first byte of the data + return smt.parseSumTrieNode(data, digest) +} + +// parseTrieNode returns a trieNode (inner, leaf, or extension) based on the +// first byte of the data. +func (smt *SMT) parseSumTrieNode(data, digest []byte) (trieNode, error) { if isLeafNode(data) { path, valueHash := smt.parseLeafNode(data) return &leafNode{