Philippe Laferrière
3d71a9b59b
Smt
: remove inner nodes when removing value (#269 )
2024-02-14 11:52:40 -08:00
Philippe Laferrière
da12fd258a
Add missing methods to Smt
( #268 )
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
5fcf98669d
feat: add PartialMmr::from_parts() constructor
2024-02-14 11:52:40 -08:00
Philippe Laferrière
1cdd3dbbfa
Add methods to Smt
necessary for VM tests ( #264 )
...
* Smt::inner_nodes
* Add conversion Smt -> MerkleStore
* add docstring to `Smt`
* add to docstring
* fmt
* add `leaves()` method to `Smt`
* add `kv_pairs` functions
* rewrite `into_elements()` in terms of `into_kv_pairs()`
* change docstring
2024-02-14 11:52:40 -08:00
Augusto F. Hack
70e39e7b39
partialmmr: Method add with support for a single peak and tracking
...
fixes : #258
2024-02-14 11:52:40 -08:00
Philippe Laferrière
5596db7868
Implement Smt
struct (replacement to TieredSmt
) ( #254 )
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
a933ff2fa0
refactor: remove obsolete traits
2024-02-14 11:52:40 -08:00
Philippe Laferrière
8ea37904e3
Introduce SparseMerkleTree
trait ( #245 )
2024-02-14 11:52:40 -08:00
Augusto F. Hack
dae9de9068
docs: fix warnings
2024-02-14 11:52:40 -08:00
cristiantroy
260592f8e7
Fix: typos ( #249 )
...
* tests: fix typos
* full.rs: fix typo
* CONTRIBUTING: fix typo
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
6b5db8a6db
fix: clippy
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
3ebee98b0f
feat: add PartialMmr::is_tracked()
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
ac7593a13c
chore: update CI jobs
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
004a3bc7a8
docs: update changelog and readme
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
a0f533241f
fix: bugfix in PartialMmr apply delta
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
be1d631630
feat: add Clone derive to PartialMmr
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
4d0d8d3058
refactor: return MmrPeaks from PartialMmr::peaks()
2024-02-14 11:52:40 -08:00
Bobbin Threadbare
9baddfd138
feat: implement inner_nodes() iterator for PartialMmr
2024-02-14 11:52:40 -08:00
Augusto F. Hack
7e13346e04
serde: for MerklePath, ValuePath, and RootPath
2024-02-14 11:52:40 -08:00
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
Augusto F. Hack
df2650eb1f
bugfix: TSMT failed to verify empty word for depth 64.
...
When a prefix is pushed to the depth 64, the entry list includes only
the values different than ZERO. This is required, since each block
represents a 2^192 values.
The bug was in the proof membership code, that failed to handle the case
of a key that was not in the list, because the depth is 64 and the value
was not set.
2024-02-14 11:52:40 -08:00
Philippe Laferrière
18310a89f0
MmrPeaks::hash_peaks() returns Digest ( #230 )
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
9f95582654
mmr: add into_parts for the peaks
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
Augusto F. Hack
9b0ce0810b
mmr: support accumulator of older forest versions
2024-02-14 11:52:40 -08:00
Augusto F. Hack
3a5264c428
mmr: support proofs with older forest versions
2024-02-14 11:52:40 -08:00
Augusto F. Hack
a8acc0b39d
mmr: support arbitrary from/to delta updates
2024-02-14 11:52:40 -08:00
Augusto F. Hack
5f2d170435
mmr: publicly export MmrDelta
2024-02-14 11:52:40 -08:00
Al-Kindi-0
3125144445
feat: RPX (xHash12) hash function implementation
2024-02-14 11:52:40 -08:00
shuoer86
650508cbc9
chore: fix typos
2023-11-26 21:19:03 +08:00
Augusto Hack
012ad5ae93
Merge pull request #195 from 0xPolygonMiden/hacka-partial-mmr2
...
mmr: added partial mmr
2023-10-19 20:30:24 +02:00
Augusto F. Hack
bde20f9752
mmr: added partial mmr
2023-10-19 20:15:49 +02:00
Bobbin Threadbare
7ddcdc5e39
docs: add module descriptions
2023-10-06 21:13:42 -07:00
Bobbin Threadbare
cf91c89845
refactor: clean up features
2023-10-03 23:26:45 -07:00
Al-Kindi-0
8078021aff
feat: Falcon 512 signature
2023-10-03 20:45:18 +02:00
frisitano
1fa2895724
refactor: modify MerkleStore::non_empty_leaves to support TSMT
2023-09-19 16:19:17 +08:00
Andrey Khmuro
2f09410e87
refactor: replace with EMPTY_WORD, ZERO and ONE
2023-08-31 20:36:40 +02:00
Bobbin Threadbare
51d527b568
Merge pull request #185 from 0xPolygonMiden/bobbin-leaf-traversal
...
Add more leaf traversal methods for `MerkleStore`
2023-08-28 16:54:14 -07:00
Bobbin Threadbare
9f54c82d62
feat: implement additional leaf traversal methods on MerkleStore
2023-08-28 16:50:34 -07:00
Bobbin Threadbare
c7f1535974
Merge pull request #182 from 0xPolygonMiden/andrew-tsmt-benchmark
...
Benchmark of the Tiered SMT
2023-08-17 16:12:23 -07:00
Andrey Khmuro
2214ff2425
chore: TSMT benchmark
2023-08-17 20:09:02 +02:00
Augusto F. Hack
f7e6922bff
error: moved to its own module
2023-08-15 16:36:46 +02:00
Augusto F. Hack
8cf5e9fd2c
feature: add conditional support for serde
2023-08-11 13:59:53 +02:00
Bobbin Threadbare
03f89f0aff
Merge pull request #177 from 0xPolygonMiden/bobbin-tsmt-delete-64
...
Bug fix in TSMT for depth 64 removal
2023-08-07 11:13:35 -07:00
Augusto F. Hack
f71d98970b
tsmt: export smt error
2023-08-07 11:13:24 +02:00
Bobbin Threadbare
b3e7578ab2
fix: misspelled variant name in TieredSmtProofError
2023-08-04 22:46:23 -07:00