go-ethereum/core/vm
lightclient 9afb18dd6f
core: add code to witness when state object is accessed (#30698)
I think the core code should generally be agnostic about the witness and
the statedb layer should determine what elements need to be included in
the witness. Because code is accessed via `GetCode`, and
`GetCodeLength`, the statedb will always know when it needs to add that
code into the witness.

The edge case is block hashes, so we continue to add them manually in
the implementation of `BLOCKHASH`.

It probably makes sense to refactor statedb so we have a wrapped
implementation that accumulates the witness, but this is a simpler
change that makes #30078 less aggressive.
2024-10-31 12:19:01 +02:00
..
runtime core/vm: speed up push and interpreter loop (#30662) 2024-10-30 18:01:47 +01:00
testdata core/vm: more benchmarks for bls g1/g2-multiexp precompiles (#30459) 2024-09-24 13:53:46 +02:00
analysis_eof.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
analysis_legacy.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
analysis_legacy_test.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
common.go all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-10-20 14:41:51 +03:00
contract.go cmd, core, params, trie: add verkle access witness gas charging (#29338) 2024-05-10 20:13:11 +02:00
contracts.go common: drop BigMin and BigMax, they pollute our dep graph (#30645) 2024-10-21 12:45:33 +03:00
contracts_fuzz_test.go eth/tracers: live chain tracing with hooks (#29189) 2024-03-22 18:53:53 +01:00
contracts_test.go core/vm: add KZG benchmark (#29583) 2024-04-19 13:46:43 +02:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof_control_flow.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof_immediates.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof_instructions.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof_test.go core/vm: remove debug printout in eof test (#30665) 2024-10-24 09:13:01 +02:00
eof_validation.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof_validation_test.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
errors.go build: update to golangci-lint 1.61.0 (#30587) 2024-10-14 19:25:22 +02:00
evm.go core: add code to witness when state object is accessed (#30698) 2024-10-31 12:19:01 +02:00
gas.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
gas_table.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
gas_table_test.go core/state: state reader abstraction (#29761) 2024-09-05 13:10:47 +03:00
instructions.go core: add code to witness when state object is accessed (#30698) 2024-10-31 12:19:01 +02:00
instructions_test.go core/vm: speed up push and interpreter loop (#30662) 2024-10-30 18:01:47 +01:00
interface.go core/state: move state log mechanism to a separate layer (#30569) 2024-10-23 08:03:36 +02:00
interpreter.go core/vm: speed up push and interpreter loop (#30662) 2024-10-30 18:01:47 +01:00
interpreter_test.go all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-10-20 14:41:51 +03:00
jump_table.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
jump_table_export.go core: fix typos (#28255) 2023-10-10 10:22:03 +02:00
jump_table_test.go all: fix typos in comments (#28881) 2024-02-05 22:16:32 +01:00
memory.go core/vm: reuse Memory instances (#30137) 2024-08-20 14:31:06 +02:00
memory_table.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
memory_test.go core/vm: implement EIP-5656, mcopy instruction (#26181) 2023-07-11 03:55:34 -04:00
opcodes.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
operations_acl.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
operations_verkle.go all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-10-20 14:41:51 +03:00
stack.go core/vm: improved stack swap performance (#30249) 2024-08-06 14:38:47 +02:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00