Philippe Laferrière
9a18ed6749
Implement SimpleSmt::set_subtree
( #232 )
...
* recompute_nodes_from_indeX_to_root
* MerkleError variant
* set_subtree
* test_simplesmt_set_subtree
* test_simplesmt_set_subtree_entire_tree
* test
* set_subtree: return root
2024-02-14 11:52:40 -08:00
Philippe Laferrière
d719cc2663
Remove ExactSizeIterator
constraint from SimpleSmt::with_leaves()
( #228 )
...
* Change InvalidNumEntries error
* max computation
* remove length check
* remove ExactSizeIterator constraint
* fix InvalidNumEntries error condition
* 2_usize
2024-02-14 11:52:40 -08:00
Augusto F. Hack
fa475d1929
simplesmt: simplify duplicate check
2024-02-14 11:52:40 -08:00
Philippe Laferrière
25b8cb64ba
Introduce SimpleSmt::with_contiguous_leaves()
( #227 )
...
* with_contiguous_leaves
* test
2024-02-14 11:52:40 -08:00
Augusto F. Hack
389fcb03c2
simplesmt: bugfix, index must be validated before modifying the tree
2024-02-14 11:52:40 -08:00
Augusto F. Hack
1f92d5417a
simple_smt: reduce serialized size, use static hashes of the empty word
2024-02-14 11:52:40 -08:00
Al-Kindi-0
8078021aff
feat: Falcon 512 signature
2023-10-03 20:45:18 +02:00
Andrey Khmuro
2f09410e87
refactor: replace with EMPTY_WORD, ZERO and ONE
2023-08-31 20:36:40 +02:00
Augusto F. Hack
8cf5e9fd2c
feature: add conditional support for serde
2023-08-11 13:59:53 +02:00
frisitano
da2d08714d
feat: introduce TryApplyDiff and refactor RecordingMap finalizer
2023-07-26 12:14:39 +02:00
Bobbin Threadbare
4215e83ae5
feat: add EMPTY_VALUE const to SMTs
2023-06-13 22:53:14 -07:00
Bobbin Threadbare
fe5cac9edc
fix: compilation errors
2023-06-13 22:43:08 -07:00
Bobbin Threadbare
049ae32cbf
chore: clean up test code
2023-06-13 14:40:31 -07:00
tohrnii
0e0a3fda4f
refactor: refactor to clean up and simplify things
2023-06-13 10:53:41 +01:00
tohrnii
fe9aa8c28c
refactor: refactor crypto APIs to use RpoDigest instead of Word
2023-06-09 21:27:09 +01:00
Bobbin Threadbare
b768eade4d
feat: added handling of bottom tier to TieredSmt
2023-05-16 15:38:05 -07:00
Bobbin Threadbare
629494b601
feat: add leaves() iterator to SimpleSmt
2023-05-11 00:37:16 -07:00
Bobbin Threadbare
fcf03478ba
refactor: update SimpleSmt interfaces
2023-05-08 00:12:24 -07:00
Augusto F. Hack
bbb1e641a3
config: add rustfmt config
2023-04-11 17:38:39 +02:00
Bobbin Threadbare
bd557bc68c
fix: add validation to NodeIndex constructor and remove BitIterator
2023-04-05 12:08:00 -07:00
Augusto F. Hack
9275dd00ad
feat: add parent node iterator for SimpleSMT
2023-04-04 22:33:26 +02:00
Augusto F. Hack
f8a62dae76
chore: remove simple_smt::Store
2023-03-31 03:10:01 +02:00
Victor Lopez
d37f3f5e84
feat: Add depth
as store SMT argument
...
Prior to this commit, MerkleStore allowed the creation of Sparse Merkle
tree only with the maximum depth of 63. However, this doesn't fit the
Tiered Sparse Merkle tree requirements, as it will contain trees of
depth 16.
This commit adds the `depth` argument to the MerkleStore methods that
will create Sparse Merkle trees.
2023-03-30 01:13:05 +02:00
Augusto F. Hack
88a646031f
feat: add merkle store
2023-03-15 17:34:42 +01:00
Victor Lopez
3a6a4fcce6
feat: refactor simple smt to use empty subtree constants
...
Prior to this commit, there was an internal procedure with the merkle
trees to compute empty sub-tree for arbitrary depths.
However, this isn't ideal as this code can be reused in any merkle
implementation that uses RPO as backend.
This commit introduces a structure that will generate these empty
subtrees values.
2023-03-07 20:44:42 +01:00
Augusto F. Hack
32d37f1591
feat: merkle mountain range
2023-03-02 13:07:55 +01:00
Victor Lopez
9307178873
feat: add from_elements
to NodeIndex
2023-02-16 21:14:07 +01:00
Victor Lopez
0799b1bb9d
feat: add merkle node index
...
This commit introduces a wrapper structure to encapsulate the merkle
tree traversal.
related issue: #36
2023-02-15 23:53:01 +01:00
Victor Lopez
21a8cbcb45
feat: add merkle path wrapper
...
A Merkle path is a vector of nodes, regardless of the Merkle tree
implementation.
This commit introduces an encapsulation for such vector, also to provide
functionality that is common between different algorithms such as
opening verification.
related issue: #36
2023-02-13 22:43:13 +01:00
Bobbin Threadbare
4f65d01df4
feat: add PartialEq and Eq traits to Merkle structs
2022-12-27 19:40:58 -08:00
Victor Lopez
5fd0d692e8
feat: add simple sparse merkle tree
...
This commit moves the previous implementation of `SparseMerkleTree` from
miden-core to this crate.
It also include a couple of new tests, a bench suite, and a couple of
minor fixes. The original API was preserved to maintain compatibility
with `AdviceTape`.
closes #21
2022-12-14 14:26:01 +01:00