Augusto F. Hack
83b6946432
tsmt: return error code instead of panic
1 year ago
Augusto F. Hack
33ef78f8f5
tsmt: add basic traits and into/from parts methods
1 year ago
Bobbin Threadbare
1ac30f8989
feat: implement ability to generate TSMT proofs
1 year ago
Bobbin Threadbare
6810b5e3ab
fix: node type check in inner_nodes() iterator of TSMT
1 year ago
Bobbin Threadbare
a03f2b5d5e
feat: implement iterator over key-value pairs for TSMT
1 year ago
Bobbin Threadbare
1bb75e85dd
feat: implement value removal in TSMT
1 year ago
Bobbin Threadbare
1578a9ee1f
refactor: simplify TSTM leaf node hashing
1 year ago
Andrey Khmuro
71b04d0734
refactor: replace MerklePathSet with PartialMerkleTree
1 year ago
frisitano
da2d08714d
feat: introduce TryApplyDiff and refactor RecordingMap finalizer
1 year ago
frisitano
44e60e7228
feat: introduce diff traits and objects
1 year ago
Andrey Khmuro
08aec4443c
Enhancement of the Partial Merkle Tree ( #163 )
feat: implement additional functionality for the PartialMerkleTree
1 year ago
Bobbin Threadbare
b2d6866d41
refactor: rename Merkle store Node into StoreNode
1 year ago
Bobbin Threadbare
f08644e4df
refactor: simplify recording MerkleStore structure
1 year ago
frisitano
679a30e02e
feat: introduce recorder objects
1 year ago
Bobbin Threadbare
4215e83ae5
feat: add EMPTY_VALUE const to SMTs
1 year ago
Bobbin Threadbare
fe5cac9edc
fix: compilation errors
1 year ago
Bobbin Threadbare
049ae32cbf
chore: clean up test code
1 year ago
Andrey Khmuro
b9def61e28
refactor: improve tests, add error tests
1 year ago
tohrnii
0e0a3fda4f
refactor: refactor to clean up and simplify things
1 year ago
tohrnii
fe9aa8c28c
refactor: refactor crypto APIs to use RpoDigest instead of Word
1 year ago
Andrey Khmuro
766702e37a
refactor: improve tests, small fixes
1 year ago
Andrey Khmuro
218a64b5c7
refactor: small fixes
1 year ago
Andrey Khmuro
2708a23649
refactor: optimize code, fix bugs
1 year ago
Andrey Khmuro
43f1a4cb64
refactor: MerkleStore clippy fix
1 year ago
Andrey Khmuro
55cc71dadf
fix: fix add_path func leaf determination
1 year ago
Andrey Khmuro
ebf71c2dc7
refactor: optimize code, remove not momentarily necessary functions
1 year ago
Andrey Khmuro
b4324475b6
feat: change constructor from with_leaves to with_paths
1 year ago
Andrey Khmuro
23f448fb33
feat: partial Merkle tree
1 year ago
Bobbin Threadbare
21e7a5c07d
feat: implement iterators over contents of TieredSmt
1 year ago
Bobbin Threadbare
b768eade4d
feat: added handling of bottom tier to TieredSmt
1 year ago
Bobbin Threadbare
51ce07cc34
feat: implement basic TieredSmt
1 year ago
Bobbin Threadbare
629494b601
feat: add leaves() iterator to SimpleSmt
1 year ago
Bobbin Threadbare
13aeda5a27
feat: add subset() to MerkleStore
1 year ago
Bobbin Threadbare
fcf03478ba
refactor: update SimpleSmt interfaces
1 year ago
frisitano
2100d6c861
refactor(mmr): expose method to join mmr peaks in a vector and pad
2 years ago
frisitano
4555fc918f
feat: add .inner_nodes() to [MerkleStore]
1 year ago
Bobbin Threadbare
130ae3d12a
feat: add inner node iterator to MerklePath
2 years ago
Bobbin Threadbare
22c9f382c4
fix: serialization test
2 years ago
Bobbin Threadbare
9be4253f19
feat: remove clone requirement for MerkleStore From constructors
2 years ago
Augusto F. Hack
59595a2e04
feat: added From convertions for the MerkleStore
2 years ago
Augusto F. Hack
eb316f51bc
store: remove SimpleSMT/MerkleTree/Mmr add/with methods
2 years ago
Augusto F. Hack
8161477d6a
store: support adding existing structures
2 years ago
Augusto F. Hack
3996374a8b
feat: allow merging of leaves
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.
2 years ago
frisitano
79915cc346
feat: re-export MmrProof
2 years ago
Augusto F. Hack
bbb1e641a3
config: add rustfmt config
2 years ago
Victor Lopez
00ffc1568a
feat: add `MerkleStore::get_leaf_depth`
This commit introduces `get_leaf_depth`, a tiered SMT helpers that will
retrieve the depth of a leaf for a given root, capped by `64`.
closes #119
2 years ago
Augusto F. Hack
ab903a2229
mmr: optimized peak hash for Miden VM
2 years ago
Bobbin Threadbare
bd557bc68c
fix: add validation to NodeIndex constructor and remove BitIterator
2 years ago
Augusto F. Hack
9275dd00ad
feat: add parent node iterator for SimpleSMT
2 years ago
Augusto F. Hack
429d3bab6f
feat: add support for MMR to the MerkleStore
2 years ago