diff options
author | Felix Lange <fjl@twurst.com> | 2016-09-26 02:49:02 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2016-09-28 16:27:28 +0800 |
commit | cd791bd855b55b95afc8a5c8f56b8bf67863d099 (patch) | |
tree | 3955fe3abf4079eee5412119043ade1b7001bb61 /trie/proof.go | |
parent | 863d166c7b0250cf2e99c8aad69578cdd144d386 (diff) | |
download | dexon-cd791bd855b55b95afc8a5c8f56b8bf67863d099.tar.gz dexon-cd791bd855b55b95afc8a5c8f56b8bf67863d099.tar.zst dexon-cd791bd855b55b95afc8a5c8f56b8bf67863d099.zip |
core, trie: replace state caches with trie journal
Diffstat (limited to 'trie/proof.go')
-rw-r--r-- | trie/proof.go | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/trie/proof.go b/trie/proof.go index 5135de047..116c13a1b 100644 --- a/trie/proof.go +++ b/trie/proof.go @@ -70,15 +70,13 @@ func (t *Trie) Prove(key []byte) []rlp.RawValue { panic(fmt.Sprintf("%T: invalid node: %v", tn, tn)) } } - if t.hasher == nil { - t.hasher = newHasher() - } + hasher := newHasher() proof := make([]rlp.RawValue, 0, len(nodes)) for i, n := range nodes { // Don't bother checking for errors here since hasher panics // if encoding doesn't work and we're not writing to any database. - n, _, _ = t.hasher.hashChildren(n, nil) - hn, _ := t.hasher.store(n, nil, false) + n, _, _ = hasher.hashChildren(n, nil) + hn, _ := hasher.store(n, nil, false) if _, ok := hn.(hashNode); ok || i == 0 { // If the node's database encoding is a hash (or is the // root node), it becomes a proof element. |