mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-18 19:00:46 +00:00
Bugfixes to trie
This commit is contained in:
parent
0cd6ec613c
commit
2992c04169
1 changed files with 3 additions and 3 deletions
6
trie.py
6
trie.py
|
|
@ -120,14 +120,14 @@ class Trie():
|
||||||
if self.debug: print 'dcn', curnode
|
if self.debug: print 'dcn', curnode
|
||||||
if len(curnode) == 2:
|
if len(curnode) == 2:
|
||||||
(k2, v2) = curnode
|
(k2, v2) = curnode
|
||||||
k2 = hexarraykey_to_bin(k2)
|
k2 = bin_to_hexarraykey(k2)
|
||||||
if key == k2:
|
if key == k2:
|
||||||
return ''
|
return ''
|
||||||
elif key[:len(k2)] == k2:
|
elif key[:len(k2)] == k2:
|
||||||
newhash = self.__delete_state(v2,key[len(k2):])
|
newhash = self.__delete_state(v2,key[len(k2):])
|
||||||
childnode = rlp.decode(self.db.get(newhash))
|
childnode = rlp.decode(self.db.get(newhash))
|
||||||
if len(childnode) == 2:
|
if len(childnode) == 2:
|
||||||
newkey = k2 + hexarraykey_to_bin(childnode[0])
|
newkey = k2 + bin_to_hexarraykey(childnode[0])
|
||||||
newnode = [ hexarraykey_to_bin(newkey), childnode[1] ]
|
newnode = [ hexarraykey_to_bin(newkey), childnode[1] ]
|
||||||
else:
|
else:
|
||||||
newnode = [ curnode[0], newhash ]
|
newnode = [ curnode[0], newhash ]
|
||||||
|
|
@ -148,7 +148,7 @@ class Trie():
|
||||||
if len(childnode) == 17:
|
if len(childnode) == 17:
|
||||||
newnode2 = [ key[0], newnode[onlynode] ]
|
newnode2 = [ key[0], newnode[onlynode] ]
|
||||||
elif len(childnode) == 2:
|
elif len(childnode) == 2:
|
||||||
newkey = [onlynode] + hexarraykey_to_bin(childnode[0])
|
newkey = [onlynode] + bin_to_hexarraykey(childnode[0])
|
||||||
newnode2 = [ hexarraykey_to_bin(newkey), childnode[1] ]
|
newnode2 = [ hexarraykey_to_bin(newkey), childnode[1] ]
|
||||||
else:
|
else:
|
||||||
newnode2 = newnode
|
newnode2 = newnode
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue