go-ethereum/trie
Péter Garamvölgyi 304af60f50
feat: change bytecode hash function from Keccak to Poseidon (#149)
* 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>
2022-09-08 06:16:17 +08:00
..
zkproof fix: add the mutation of coinbase address under clique mode (#126) 2022-07-21 16:00:50 +08:00
committer.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
database.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
database_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
database_types.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
encoding.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
encoding_test.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
errors.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
hasher.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
iterator.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
iterator_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
node.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
node_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
proof.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
proof_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
secure_trie.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
secure_trie_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
stacktrie.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
stacktrie_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
sync.go feat: change bytecode hash function from Keccak to Poseidon (#149) 2022-09-08 06:16:17 +08:00
sync_bloom.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
sync_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
trie.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
trie_test.go feat: change bytecode hash function from Keccak to Poseidon (#149) 2022-09-08 06:16:17 +08:00
zk_trie.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
zk_trie_database.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
zk_trie_impl.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
zk_trie_impl_test.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
zk_trie_node.go unify byte order in zktrie node's fields being stored (#133) 2022-07-28 21:32:42 +08:00
zk_trie_proof.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
zk_trie_proof_test.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00
zk_trie_test.go zktrie part2: add zktrie; allow switch trie type by config; (#113) 2022-06-27 11:17:02 +08:00