go-ethereum/core/vm
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
..
runtime Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
testdata core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
access_list_tracer.go feat: add more data into the execution trace (#20) 2022-02-21 10:15:57 +08:00
analysis.go core/vm: faster code analysis (#23381) 2021-08-24 10:00:10 +03:00
analysis_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
common.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
contract.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
contracts.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
contracts_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go feat: disable SELFDESTRUCT opcode in l2geth (#147) 2022-08-22 14:17:57 -07:00
errors.go core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (#23853) 2021-11-11 15:00:58 +01:00
evm.go feat: change bytecode hash function from Keccak to Poseidon (#149) 2022-09-08 06:16:17 +08:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gas_table.go feat: disable SELFDESTRUCT opcode in l2geth (#147) 2022-08-22 14:17:57 -07:00
gas_table_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
gen_structlog.go refactor: optimize and improve tps for contract call. (#83) 2022-05-04 10:12:17 +08:00
instructions.go feat: disable SELFDESTRUCT opcode in l2geth (#147) 2022-08-22 14:17:57 -07:00
instructions_test.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
interface.go zktrie part1: change storage proof from per step to per block (#102) 2022-06-08 12:26:50 +08:00
interpreter.go feat: add more data into the execution trace (#20) 2022-02-21 10:15:57 +08:00
jump_table.go feat: disable SELFDESTRUCT opcode in l2geth (#147) 2022-08-22 14:17:57 -07:00
logger.go fix(trace): add more opcode handlings (#128) 2022-07-24 21:39:33 +08:00
logger_json.go refactor: optimize and improve tps for contract call. (#83) 2022-05-04 10:12:17 +08:00
logger_test.go feat: add more data into the execution trace (#20) 2022-02-21 10:15:57 +08:00
logger_trace.go fix(trace): add more opcode handlings (#128) 2022-07-24 21:39:33 +08:00
memory.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
memory_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
opcodes.go core/vm: Make INVALID a defined opcode (#118) 2022-06-22 17:18:47 +08:00
operations_acl.go feat: disable SELFDESTRUCT opcode in l2geth (#147) 2022-08-22 14:17:57 -07:00
stack.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
stack_table.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00