go-ethereum/core/state
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
..
pruner all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
snapshot all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05: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 core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00
dump.go core/state: return error when storage trie can't be opened (#26350) 2022-12-21 10:21:21 +01:00
iterator_test.go all: remove database commit callback, rework noderesolver (#26637) 2023-02-08 06:14:34 -05:00
iterator.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
journal.go core/state: maintain destruction flag by default (#26371) 2022-12-28 08:53:43 -05:00
metrics.go Revert "core/trie: remove trie tracer (#26665)" (#26732) 2023-02-20 09:54:52 -05:00
state_object_test.go build: use golangci-lint (#20295) 2019-11-18 10:49:17 +02:00
state_object.go core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00
state_test.go core, trie, eth, cmd: rework preimage store (#25287) 2022-07-27 20:37:04 +02:00
statedb_test.go all: remove database commit callback, rework noderesolver (#26637) 2023-02-08 06:14:34 -05:00
statedb.go core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00
sync_test.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
sync.go all: prepare for path-based trie storage (#26603) 2023-02-06 10:28:40 -05:00
transient_storage.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
trie_prefetcher_test.go core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00
trie_prefetcher.go core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00