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.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
encoding.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
encoding_test.go all: remove deprecated uses of math.rand (#26710) 2023-02-16 14:36:58 -05: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.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
iterator_test.go core/state, trie: remove unused error-return from trie Commit operation (#26641) 2023-02-09 08:56:59 -05:00
node.go trie: improve node rlp decoding performance (#25357) 2022-08-19 00:39:47 +02: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
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.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
proof_test.go trie: reduce unit test time (#26918) 2023-03-20 04:09:35 -04:00
secure_trie.go core/state: add account address to Trie slot accessors (#26934) 2023-03-23 11:52:22 +01: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
stacktrie.go trie, accounts/abi: add error-checks (#26914) 2023-03-17 06:19:51 -04:00
stacktrie_test.go all: remove database commit callback, rework noderesolver (#26637) 2023-02-08 06:14:34 -05:00
sync.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
sync_test.go trie: reduce unit test time (#26918) 2023-03-20 04:09:35 -04:00
tracer.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
tracer_test.go core/state, trie: port changes from PBSS (#26763) 2023-03-14 04:50:53 -04:00
trie.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