mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-12 01:41:36 +00:00
trie/bintrie: spec change, big endian hashing of slot key
This commit is contained in:
parent
8a3a309fa9
commit
ad758e1f8f
1 changed files with 3 additions and 6 deletions
|
|
@ -54,15 +54,12 @@ func getBinaryTreeKey(addr common.Address, offset []byte, overflow bool) []byte
|
|||
defer returnSha256(hasher)
|
||||
hasher.Write(zeroHash[:12])
|
||||
hasher.Write(addr[:])
|
||||
var buf [32]byte
|
||||
// key is big endian, hashed value is little endian
|
||||
for i := range offset[:31] {
|
||||
buf[i] = offset[30-i]
|
||||
}
|
||||
var buf [32]byte // TODO: make offset a 33-byte value to avoid an extra stack alloc
|
||||
copy(buf[1:32], offset[:31])
|
||||
if overflow {
|
||||
// Overflow detected when adding MAIN_STORAGE_OFFSET,
|
||||
// reporting it in the shifter 32 byte value.
|
||||
buf[31] = 1
|
||||
buf[0] = 1
|
||||
}
|
||||
hasher.Write(buf[:])
|
||||
k := hasher.Sum(nil)
|
||||
|
|
|
|||
Loading…
Reference in a new issue