test(trie-db): add checks for tree mask invariant #12080
Closed
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.
Ref: #12129
The invariant checked is: for each branch node in trie nodes with
path
, for eachposition
with 1 in its tree mask, there must be branch nodes in trie updates at pathspath
-position
.For instance, for branch node at path 0x01 with tree mask 0100000001010101, in trie updates we must have branch nodes at paths 0x010, 0x012, 0x014, 0x016, 0x01e (the mask indicates child nibbles but it goes from the right to left)