plugeth/core/state
rjl493456442 3ff6b3c31e
core/state: implement fast storage deletion (#27955)
This changes implements faster post-selfdestruct iteration of storage slots for deletion, by using snapshot-storage+stacktrie to recover the trienodes to be deleted. This mechanism is only implemented for path-based schema. 

For hash-based schema, the entire post-selfdestruct storage iteration is skipped, with this change, since hash-based does not actually perform deletion anyway. 

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-26 04:13:22 -04:00
..
pruner all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
snapshot core/state/snapshot: replace diffToDisk ideal batch size with 64MB (#27977) 2023-08-25 15:48:10 +03:00
access_list.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
database.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
dump.go all: expose block number information to statedb (#27753) 2023-07-24 13:22:09 +03:00
iterator_test.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
iterator.go all: use rlp.DecodeBytes instead of rlp.Decode where possible (#27994) 2023-08-24 11:47:42 +03:00
journal.go core, trie: track state change set with account address (#27815) 2023-07-31 15:07:51 +03:00
metrics.go core/state: value diff tracking in StateDB (#27349) 2023-07-11 15:43:23 +02:00
state_object_test.go build: use golangci-lint (#20295) 2019-11-18 10:49:17 +02:00
state_object.go core, trie: track state change set with account address (#27815) 2023-07-31 15:07:51 +03:00
state_test.go all: expose block number information to statedb (#27753) 2023-07-24 13:22:09 +03:00
statedb_fuzz_test.go core/state: implement fast storage deletion (#27955) 2023-08-26 04:13:22 -04:00
statedb_test.go core/state: implement fast storage deletion (#27955) 2023-08-26 04:13:22 -04:00
statedb.go core/state: implement fast storage deletion (#27955) 2023-08-26 04:13:22 -04:00
sync_test.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
sync.go all: use rlp.DecodeBytes instead of rlp.Decode where possible (#27994) 2023-08-24 11:47:42 +03:00
transient_storage.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
trie_prefetcher_test.go all: new empty trie with types.EmptyRootHash instead of null (#27230) 2023-05-11 10:19:42 +03:00
trie_prefetcher.go core/state, light, les: make signature of ContractCode hash-independent (#27209) 2023-06-28 12:11:02 +03:00