Bobbin Threadbare
09025b4014
Merge pull request #129 from 0xPolygonMiden/next
...
Tracking PR for v0.4 release
2023-04-21 15:38:33 -07:00
Bobbin Threadbare
e983e940b2
chore: update changelog
2023-04-21 14:42:08 -07:00
Bobbin Threadbare
ae4e27b6c7
Merge pull request #139 from 0xPolygonMiden/hacka-support-adding-existing-structures-to-store
...
store: support adding existing structures
2023-04-21 14:32:52 -07:00
Bobbin Threadbare
130ae3d12a
feat: add inner node iterator to MerklePath
2023-04-21 14:27:58 -07:00
Bobbin Threadbare
22c9f382c4
fix: serialization test
2023-04-21 11:39:49 -07:00
Bobbin Threadbare
9be4253f19
feat: remove clone requirement for MerkleStore From constructors
2023-04-21 11:22:36 -07:00
Augusto F. Hack
59595a2e04
feat: added From convertions for the MerkleStore
2023-04-21 14:47:58 +02:00
Augusto F. Hack
eb316f51bc
store: remove SimpleSMT/MerkleTree/Mmr add/with methods
2023-04-21 14:47:48 +02:00
Augusto F. Hack
8161477d6a
store: support adding existing structures
2023-04-20 13:45:31 +02:00
Augusto Hack
158167356d
Merge pull request #138 from 0xPolygonMiden/hacka-merge-support-for-leaves
...
feat: allow merging of leaves
2023-04-17 12:29:13 +02:00
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.
2023-04-17 12:21:51 +02:00
Augusto Hack
7fa03c7967
Merge pull request #137 from 0xPolygonMiden/frisitano-reexport-mmr-proof
...
re-export mmr proof
2023-04-14 14:34:58 +02:00
frisitano
79915cc346
feat: re-export MmrProof
2023-04-14 13:25:19 +01:00
Augusto Hack
45412b5cec
Merge pull request #134 from 0xPolygonMiden/add-rustfmt-config
...
config: add rustfmt config
2023-04-11 17:58:06 +02:00
Augusto F. Hack
bbb1e641a3
config: add rustfmt config
2023-04-11 17:38:39 +02:00
Bobbin Threadbare
e02507d11e
chore: update version to v0.4.0
2023-04-08 12:46:53 -07:00
Bobbin Threadbare
b5eb68e46c
Merge pull request #120 from 0xPolygonMiden/next
...
Tracking PR for v0.3 release
2023-04-07 23:55:43 -07:00
Bobbin Threadbare
61db888b2c
chore: update crate version to v0.3
2023-04-07 23:44:27 -07:00
Bobbin Threadbare
051167f2e5
Merge pull request #76 from 0xPolygonMiden/bobbin-blake3-opt
...
BLAKE3 hash_elements() optimization
2023-04-07 23:12:41 -07:00
Victor Lopes
498bc93c15
Merge pull request #125 from 0xPolygonMiden/vlopes11-store-get-leaf-depth
...
feat: add `MerkleStore::get_leaf_depth`
2023-04-06 23:13:54 +02:00
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
2023-04-06 23:01:38 +02:00
Augusto Hack
cbf51dd3e2
Merge pull request #127 from 0xPolygonMiden/hacka-optimized-peak-hash
...
mmr: optimized peak hash for Miden VM
2023-04-06 19:38:48 +02:00
Augusto F. Hack
ab903a2229
mmr: optimized peak hash for Miden VM
2023-04-06 18:22:01 +02:00
Bobbin Threadbare
86dba195b4
Merge pull request #124 from 0xPolygonMiden/bobbin-merkle-fixes
...
Merkle fixes
2023-04-05 12:20:41 -07:00
Bobbin Threadbare
bd557bc68c
fix: add validation to NodeIndex constructor and remove BitIterator
2023-04-05 12:08:00 -07:00
Augusto Hack
cf94ac07b7
Merge pull request #121 from 0xPolygonMiden/hacka-simple-smt-parent-node-iterator
...
feat: add parent node iterator for SimpleSMT
2023-04-05 00:46:32 +02:00
Augusto Hack
d873866f52
Merge pull request #118 from 0xPolygonMiden/hacka-support-mmr-in-the-merkle-store
...
feat: add support for MMR to the MerkleStore
2023-04-04 23:13:43 +02:00
Augusto F. Hack
9275dd00ad
feat: add parent node iterator for SimpleSMT
2023-04-04 22:33:26 +02:00
Augusto F. Hack
429d3bab6f
feat: add support for MMR to the MerkleStore
2023-04-04 22:33:01 +02:00
Augusto Hack
f19fe6e739
Merge pull request #117 from 0xPolygonMiden/hacka-simplify-consuming-merkle-tree
...
feat: add node iterator to MerkleTree
2023-04-04 22:14:38 +02:00
Augusto F. Hack
1df4318399
feat: add node iterator to MerkleTree
2023-04-04 22:11:21 +02:00
Bobbin Threadbare
433b467953
feat: optimized hash_elements for blake3 hasher
2023-04-04 01:06:51 -07:00
Augusto Hack
f46d913b20
Merge pull request #116 from 0xPolygonMiden/hacka-remove-merke-store
...
Remove SimpleSmt store
2023-03-31 03:12:09 +02:00
Augusto F. Hack
f8a62dae76
chore: remove simple_smt::Store
2023-03-31 03:10:01 +02:00
Victor Lopes
49b9029b46
Merge pull request #115 from 0xPolygonMiden/vlopes11-store-smt-depth
...
feat: Add `depth` as store SMT argument
2023-03-30 01:19:30 +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
Bobbin Threadbare
9389f2fb40
Merge pull request #80 from 0xPolygonMiden/next
...
v0.2 tracking PR
2023-03-25 01:28:40 -07:00
Bobbin Threadbare
703692553d
chore: add winterfell dependency update to changelog
2023-03-25 00:45:17 -07:00
Bobbin Threadbare
d68be83bc4
chore: add Mmr to readme and changelog
2023-03-25 00:00:24 -07:00
Bobbin Threadbare
80171af872
Merge pull request #114 from 0xPolygonMiden/v0.2.0-release-prep
...
Prepare v0.2 release
2023-03-24 23:50:41 -07:00
Augusto Hack
75af3d474b
Merge pull request #113 from 0xPolygonMiden/hacka-merkle-store-fix-empty-roots
...
bugfix: fix internal nodes of for empty leafs of a SMT
2023-03-24 23:26:48 +01:00
Augusto F. Hack
9e6c8ff700
bugfix: fix internal nodes of for empty leafs of a SMT
...
The path returned by `EmptySubtreeRoots` starts at the root, and goes to
the leaf. The MerkleStore constructor assumed the other direction, so
the parent/child hashes were reversed.
This fixes the bug and adds a test.
2023-03-24 23:22:31 +01:00
Bobbin Threadbare
a58922756a
chore: update crate versions, dependencies, and CHANGELOG
2023-03-24 14:58:19 -07:00
Augusto Hack
bf15e1331a
Merge pull request #112 from 0xPolygonMiden/hacka-add-serde-to-merklestore
...
Add serde to merklestore
2023-03-24 21:49:50 +01:00
Augusto F. Hack
7957cc929a
feat: added MerkleStore serde
2023-03-24 21:44:36 +01:00
Victor Lopes
854892ba9d
Merge pull request #111 from 0xPolygonMiden/vlopes11-increase-empty-subtrees
...
feat: add empty subtree constants to cover u8::MAX depth
2023-03-23 22:50:37 +01:00
Bobbin Threadbare
ce38ee388d
Merge pull request #104 from 0xPolygonMiden/hacka-store-docs
...
Store docs
2023-03-23 13:11:04 -07:00
Bobbin Threadbare
4d1b3628d3
Merge pull request #110 from 0xPolygonMiden/bobbin-pathset-fixes
...
Fix MerklePathSet issues
2023-03-23 13:10:21 -07:00
Augusto F. Hack
2d1bc3ba34
store: added user documentation on usage and purpose
2023-03-23 14:19:37 +01:00
Victor Lopez
2ff96f40cb
feat: add empty subtree constants to cover u8::MAX depth
...
Prior to this commit, we limited the constants count to 64 for the empty
subtrees depth computation. This is a hard-assumption that every tree of
Miden will have a depth up to 64 - and will cause undefined behavior if
it doesn't.
With the introduction of `MerkleStore::merge_roots` and the deprecation
of `mtree_cwm` instruction from the VM, this assumption is broken and
the user might end with trees with depth greater than 64. This broken
assumption could lead to attack vectors.
We can easily fix that by extending the pre-computed hashes list to the
maximum of `u8` (i.e. 255). This will have zero impact on functionality,
and will be completely safe to use without hard assumptions.
2023-03-23 12:59:47 +01:00