From ca142eb29a41c801c9875fdb725d337c059d0b21 Mon Sep 17 00:00:00 2001 From: weiihann Date: Wed, 15 Jan 2025 18:09:42 +0800 Subject: [PATCH] trie/proof: remove dupl check in resolving nodes --- trie/proof.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/trie/proof.go b/trie/proof.go index 2e527348bf..8022196e61 100644 --- a/trie/proof.go +++ b/trie/proof.go @@ -518,7 +518,7 @@ func VerifyRangeProof(rootHash common.Hash, firstKey []byte, keys [][]byte, valu } return false, nil } - var lastKey = keys[len(keys)-1] + lastKey := keys[len(keys)-1] // Special case, there is only one element and two edge keys are same. // In this case, we can't construct two edge paths. So handle it here. if len(keys) == 1 && bytes.Equal(firstKey, lastKey) { @@ -592,15 +592,9 @@ func get(tn node, key []byte, skipResolved bool) ([]byte, node) { } tn = n.Val key = key[len(n.Key):] - if !skipResolved { - return key, tn - } case *fullNode: tn = n.Children[key[0]] key = key[1:] - if !skipResolved { - return key, tn - } case hashNode: return key, n case nil: @@ -610,5 +604,9 @@ func get(tn node, key []byte, skipResolved bool) ([]byte, node) { default: panic(fmt.Sprintf("%T: invalid node: %v", tn, tn)) } + + if !skipResolved { + return key, tn + } } }