From f6d9fa992dd35339e6c2c3c4a14ba63eee27848c Mon Sep 17 00:00:00 2001 From: Roy Crihfield Date: Wed, 23 Feb 2022 18:40:37 +0800 Subject: [PATCH] comments --- iterator.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iterator.go b/iterator.go index 2212e00..7f4ec61 100644 --- a/iterator.go +++ b/iterator.go @@ -24,6 +24,7 @@ import ( "github.com/ethereum/go-ethereum/trie" ) +// PrefixBoundIterator is a NodeIterator constrained by a lower & upper bound (as hex path prefixes) type PrefixBoundIterator struct { trie.NodeIterator EndPath []byte @@ -45,7 +46,7 @@ func (it *PrefixBoundIterator) Next(descend bool) bool { return (it.EndPath == nil) || bytes.Compare(it.Path(), it.EndPath) < 0 } -// Iterator with an upper bound value (hex path prefix) +// NewPrefixBoundIterator returns a PrefixBoundIterator with bounds [from, to) func NewPrefixBoundIterator(tree state.Trie, from, to []byte) *PrefixBoundIterator { it := tree.NodeIterator(nil) for it.Next(true) { @@ -56,6 +57,7 @@ func NewPrefixBoundIterator(tree state.Trie, from, to []byte) *PrefixBoundIterat return &PrefixBoundIterator{NodeIterator: it, EndPath: to} } +// generates nibble slice prefixes at uniform intervals type prefixGenerator struct { current []byte step byte