diff options
author | Felix Lange <fjl@twurst.com> | 2017-04-18 19:37:10 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2017-04-25 08:14:31 +0800 |
commit | a13e920af01692cb07a520cda688f1cc5b5469dd (patch) | |
tree | 2321214787947ca0b4f302225aa2950617dd5cdd /core/state/dump.go | |
parent | f958d7d4822d257598ae36fc3b381040faa5bb30 (diff) | |
download | go-tangerine-a13e920af01692cb07a520cda688f1cc5b5469dd.tar.gz go-tangerine-a13e920af01692cb07a520cda688f1cc5b5469dd.tar.zst go-tangerine-a13e920af01692cb07a520cda688f1cc5b5469dd.zip |
trie: clean up iterator constructors
Make it so each iterator has exactly one public constructor:
- NodeIterators can be created through a method.
- Iterators can be created through NewIterator on any NodeIterator.
Diffstat (limited to 'core/state/dump.go')
-rw-r--r-- | core/state/dump.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/state/dump.go b/core/state/dump.go index 8294d61b9..6338ddf88 100644 --- a/core/state/dump.go +++ b/core/state/dump.go @@ -22,6 +22,7 @@ import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/rlp" + "github.com/ethereum/go-ethereum/trie" ) type DumpAccount struct { @@ -44,7 +45,7 @@ func (self *StateDB) RawDump() Dump { Accounts: make(map[string]DumpAccount), } - it := self.trie.Iterator() + it := trie.NewIterator(self.trie.NodeIterator()) for it.Next() { addr := self.trie.GetKey(it.Key) var data Account @@ -61,7 +62,7 @@ func (self *StateDB) RawDump() Dump { Code: common.Bytes2Hex(obj.Code(self.db)), Storage: make(map[string]string), } - storageIt := obj.getTrie(self.db).Iterator() + storageIt := trie.NewIterator(obj.getTrie(self.db).NodeIterator()) for storageIt.Next() { account.Storage[common.Bytes2Hex(self.trie.GetKey(storageIt.Key))] = common.Bytes2Hex(storageIt.Value) } |