triedb/pathdb, core: keep root->id mappings after truncation #32502
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request preserves the root->ID mappings in the path database even
after the associated state histories are truncated, regardless of whether the
truncation occurs at the head or the tail.
The motivation is to support an additional history type, trienode history. Since
the root->ID mappings are shared between two history instances, they must
not be removed by either one.
As a consequence, the root->ID mappings remain in the database even after
the corresponding histories are pruned. While these mappings may become
dangling, it is safe and cheap to keep them.
Additionally, this pull request enhances validation during historical reader
construction, ensuring that only canonical historical state will be served.