go-ethereum/core/state
Daniel Liu 3bb3f80f5b
core/state: add account address to Trie slot accessors #26934 (#1140)
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.

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2025-12-23 15:39:56 +05:30
..
access_list.go core/state: reduce one alloc #33024 (#1784) 2025-11-24 11:00:15 +05:30
database.go core/state: add account address to Trie slot accessors #26934 (#1140) 2025-12-23 15:39:56 +05:30
dump.go core/state: do not ignore null addr while iterative dump #27320 (#1223) 2025-08-29 05:25:15 +08:00
iterator.go cmd, core, eth, trie: track deleted nodes #22225 #25757 (#1120) 2025-11-12 13:32:22 +05:30
iterator_test.go core, trie: port changes from pbss #26637 (#1127) 2025-12-07 15:38:38 +05:30
journal.go all: implement eip-7702 set code tx #30078 (#1759) 2025-12-19 14:09:45 +04:00
metrics.go cmd, core, eth, trie: track deleted nodes #22225 #25757 (#1120) 2025-11-12 13:32:22 +05:30
state_object.go core/state: add account address to Trie slot accessors #26934 (#1140) 2025-12-23 15:39:56 +05:30
state_object_test.go all: using testing.B.Loop (#1554) 2025-09-24 07:59:48 +08:00
state_reader.go new EVM Upgrade 2021-09-21 16:53:46 +05:30
state_test.go core/state: move state log mechanism to a separate layer #30569 #30732 (#1775) 2025-12-16 07:33:19 +04:00
statedb.go core/state, trie: port changes from PBSS #26763 (#1137) 2025-12-22 12:03:56 +05:30
statedb_hooked.go all: implement eip-7702 set code tx #30078 (#1759) 2025-12-19 14:09:45 +04:00
statedb_hooked_test.go core/state: move state log mechanism to a separate layer #30569 #30732 (#1775) 2025-12-16 07:33:19 +04:00
statedb_test.go core/state: move state log mechanism to a separate layer #30569 #30732 (#1775) 2025-12-16 07:33:19 +04:00
statedb_utils.go record total minted API v2 (#1769) 2025-12-09 19:43:19 +08:00
sync.go core, trie: prepare for path-based trie storage #26603 (#1126) 2025-11-18 11:20:00 +05:30
sync_test.go core/state: move state log mechanism to a separate layer #30569 #30732 (#1775) 2025-12-16 07:33:19 +04:00
transient_storage.go all: implement EIP-1153 transient storage (#26003) 2024-11-15 19:39:18 +08:00
trc21_reader.go all: rework trc21 (#1777) 2025-11-18 11:24:56 +05:30