go-ethereum/core
Guillaume Ballet 8990c92aea
core/state: add account address to Trie slot accessors (#26934)
This changes the Trie interface to add the plain account address as a
parameter to all storage-related methods.

After the introduction of the TryAccount* functions, TryGet, TryUpdate and
TryDelete are now only meant to read an account's storage. In their current
form, they assume that an account storage is stored in a separate trie, and
that the hashing of the slot is independent of its account's address.

The proposed structure for a stateless storage breaks these two
assumptions: the hashing of a slot key requires the address and all slots
and accounts are stored in a single trie.

This PR therefore adds an address parameter to the interface. It is ignored
in the MPT version, so this change has no functional impact, however it
will reduce the diff size when merging verkle trees.
2023-03-23 11:52:22 +01:00
..
asm all: change format `0x%x` to `%#x` (#25221) 2022-07-04 11:03:32 +03:00
bloombits all: remove deprecated uses of math.rand (#26710) 2023-02-16 14:36:58 -05:00
forkid params: schedule shanghai fork on mainnet (#26908) 2023-03-20 07:38:34 -04:00
rawdb core/rawdb: update freezertable read meter (#26946) 2023-03-23 03:34:40 -04:00
state core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00
txpool core/txpool: allow future local transactions (#26930) 2023-03-20 09:15:18 -04:00
types core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
vm core/vm: expose jumptable constructors (#26880) 2023-03-21 07:14:47 -04:00
.gitignore Renamed `chain` => `core` 2014-12-04 10:28:02 +01:00
bench_test.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
block_validator.go consensus: improve consensus engine definition (#26871) 2023-03-16 15:34:25 -04:00
block_validator_test.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
blockchain.go consensus: improve consensus engine definition (#26871) 2023-03-16 15:34:25 -04: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 all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_repair_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_sethead_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_snapshot_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02: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 core: add Timestamp method in BlockGen (#26844) 2023-03-10 14:03:27 +01:00
chain_makers_test.go core: fix a merge fault (#26802) 2023-03-03 12:11:39 +02:00
dao_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +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 core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05: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: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
genesis_alloc.go all: remove support for Ropsten (#26644) 2023-02-09 10:03:00 +02:00
genesis_test.go all: remove support for Ropsten (#26644) 2023-02-09 10:03:00 +02:00
headerchain.go core, eth: merge snap-sync chain download progress logs (#26676) 2023-02-21 12:17:34 +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 core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
state_processor.go core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
state_processor_test.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
state_transition.go core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00