Commit graph

850 commits

Author SHA1 Message Date
0cc0f4593e squash 'move comment' into 'add SparseMerklePath' 2025-04-24 13:24:05 +02:00
Grzegorz Świrski
32ac42c0bc use Cow instead of the additional IntoIter struct 2025-04-24 13:23:35 +02:00
Grzegorz Świrski
0e44fd7220 loop over depths in tests 2025-04-24 13:23:35 +02:00
Grzegorz Świrski
d7dedea37b clarify empty_nodes_mask documentation 2025-04-24 13:23:35 +02:00
Grzegorz Świrski
2ad7b2b71f clarify that SparseMerklePath can store up to SMT_MAX_DEPTH nodes total 2025-04-24 13:23:35 +02:00
Grzegorz Świrski
69b5807b97 remove unsafe FromIterator<(NonZero<u8>, Option<RpoDigest>)> 2025-04-24 13:23:35 +02:00
Grzegorz Świrski
203bc8854a make from_iter_with_depth private, make sure iterators in tests have the same length 2025-04-24 13:23:35 +02:00
Grzegorz Świrski
2352b757ca keep at_depth and at_idx consistent wrt ownership 2025-04-24 13:23:35 +02:00
6fc1684ca1 sort crate:: imports after super:: imports 2025-04-24 13:23:35 +02:00
3273b8c1b6 smt: change SimpleSmt::open() to return a sparse path 2025-04-24 13:23:35 +02:00
5b0cd8517b SimpleSmt: do not assume that Merkle paths Deref to Vec in tests
This is in preparation for the next commit, where we change
`SimpleSmt::open()` to return a `SparseMerklePath`, which cannot
dereference to a Vec.
2025-04-24 13:23:35 +02:00
a8b999852a smt: add SparseMerklePath, a compact representation of MerklePath
Co-authored-by: Philipp Gackstatter <PhilippGackstatter@users.noreply.github.com>
2025-04-24 13:23:35 +02:00
3d836620c9 squash 'return a deserialization error' into 'add SparseMerklePath' 2025-04-24 13:23:21 +02:00
Grzegorz Świrski
6e9b708682 use Cow instead of the additional IntoIter struct 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
07f58c97dc loop over depths in tests 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
66a0e50276 clarify empty_nodes_mask documentation 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
8e685432bb clarify that SparseMerklePath can store up to SMT_MAX_DEPTH nodes total 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
0b3eb5c1bb remove unsafe FromIterator<(NonZero<u8>, Option<RpoDigest>)> 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
4319e5aa3a make from_iter_with_depth private, make sure iterators in tests have the same length 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
d25488ce2e keep at_depth and at_idx consistent wrt ownership 2025-04-24 13:22:57 +02:00
Grzegorz Świrski
976bc3c69f move comment 2025-04-24 13:22:57 +02:00
0d611e63b7 sort crate:: imports after super:: imports 2025-04-24 13:22:57 +02:00
9802b1d9b9 smt: change SimpleSmt::open() to return a sparse path 2025-04-24 13:22:57 +02:00
b15f41cd99 SimpleSmt: do not assume that Merkle paths Deref to Vec in tests
This is in preparation for the next commit, where we change
`SimpleSmt::open()` to return a `SparseMerklePath`, which cannot
dereference to a Vec.
2025-04-24 13:22:57 +02:00
f4d8603b32 smt: add SparseMerklePath, a compact representation of MerklePath
Co-authored-by: Philipp Gackstatter <PhilippGackstatter@users.noreply.github.com>
2025-04-24 13:22:57 +02:00
950741b255 squash 'move try_from doc to function level' into 'add SparseMerklePath' 2025-04-24 13:22:33 +02:00
Grzegorz Świrski
8f0e5ef9da use Cow instead of the additional IntoIter struct 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
1ecb51b493 loop over depths in tests 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
14172558cc clarify empty_nodes_mask documentation 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
386f379fac clarify that SparseMerklePath can store up to SMT_MAX_DEPTH nodes total 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
a2748bbf29 remove unsafe FromIterator<(NonZero<u8>, Option<RpoDigest>)> 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
01ba227880 make from_iter_with_depth private, make sure iterators in tests have the same length 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
226f5b5340 keep at_depth and at_idx consistent wrt ownership 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
8006beaaab move comment 2025-04-24 13:21:51 +02:00
Grzegorz Świrski
9855f035e0 return a deserialization error if too many empty nodes detected 2025-04-24 13:21:51 +02:00
4c990ba631 sort crate:: imports after super:: imports 2025-04-24 13:21:51 +02:00
6463802d7a smt: change SimpleSmt::open() to return a sparse path 2025-04-24 13:21:51 +02:00
abbe8d1638 SimpleSmt: do not assume that Merkle paths Deref to Vec in tests
This is in preparation for the next commit, where we change
`SimpleSmt::open()` to return a `SparseMerklePath`, which cannot
dereference to a Vec.
2025-04-24 13:21:51 +02:00
c5c9cb7345 smt: add SparseMerklePath, a compact representation of MerklePath
Co-authored-by: Philipp Gackstatter <PhilippGackstatter@users.noreply.github.com>
2025-04-24 13:21:51 +02:00
36ecb991d5 squash 'clearer assertions in sparse_path tests' into 'add SparseMerklePath' 2025-04-24 13:20:59 +02:00
Grzegorz Świrski
6c9b5f1eaa use Cow instead of the additional IntoIter struct 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
a96143da4f loop over depths in tests 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
0dc3e35501 clarify empty_nodes_mask documentation 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
10a64e7e08 clarify that SparseMerklePath can store up to SMT_MAX_DEPTH nodes total 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
87dc60e054 remove unsafe FromIterator<(NonZero<u8>, Option<RpoDigest>)> 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
34457f8b9c make from_iter_with_depth private, make sure iterators in tests have the same length 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
e63b3a8949 keep at_depth and at_idx consistent wrt ownership 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
6978cea693 move comment 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
987b50a172 return a deserialization error if too many empty nodes detected 2025-04-24 13:20:08 +02:00
Grzegorz Świrski
3a89096daf move try_from doc to function level for better ide support 2025-04-24 13:20:08 +02:00