mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 18:32:23 +00:00
Fix iterator from t8n (#434)
* various verkle iterator fixes * remove unused nodeToDBKey
This commit is contained in:
parent
8cbdd335ae
commit
5e02d05155
2 changed files with 5 additions and 10 deletions
|
|
@ -231,11 +231,6 @@ func (trie *VerkleTrie) Hash() common.Hash {
|
|||
return trie.root.Commit().Bytes()
|
||||
}
|
||||
|
||||
func nodeToDBKey(n verkle.VerkleNode) []byte {
|
||||
ret := n.Commitment().Bytes()
|
||||
return ret[:]
|
||||
}
|
||||
|
||||
// Commit writes all nodes to the trie's memory database, tracking the internal
|
||||
// and external (for account tries) references.
|
||||
func (trie *VerkleTrie) Commit(_ bool) (common.Hash, *trienode.NodeSet, error) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import (
|
|||
|
||||
type verkleNodeIteratorState struct {
|
||||
Node verkle.VerkleNode
|
||||
Index int
|
||||
Index int // points to _next_ value
|
||||
}
|
||||
|
||||
type verkleNodeIterator struct {
|
||||
|
|
@ -97,9 +97,9 @@ func (it *verkleNodeIterator) Next(descend bool) bool {
|
|||
it.current = it.stack[len(it.stack)-1].Node
|
||||
it.stack[len(it.stack)-1].Index++
|
||||
return it.Next(descend)
|
||||
case *verkle.HashedNode:
|
||||
case verkle.HashedNode:
|
||||
// resolve the node
|
||||
data, err := it.trie.db.diskdb.Get(nodeToDBKey(node))
|
||||
data, err := it.trie.FlatdbNodeResolver(it.Path())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
@ -112,7 +112,7 @@ func (it *verkleNodeIterator) Next(descend bool) bool {
|
|||
it.stack[len(it.stack)-1].Node = it.current
|
||||
parent := &it.stack[len(it.stack)-2]
|
||||
parent.Node.(*verkle.InternalNode).SetChild(parent.Index, it.current)
|
||||
return true
|
||||
return it.Next(true)
|
||||
default:
|
||||
panic("invalid node type")
|
||||
}
|
||||
|
|
@ -147,7 +147,7 @@ func (it *verkleNodeIterator) Path() []byte {
|
|||
var path []byte
|
||||
for i, state := range it.stack {
|
||||
// skip the last byte
|
||||
if i <= len(it.stack)-1 {
|
||||
if i >= len(it.stack)-1 {
|
||||
break
|
||||
}
|
||||
path = append(path, byte(state.Index))
|
||||
|
|
|
|||
Loading…
Reference in a new issue