diff options
author | zelig <viktor.tron@gmail.com> | 2014-07-03 22:08:13 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2014-07-03 22:08:13 +0800 |
commit | de2da4fd19b53a541ffbddfa4360ceabef14f1a9 (patch) | |
tree | e1895a115645ae46b33ed33f5fcc148a1cd1a288 /ethtrie | |
parent | 198e5eeab9e2a7c359c12cdd5c8782dc56ae54ec (diff) | |
parent | 5d6713920625b82df2b55728b2cbb9f7f3df2025 (diff) | |
download | go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.tar go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.tar.gz go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.tar.bz2 go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.tar.lz go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.tar.xz go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.tar.zst go-tangerine-de2da4fd19b53a541ffbddfa4360ceabef14f1a9.zip |
Merge branch 'develop' of github.com:ethereum/eth-go into feature/clientid
Diffstat (limited to 'ethtrie')
-rw-r--r-- | ethtrie/trie.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ethtrie/trie.go b/ethtrie/trie.go index 194c98006..38c78e7f4 100644 --- a/ethtrie/trie.go +++ b/ethtrie/trie.go @@ -1,6 +1,7 @@ package ethtrie import ( + "bytes" "fmt" "github.com/ethereum/eth-go/ethcrypto" "github.com/ethereum/eth-go/ethutil" @@ -8,6 +9,19 @@ import ( "sync" ) +func ParanoiaCheck(t1 *Trie) (bool, *Trie) { + t2 := NewTrie(ethutil.Config.Db, "") + + t1.NewIterator().Each(func(key string, v *ethutil.Value) { + t2.Update(key, v.Str()) + }) + + a := ethutil.NewValue(t2.Root).Bytes() + b := ethutil.NewValue(t1.Root).Bytes() + + return bytes.Compare(a, b) == 0, t2 +} + func (s *Cache) Len() int { return len(s.nodes) } |