Commit Graph

162 Commits

Author SHA1 Message Date
Bobbin Threadbare
9fb41337ec feat: add Clone derive to PartialMmr 2023-12-21 01:24:20 -08:00
Bobbin Threadbare
0296e05ccd refactor: return MmrPeaks from PartialMmr::peaks() 2023-12-21 01:00:52 -08:00
Bobbin Threadbare
499f97046d fix: typos 2023-12-21 00:17:41 -08:00
Bobbin Threadbare
600feafe53 feat: implement inner_nodes() iterator for PartialMmr 2023-12-21 00:16:36 -08:00
Bobbin Threadbare
9d854f1fcb feat: add serialization to RpoRandomCoin 2023-12-21 00:15:46 -08:00
Al-Kindi-0
af76cb10d0 feat: move RpoRandomCoin and define Rng trait
nits: minor

chore: update log and readme
2023-12-21 00:15:46 -08:00
Augusto F. Hack
4758e0672f serde: for MerklePath, ValuePath, and RootPath 2023-12-21 00:15:46 -08:00
Philippe Laferrière
8bb080a91d 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
2023-12-21 00:15:46 -08:00
Augusto F. Hack
e5f3b28645 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.
2023-12-21 00:15:46 -08:00
Philippe Laferrière
29e0d07129 MmrPeaks::hash_peaks() returns Digest (#230) 2023-12-21 00:15:46 -08:00
Philippe Laferrière
81a94ecbe7 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
2023-12-21 00:15:46 -08:00
Augusto F. Hack
223fbf887d simplesmt: simplify duplicate check 2023-12-21 00:15:46 -08:00
Philippe Laferrière
9e77a7c9b7 Introduce SimpleSmt::with_contiguous_leaves() (#227)
* with_contiguous_leaves

* test
2023-12-21 00:15:46 -08:00
Augusto F. Hack
894e20fe0c simplesmt: bugfix, index must be validated before modifying the tree 2023-12-21 00:15:46 -08:00
Austin Abell
7ec7b06574 feat: memoize Signature polynomial decoding 2023-12-21 00:15:46 -08:00
Philippe Laferriere
2499a8a2dd Consuming iterator for RpoDigest 2023-12-21 00:15:46 -08:00
Augusto F. Hack
800994c69b mmr: add into_parts for the peaks 2023-12-21 00:15:46 -08:00
Augusto F. Hack
26560605bf simple_smt: reduce serialized size, use static hashes of the empty word 2023-12-21 00:15:46 -08:00
Augusto F. Hack
672340d0c2 mmr: support accumulator of older forest versions 2023-12-21 00:15:46 -08:00
Augusto F. Hack
c726050957 mmr: support proofs with older forest versions 2023-12-21 00:15:46 -08:00
Augusto F. Hack
9239340888 mmr: support arbitrary from/to delta updates 2023-12-21 00:15:46 -08:00
Augusto F. Hack
97ee9298a4 mmr: publicly export MmrDelta 2023-12-21 00:15:46 -08:00
Al-Kindi-0
b4e2d63c10 docs: added RPX benchmarks 2023-12-21 00:15:46 -08:00
Al-Kindi-0
9679329746 feat: RPX (xHash12) hash function implementation 2023-12-21 00:15:45 -08:00
Augusto F. Hack
2bbea37dbe rpo: added conversions for digest 2023-12-21 00:14:28 -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
7f3d4b8966 fix: RPO Falcon build on Windows 2023-10-10 15:16:51 -07: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
Bobbin Threadbare
b1dbcee21d Merge pull request #189 from 0xPolygonMiden/frisitano-vault-delta
modify MerkleStore::non_empty_leaves to support TSMT
2023-10-02 18:04:56 -07:00
Grzegorz Swirski
701a187e7f feat: implement RPO hash using SVE instructionss 2023-09-20 12:11:53 +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
c1d0612115 refactor: run all benchmarks at once, leave only size run option 2023-08-17 21:50:01 +02: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
Bobbin Threadbare
6d0c7567f0 chore: minor code organization improvement 2023-08-12 09:59:02 -07:00
tohrnii
fb649df1e7 feat: derive ord and partialord for blake3digest 2023-08-11 20:09:34 +00: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
Bobbin Threadbare
5c6a20cb60 fix: bug in TSMT for depth 64 removal 2023-08-04 22:36:45 -07:00
Augusto F. Hack
83b6946432 tsmt: return error code instead of panic 2023-08-03 18:57:19 +02:00