aboutsummaryrefslogtreecommitdiffstats
path: root/core/state/iterator.go
Commit message (Collapse)AuthorAgeFilesLines
* core/state: access trie through Database interface, track errors (#14589)Felix Lange2017-06-271-9/+4
| | | | | | | | | With this commit, core/state's access to the underlying key/value database is mediated through an interface. Database errors are tracked in StateDB and returned by CommitTo or the new Error method. Motivation for this change: We can remove the light client's duplicated copy of core/state. The light client now supports node iteration, so tracing and storage enumeration can work with the light client (not implemented in this commit).
* trie: add start key to NodeIterator constructorsFelix Lange2017-04-251-2/+2
| | | | | | | | | The 'step' method is split into two parts, 'peek' and 'push'. peek returns the next state but doesn't make it current. The end of iteration was previously tracked by setting 'trie' to nil. End of iteration is now tracked using the 'iteratorEnd' error, which is slightly cleaner and requires less code.
* trie: clean up iterator constructorsFelix Lange2017-04-251-1/+1
| | | | | | | 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.
* trie: add difference iterator (#3637)Nick Johnson2017-02-231-17/+16
| | | | | This PR implements a differenceIterator, which allows iterating over trie nodes that exist in one trie but not in another. This is a prerequisite for most GC strategies, in order to find obsolete nodes.
* all: fix issues reported by honnef.co/go/simple/cmd/gosimpleFelix Lange2017-01-071-1/+1
|
* core, trie: replace state caches with trie journalFelix Lange2016-09-281-1/+1
|
* core/state, trie: switch iterator panics to error fieldsPéter Szilágyi2016-02-161-13/+30
|
* core/state, trie: node iterator reports parent hashes tooPéter Szilágyi2016-02-161-7/+13
|
* core/state, trie: surface iterator entry hashesPéter Szilágyi2016-02-161-5/+9
|
* core/state, trie: add node iterator, test state/trie sync consistencyPéter Szilágyi2016-02-161-0/+133