go-ethereum/core/vm/runtime
rjl493456442 e3d61e6db0
core, eth, internal, cmd: rework EVM constructor (#30745)
This pull request refactors the EVM constructor by removing the
TxContext parameter.

The EVM object is frequently overused. Ideally, only a single EVM
instance should be created and reused throughout the entire state
transition of a block, with the transaction context switched as needed
by calling evm.SetTxContext.

Unfortunately, in some parts of the code, the EVM object is repeatedly
created, resulting in unnecessary complexity. This pull request is the
first step towards gradually improving and simplifying this setup.

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-11-20 12:35:52 +01:00
..
doc.go core/vm/runtime: added simple execution runtime 2015-11-18 16:50:20 +01:00
env.go core, eth, internal, cmd: rework EVM constructor (#30745) 2024-11-20 12:35:52 +01:00
runtime.go core/vm/runtime: invoke tx-end hook (#30711) 2024-11-04 11:39:06 +01:00
runtime_example_test.go core/vm/runtime: added simple execution runtime 2015-11-18 16:50:20 +01:00
runtime_fuzz_test.go tests/fuzzers: move fuzzers into native packages (#28467) 2023-11-14 14:34:29 +01:00
runtime_test.go core/vm/program: evm bytecode-building utility (#30725) 2024-11-20 08:40:21 +01:00