go-ethereum/trie
rjl493456442 d3411b9f67
trie: wrap deletion in case trie.root is nil (#26365)
This PR fixes an error in trie commit. If the trie.root is nil, it can be two possible scenarios:

-  The trie was empty, and no change happens
-  The trie was non-empty and all nodes are dropped

For the latter one, we should collect the deletions and apply them into database(e.g. in PBSS).
2022-12-19 04:56:13 -05:00
..
committer.go trie: wrap deletion in case trie.root is nil (#26365) 2022-12-19 04:56:13 -05:00
database.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01: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 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.go cmd, core, eth, les, light: track deleted nodes (#25757) 2022-09-27 10:01:02 +02:00
iterator_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01: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/rawdb: refactor db inspector for extending multiple ancient store (#25896) 2022-10-28 10:23:49 +02:00
preimages.go core, trie, eth, cmd: rework preimage store (#25287) 2022-07-27 20:37:04 +02:00
proof.go all: fix spelling mistakes (#25961) 2022-10-11 09:37:00 +02:00
proof_test.go all: fix some typos (#25551) 2022-08-19 09:00:21 +03:00
schema.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
secure_trie.go cmd, core, eth, les, light: track deleted nodes (#25757) 2022-09-27 10:01:02 +02:00
secure_trie_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
stacktrie.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
stacktrie_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
sync.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
sync_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
trie.go trie: wrap deletion in case trie.root is nil (#26365) 2022-12-19 04:56:13 -05: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 core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
util_test.go trie: wrap deletion in case trie.root is nil (#26365) 2022-12-19 04:56:13 -05:00
utils.go trie: wrap deletion in case trie.root is nil (#26365) 2022-12-19 04:56:13 -05:00