trie: fixup iterator

This commit is contained in:
Felix Lange 2016-09-27 11:22:43 +02:00
parent ae9c64061f
commit 4f2b554b35

View file

@ -127,11 +127,11 @@ func (it *NodeIterator) step() error {
if len(it.stack) == 0 {
// Initialize the iterator if we've just started.
root := it.trie.Hash()
it.stack = append(it.stack, &nodeIteratorState{
hash: root,
node: it.trie.root,
child: -1,
})
state := &nodeIteratorState{node: it.trie.root, child: -1}
if root != emptyRoot {
state.hash = root
}
it.stack = append(it.stack, state)
} else {
// Continue iterating at the previous node otherwise.
it.stack = it.stack[:len(it.stack)-1]