plugeth/trie/triedb/pathdb
rjl493456442 7de748d3f6
all: implement path-based state scheme (#25963)
* all: implement path-based state scheme

* all: edits from review

* core/rawdb, trie/triedb/pathdb: review changes

* core, light, trie, eth, tests: reimplement pbss history

* core, trie/triedb/pathdb: track block number in state history

* trie/triedb/pathdb: add history documentation

* core, trie/triedb/pathdb: address comments from Peter's review

Important changes to list:

- Cache trie nodes by path in clean cache
- Remove root->id mappings when history is truncated

* trie/triedb/pathdb: fallback to disk if unexpect node in clean cache

* core/rawdb: fix tests

* trie/triedb/pathdb: rename metrics, change clean cache key

* trie/triedb: manage the clean cache inside of disk layer

* trie/triedb/pathdb: move journal function

* trie/triedb/path: fix tests

* trie/triedb/pathdb: fix journal

* trie/triedb/pathdb: fix history

* trie/triedb/pathdb: try to fix tests on windows

* core, trie: address comments

* trie/triedb/pathdb: fix test issues

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-01 15:17:32 +03:00
..
database_test.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
database.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
difflayer_test.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
difflayer.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
disklayer.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
errors.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
history_test.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
history.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
journal.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
layertree.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
metrics.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
nodebuffer.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
testutils.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00