go-ethereum/trie
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
..
committer.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
database_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
database.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
encoding_test.go all: remove deprecated uses of math.rand (#26710) 2023-02-16 14:36:58 -05:00
encoding.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
errors.go all: introduce trie owner notion (#24750) 2022-06-06 17:14:55 +02:00
hasher.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
iterator_test.go core/state, trie: remove unused error-return from trie Commit operation (#26641) 2023-02-09 08:56:59 -05:00
iterator.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
node_enc.go rlp, trie: faster trie node encoding (#24126) 2022-03-09 14:45:17 +01:00
node_test.go trie: improve node rlp decoding performance (#25357) 2022-08-19 00:39:47 +02:00
node.go trie: improve node rlp decoding performance (#25357) 2022-08-19 00:39:47 +02:00
nodeset.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
preimages.go core, trie, eth, cmd: rework preimage store (#25287) 2022-07-27 20:37:04 +02:00
proof_test.go trie: reduce unit test time (#26918) 2023-03-20 04:09:35 -04:00
proof.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
secure_trie_test.go core/state, trie: remove unused error-return from trie Commit operation (#26641) 2023-02-09 08:56:59 -05:00
secure_trie.go core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01:00
stacktrie_test.go all: remove database commit callback, rework noderesolver (#26637) 2023-02-08 06:14:34 -05:00
stacktrie.go trie, accounts/abi: add error-checks (#26914) 2023-03-17 06:19:51 -04:00
sync_test.go trie: reduce unit test time (#26918) 2023-03-20 04:09:35 -04:00
sync.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
tracer_test.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
tracer.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
trie_id.go cmd, core, eth, les, light: track deleted nodes (#25757) 2022-09-27 10:01:02 +02:00
trie_reader.go cmd, core, eth, les, light: track deleted nodes (#25757) 2022-09-27 10:01:02 +02:00
trie_test.go trie: reduce unit test time (#26918) 2023-03-20 04:09:35 -04:00
trie.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00