plugeth/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_test.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
analysis.go core/vm: optimize jumpdest analysis (#23500) 2022-06-03 10:40:14 +02: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_test.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
contracts.go core/vm: use optimized bigint (#26021) 2022-10-27 10:39:01 +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_table_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
gas_table.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
instructions_test.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
instructions.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_test.go all: add whitespace linter (#25312) 2022-07-25 13:14:03 +03:00
interpreter.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
jump_table_test.go core/vm: deepcopy jumptable when enabling extra eips (#26137) 2022-11-09 07:52:13 +01:00
jump_table.go core/vm: enable EIP-3855 (PUSH0) in Shanghai (#26475) 2023-01-12 11:00:08 +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_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
memory.go core/vm: optimize Memory.Set32 (#24847) 2022-05-11 11:00:29 +02: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_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
stack.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00