This commit is contained in:
allen 2025-09-28 09:39:10 -04:00
parent 15f6d24a9b
commit 0d72bdf614

View file

@ -19,6 +19,7 @@ package trie
import (
"errors"
"fmt"
"slices"
"sync"
"github.com/ethereum/go-ethereum/common"
@ -551,12 +552,9 @@ func (s *Sync) children(req *nodeRequest, object node) ([]*nodeRequest, error) {
if hasTerm(key) {
key = key[:len(key)-1]
}
path := make([]byte, len(req.path)+len(key))
copy(path, req.path)
copy(path[len(req.path):], key)
children = []childNode{{
node: node.Val,
path: path,
path: slices.Concat(req.path, key),
}}
// Mark all internal nodes between shortNode and its **in disk**
// child as invalid. This is essential in the case of path mode
@ -596,12 +594,9 @@ func (s *Sync) children(req *nodeRequest, object node) ([]*nodeRequest, error) {
case *fullNode:
for i := 0; i < 17; i++ {
if node.Children[i] != nil {
path := make([]byte, len(req.path)+1)
copy(path, req.path)
path[len(req.path)] = byte(i)
children = append(children, childNode{
node: node.Children[i],
path: path,
path: append(slices.Clone(req.path), byte(i)),
})
}
}