mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-28 07:36:44 +00:00
* feat: change bytecode hash function from Keccak to Poseidon * fix TestStateProcessorErrors * rename files * copy iden3's poseidon package to local * update poseidon hash * apply new hash in codehash * extend hash method, use actual code size as cap * prune keccak(nil) for empty code * update empty code hash references to Poseidon * add TestPoseidonCodeHash * use keccak for empty code hash * go mod tidy * goimports * use Poseidon code hash in state and sync tests * run goimports * run goimports * remove unnecessary reallocation from CodeHash * goimports * move codehash API to separate module * add missing package * fix review comments * improve comments Co-authored-by: Ho Vei <noelwei@gmail.com>
16 lines
296 B
Go
16 lines
296 B
Go
package codehash
|
|
|
|
import (
|
|
"github.com/scroll-tech/go-ethereum/common"
|
|
"github.com/scroll-tech/go-ethereum/crypto/poseidon"
|
|
)
|
|
|
|
var EmptyCodeHash common.Hash
|
|
|
|
func CodeHash(code []byte) (h common.Hash) {
|
|
return poseidon.CodeHash(code)
|
|
}
|
|
|
|
func init() {
|
|
EmptyCodeHash = poseidon.CodeHash(nil)
|
|
}
|