Commit graph

165 commits

Author SHA1 Message Date
Grzegorz Swirski
479fe5e649 feat: use AVX2 instructions whenever available 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
Al-Kindi-0
05309b19bb chore: export default Winterfell randomcoin 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
59d93cb8ba fix: typos 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
Bobbin Threadbare
8f92f44a55 feat: add serialization to RpoRandomCoin 2024-02-14 11:52:40 -08:00
Al-Kindi-0
36d3b8dc46 feat: move RpoRandomCoin and define Rng trait
nits: minor

chore: update log and readme
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
Austin Abell
b7cb346e22 feat: memoize Signature polynomial decoding 2024-02-14 11:52:40 -08:00
Philippe Laferriere
fd480f827a Consuming iterator for RpoDigest 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
a2a26e2aba docs: added RPX benchmarks 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
Augusto F. Hack
f33a982f29 rpo: added conversions for digest 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
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