core/state: unexport NodeIterator (#27239)

pull/27250/head
Guillaume Ballet 2 years ago committed by GitHub
parent d17ec0ea66
commit 7577b9c28f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      core/state/iterator.go
  2. 2
      core/state/iterator_test.go
  3. 2
      core/state/sync_test.go

@ -26,9 +26,9 @@ import (
"github.com/ethereum/go-ethereum/trie" "github.com/ethereum/go-ethereum/trie"
) )
// NodeIterator is an iterator to traverse the entire state trie post-order, // nodeIterator is an iterator to traverse the entire state trie post-order,
// including all of the contract code and contract state tries. // including all of the contract code and contract state tries.
type NodeIterator struct { type nodeIterator struct {
state *StateDB // State being iterated state *StateDB // State being iterated
stateIt trie.NodeIterator // Primary iterator for the global state trie stateIt trie.NodeIterator // Primary iterator for the global state trie
@ -44,9 +44,9 @@ type NodeIterator struct {
Error error // Failure set in case of an internal error in the iterator Error error // Failure set in case of an internal error in the iterator
} }
// NewNodeIterator creates an post-order state node iterator. // newNodeIterator creates an post-order state node iterator.
func NewNodeIterator(state *StateDB) *NodeIterator { func newNodeIterator(state *StateDB) *nodeIterator {
return &NodeIterator{ return &nodeIterator{
state: state, state: state,
} }
} }
@ -54,7 +54,7 @@ func NewNodeIterator(state *StateDB) *NodeIterator {
// Next moves the iterator to the next node, returning whether there are any // Next moves the iterator to the next node, returning whether there are any
// further nodes. In case of an internal error this method returns false and // further nodes. In case of an internal error this method returns false and
// sets the Error field to the encountered failure. // sets the Error field to the encountered failure.
func (it *NodeIterator) Next() bool { func (it *nodeIterator) Next() bool {
// If the iterator failed previously, don't do anything // If the iterator failed previously, don't do anything
if it.Error != nil { if it.Error != nil {
return false return false
@ -68,7 +68,7 @@ func (it *NodeIterator) Next() bool {
} }
// step moves the iterator to the next entry of the state trie. // step moves the iterator to the next entry of the state trie.
func (it *NodeIterator) step() error { func (it *nodeIterator) step() error {
// Abort if we reached the end of the iteration // Abort if we reached the end of the iteration
if it.state == nil { if it.state == nil {
return nil return nil
@ -131,7 +131,7 @@ func (it *NodeIterator) step() error {
// retrieve pulls and caches the current state entry the iterator is traversing. // retrieve pulls and caches the current state entry the iterator is traversing.
// The method returns whether there are any more data left for inspection. // The method returns whether there are any more data left for inspection.
func (it *NodeIterator) retrieve() bool { func (it *nodeIterator) retrieve() bool {
// Clear out any previously set values // Clear out any previously set values
it.Hash = common.Hash{} it.Hash = common.Hash{}

@ -36,7 +36,7 @@ func TestNodeIteratorCoverage(t *testing.T) {
} }
// Gather all the node hashes found by the iterator // Gather all the node hashes found by the iterator
hashes := make(map[common.Hash]struct{}) hashes := make(map[common.Hash]struct{})
for it := NewNodeIterator(state); it.Next(); { for it := newNodeIterator(state); it.Next(); {
if it.Hash != (common.Hash{}) { if it.Hash != (common.Hash{}) {
hashes[it.Hash] = struct{}{} hashes[it.Hash] = struct{}{}
} }

@ -125,7 +125,7 @@ func checkStateConsistency(db ethdb.Database, root common.Hash) error {
if err != nil { if err != nil {
return err return err
} }
it := NewNodeIterator(state) it := newNodeIterator(state)
for it.Next() { for it.Next() {
} }
return it.Error return it.Error

Loading…
Cancel
Save