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_test.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
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_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
contracts.go common: drop BigMin and BigMax, they pollute our dep graph (#30645) 2024-10-21 12:45:33 +03: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_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_test.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
eof_validation.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
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_table_test.go core/state: state reader abstraction (#29761) 2024-09-05 13:10:47 +03:00
gas_table.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
gas.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +02:00
instructions_test.go core/vm: speed up push and interpreter loop (#30662) 2024-10-30 18:01:47 +01:00
instructions.go core: add code to witness when state object is accessed (#30698) 2024-10-31 12:19:01 +02:00
interface.go core/state: move state log mechanism to a separate layer (#30569) 2024-10-23 08:03:36 +02:00
interpreter_test.go all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-10-20 14:41:51 +03:00
interpreter.go core/vm: speed up push and interpreter loop (#30662) 2024-10-30 18:01:47 +01: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
jump_table.go core/vm, cmd/evm: implement eof validation (#30418) 2024-10-02 15:05:50 +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
memory.go core/vm: reuse Memory instances (#30137) 2024-08-20 14:31:06 +02: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_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
stack.go core/vm: improved stack swap performance (#30249) 2024-08-06 14:38:47 +02:00