diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-16 23:28:16 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-16 23:28:16 +0800 |
commit | d338650089d7a01983c3a853d2f917243c4de064 (patch) | |
tree | 6c7852e9e75c4ba1ff476f4c77e25adfae135e35 /trie/iterator.go | |
parent | 20b7162a6206e61a39d799a5adf84379c9c8c818 (diff) | |
download | go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.tar go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.tar.gz go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.tar.bz2 go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.tar.lz go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.tar.xz go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.tar.zst go-tangerine-d338650089d7a01983c3a853d2f917243c4de064.zip |
compilable trie (tests fail)
Diffstat (limited to 'trie/iterator.go')
-rw-r--r-- | trie/iterator.go | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/trie/iterator.go b/trie/iterator.go index fda7c6cbe..aff614f95 100644 --- a/trie/iterator.go +++ b/trie/iterator.go @@ -2,17 +2,19 @@ package trie import ( "bytes" + + "github.com/ethereum/go-ethereum/common" ) type Iterator struct { trie *Trie - Key []byte + Key common.Hash Value []byte } func NewIterator(trie *Trie) *Iterator { - return &Iterator{trie: trie, Key: nil} + return &Iterator{trie: trie} } func (self *Iterator) Next() bool { @@ -20,15 +22,15 @@ func (self *Iterator) Next() bool { defer self.trie.mu.Unlock() isIterStart := false - if self.Key == nil { + if (self.Key == common.Hash{}) { isIterStart = true - self.Key = make([]byte, 32) + //self.Key = make([]byte, 32) } - key := RemTerm(CompactHexDecode(string(self.Key))) + key := RemTerm(CompactHexDecode(self.Key.Str())) k := self.next(self.trie.root, key, isIterStart) - self.Key = []byte(DecodeCompact(k)) + self.Key = common.StringToHash(DecodeCompact(k)) return len(k) > 0 } |