Skip to content
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

Tracking PR for v0.4 release #129

Merged
merged 15 commits into from
Apr 21, 2023
Merged

Tracking PR for v0.4 release #129

merged 15 commits into from
Apr 21, 2023

Conversation

bobbinth
Copy link
Contributor

@bobbinth bobbinth commented Apr 8, 2023

This PR tracks progress for v0.4 release. The aim of this release is primarily to wrap up implementations various Merkle structures.

General

Sparse Merkle tree

As a part of this release we should close the following issues (one way or the other):

One question is what are we looking for in the Rust implementation of the tiered SMT. In my mind, we'd use it for account storage and vaults and so the requirements should be driven by the needs of the account object.

There are two other use cases for a tiered SMT: (1) account database, and (2) nullifier database. Both of these will probably require different implementations as they are going to be too large for pure in-memory implementation. So, we'll do them in future releases.

Merkle mountain range

Current implementation of the MMR is good enough for the needs of the chain database, but for user wallets, we do need to maintain partial MMR for own notes.

bobbinth and others added 15 commits April 8, 2023 12:46
Consider the case of a MMR with one entry, and a new entry is being
added. Both of these values are quite unique, they are at the same time
the root and only leaf of their corresponding tree. Currently this
representation is not supported by the [MerkleStore], so the leaves are
not in it. Once the two values are merged, they both become leaves of a
new tree under the new parent, and the existing validation didn't permit
that promotion from happening.

This lifts the validation, and changes the method to clarify that not
only `root` are being merged, by arbitrary nodes of a tree (leafs,
internal, or roots), with arbitrary mixing of each.
…ting-structures-to-store

store: support adding existing structures
@bobbinth bobbinth merged commit 09025b4 into main Apr 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants