go-ethereum/core/vm
lmittmann 877d2174fb
core/vm: improve EVM instance reusability (#26341)
This change improves reusability of the EVM struct. Two methods are added:

- SetBlockContext(...)
- SetTracer(...)

Other attributes like the TransactionContext and the StateDB can already be updated.
BlockContext and Tracer are partially not updateable right now. This change fixes it and
opens the potential to reuse an EVM struct in more ways.

Co-authored-by: Felix Lange <fjl@twurst.com>
2023-02-05 15:11:25 +01:00
..
runtime all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
testdata core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
analysis.go core/vm: optimize jumpdest analysis (#23500) 2022-06-03 10:40:14 +02:00
analysis_test.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
common.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
contract.go core/vm: simplify op lookup in contract (#23974) 2021-11-25 20:10:01 +01:00
contracts.go core/vm: use optimized bigint (#26021) 2022-10-27 10:39:01 +02:00
contracts_test.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
errors.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
evm.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gas_table.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
gas_table_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
instructions.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
instructions_test.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
interface.go core: implement EIP-3651, warm coinbase (#25819) 2022-11-22 22:39:52 +01:00
interpreter.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
interpreter_test.go all: add whitespace linter (#25312) 2022-07-25 13:14:03 +03:00
jump_table.go core/vm: enable EIP-3855 (PUSH0) in Shanghai (#26475) 2023-01-12 11:00:08 +01:00
jump_table_test.go core/vm: deepcopy jumptable when enabling extra eips (#26137) 2022-11-09 07:52:13 +01:00
logger.go eth/tracers, core/vm: remove time from trace output and tracing interface (#26291) 2022-12-05 16:57:47 +01:00
memory.go core/vm: optimize Memory.Set32 (#24847) 2022-05-11 11:00:29 +02:00
memory_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
opcodes.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
operations_acl.go core/vm: fix sstore gas comment type (#24583) 2022-03-29 11:21:11 +03:00
stack.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00