aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ethtrie/trie.go14
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)
}