go-ethereum/core
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
..
asm all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
beacon eth/catalyst: return invalid params instead of invalid payload params (#26591) 2023-02-02 11:52:26 +02:00
bloombits all: fix spelling mistakes (#25961) 2022-10-11 09:37:00 +02:00
forkid all: make timestamp-based fork checks based on uint64 (#26474) 2023-01-25 12:12:28 +01:00
rawdb all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
state core/state: remove notion of fake storage (#24916) 2023-01-10 08:24:30 -05:00
txpool all: make timestamp-based fork checks based on uint64 (#26474) 2023-01-25 12:12:28 +01:00
types all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
vm core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
block_validator.go core: improve ambiguous block validation message (#26582) 2023-02-01 10:08:25 -05:00
block_validator_test.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
blockchain.go core, les, light: implement timestamp based sethead and genesis rewinds 2023-01-03 12:57:07 +02:00
blockchain_insert.go core: fix log order in "Imported new chain segment" (#25768) 2022-09-15 13:18:23 +02:00
blockchain_reader.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
blockchain_repair_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_sethead_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_snapshot_test.go core: fix typo in blockchain_snapshot_test.go (#26357) 2022-12-14 11:48:12 +02:00
blockchain_test.go all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer.go all: make logs a bit easier on the eye to digest (#22665) 2021-04-15 20:35:00 +03:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_makers.go all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
chain_makers_test.go all: move genesis initialization to blockchain (#25523) 2022-08-30 18:22:28 +02:00
dao_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
error.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go all: make timestamp-based fork checks based on uint64 (#26474) 2023-01-25 12:12:28 +01:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis.go core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +02:00
gen_genesis_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
genesis.go all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
genesis_alloc.go core/genesis: remove calaverasAllocData (#25516) 2022-08-12 13:58:06 +02:00
genesis_test.go core, les, params: add timestamp based fork compatibility checks 2023-01-03 12:57:06 +02:00
headerchain.go cmd, core, eth, els, params: disallow setheads below genesis, tweaks 2023-01-06 15:29:58 +02:00
headerchain_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
mkalloc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
rlp_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
state_processor.go all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
state_processor_test.go all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
state_transition.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00