mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
core/state/pruner: use Hash instead of Hasher interface
This commit is contained in:
parent
c22a1d98c7
commit
c09e4c5699
1 changed files with 6 additions and 11 deletions
|
|
@ -30,14 +30,9 @@ import (
|
||||||
// stateBloomHasher is a wrapper around a byte blob to satisfy the interface API
|
// stateBloomHasher is a wrapper around a byte blob to satisfy the interface API
|
||||||
// requirements of the bloom library used. It's used to convert a trie hash or
|
// requirements of the bloom library used. It's used to convert a trie hash or
|
||||||
// contract code hash into a 64 bit mini hash.
|
// contract code hash into a 64 bit mini hash.
|
||||||
type stateBloomHasher []byte
|
func stateBloomHasher(f []byte) uint64 {
|
||||||
|
return binary.BigEndian.Uint64(f)
|
||||||
func (f stateBloomHasher) Write(p []byte) (n int, err error) { panic("not implemented") }
|
}
|
||||||
func (f stateBloomHasher) Sum(b []byte) []byte { panic("not implemented") }
|
|
||||||
func (f stateBloomHasher) Reset() { panic("not implemented") }
|
|
||||||
func (f stateBloomHasher) BlockSize() int { panic("not implemented") }
|
|
||||||
func (f stateBloomHasher) Size() int { return 8 }
|
|
||||||
func (f stateBloomHasher) Sum64() uint64 { return binary.BigEndian.Uint64(f) }
|
|
||||||
|
|
||||||
// stateBloom is a bloom filter used during the state conversion(snapshot->state).
|
// stateBloom is a bloom filter used during the state conversion(snapshot->state).
|
||||||
// The keys of all generated entries will be recorded here so that in the pruning
|
// The keys of all generated entries will be recorded here so that in the pruning
|
||||||
|
|
@ -113,10 +108,10 @@ func (bloom *stateBloom) Put(key []byte, value []byte) error {
|
||||||
if !isCode {
|
if !isCode {
|
||||||
return errors.New("invalid entry")
|
return errors.New("invalid entry")
|
||||||
}
|
}
|
||||||
bloom.bloom.Add(stateBloomHasher(codeKey))
|
bloom.bloom.AddHash(stateBloomHasher(codeKey))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
bloom.bloom.Add(stateBloomHasher(key))
|
bloom.bloom.AddHash(stateBloomHasher(key))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -128,5 +123,5 @@ func (bloom *stateBloom) Delete(key []byte) error { panic("not supported") }
|
||||||
// - If it says yes, the key may be contained
|
// - If it says yes, the key may be contained
|
||||||
// - If it says no, the key is definitely not contained.
|
// - If it says no, the key is definitely not contained.
|
||||||
func (bloom *stateBloom) Contain(key []byte) bool {
|
func (bloom *stateBloom) Contain(key []byte) bool {
|
||||||
return bloom.bloom.Contains(stateBloomHasher(key))
|
return bloom.bloom.ContainsHash(stateBloomHasher(key))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue