-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inner hash of value with new nodes #142
Conversation
resolving is way more straight forward.
asumption on stored data.
meta for all nodes).
b7238ef does remove the hybrid specific compact proof encoding. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me, I didn't understood deeply all algorithm, especially the proof in trie-db/src/proof/
But all changes made sense to me.
This PR aims at replacing #134.
It achieves the same goals but always use a new db node when inner hashing is use.
This makes code simpler and can be interesting with rc dbs.
Note that compact proof and compact proof with value iterator did change a bit:
At this point review can be started as all remaining TODOs are minor.
Codec in substrate_like.rs is the same as the one which will be ported in substrate except for the default threshold size (set to 1 here as most of test only use small values).
TODOs
crate versioning
write a test for value removal with prefix (check the value node prefix is correct) + a test that insert twice in triedbmut
63e1651 is related to a possible migration optimisation in state machine, does not really have to be in this PR.
consider running rust format (little care was used here)