go-ethereum/internal
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
..
blocktest internal/blocktest: add package for shared test code (#27270) 2023-07-11 14:57:02 +02:00
build appveyor, build, internal: ci.go cleanups, add package dep checker (#30696) 2024-10-29 13:21:17 +02:00
cmdtest all: make vendored copy of reexec (#28382) 2023-10-28 00:14:43 +02:00
debug internal/debug: remove memsize (#30253) 2024-08-02 06:44:03 +02:00
era internal: run tests in parallel (#30381) 2024-09-16 08:44:47 +02:00
ethapi core, eth, internal, cmd: rework EVM constructor (#30745) 2024-11-20 12:35:52 +01:00
flags internal/flags: remove low-use type TextMarshalerFlag (#30707) 2024-10-31 19:52:39 +01:00
guide internal: run tests in parallel (#30381) 2024-09-16 08:44:47 +02:00
jsre internal/ethapi: remove td field from block (#30386) 2024-10-01 11:36:56 +02:00
reexec all: make vendored copy of reexec (#28382) 2023-10-28 00:14:43 +02:00
shutdowncheck eth, les: update unclean shutdown markers regularly (#24077) 2021-12-17 15:18:51 +01:00
syncx core: improve shutdown synchronization in BlockChain (#22853) 2021-10-07 15:47:50 +02:00
testlog p2p/discover: improved node revalidation (#29572) 2024-05-23 14:26:09 +02:00
testrand triedb/pathdb: improve tests (#29278) 2024-03-19 10:50:08 +08:00
utesting internal: run tests in parallel (#30381) 2024-09-16 08:44:47 +02:00
version build, internal, version: break ci.go/version->common dependency (#30638) 2024-10-20 19:28:39 +03:00
web3ext all: remove `personal` RPC namespace (#30704) 2024-10-31 19:53:35 +01:00