Commit graph

693 commits

Author SHA1 Message Date
5d20459202 squash Cow commits into each other 2025-04-23 19:25:45 +02:00
Grzegorz Świrski
a39cd06537 use Cow instead of the additional IntoIter struct 2025-04-23 19:25:17 +02:00
8cedb9dafb fetch Greg's changes 2025-04-23 19:24:31 +02:00
Grzegorz Świrski
20156d1ac9 Cow without std 2025-04-17 22:11:46 +02:00
Grzegorz Świrski
866a6bd78a use Cow instead of the additional IntoIter struct 2025-04-16 17:47:33 +02:00
Grzegorz Świrski
9daaef8061 loop over depths in tests 2025-04-16 11:58:18 +02:00
Grzegorz Świrski
a03167ca8f clarify empty_nodes_mask documentation 2025-04-16 11:45:09 +02:00
Grzegorz Świrski
e5766b8194 clarify that SparseMerklePath can store up to SMT_MAX_DEPTH nodes total 2025-04-16 11:33:16 +02:00
Grzegorz Świrski
6c59d059eb remove unsafe FromIterator<(NonZero<u8>, Option<RpoDigest>)> 2025-04-16 11:31:04 +02:00
Grzegorz Świrski
c6edb4d42d make from_iter_with_depth private, make sure iterators in tests have the same length 2025-04-16 11:02:52 +02:00
Grzegorz Świrski
b9eaca42ac keep at_depth and at_idx consistent wrt ownership 2025-04-16 10:26:46 +02:00
Grzegorz Świrski
78f1edb918 move comment 2025-04-16 10:07:56 +02:00
Grzegorz Świrski
05fc26423d return a deserialization error if too many empty nodes detected 2025-04-16 10:05:39 +02:00
Grzegorz Świrski
d1e76062a3 move try_from doc to function level for better ide support 2025-04-16 09:50:20 +02:00
Grzegorz Świrski
d985fce4fa clearer assertions in sparse_path tests 2025-04-16 09:47:06 +02:00
Grzegorz Świrski
d2c4a02f0c swap test_borrowing_iterator and test_owning_iterator names 2025-04-16 09:40:23 +02:00
Grzegorz Świrski
71b741e0ce
expect instead of unwrap
Co-authored-by: Philipp Gackstatter <PhilippGackstatter@users.noreply.github.com>
2025-04-16 09:34:52 +02:00
Grzegorz Świrski
c168c72f5a
strengthen the wording in docs
Co-authored-by: Philipp Gackstatter <PhilippGackstatter@users.noreply.github.com>
2025-04-16 09:32:16 +02:00
d15031b1c7 move serialization above the iterators 2025-04-07 16:29:55 +02:00
5ab7980fbc smt: change SimpleSmt::open() to return a sparse path 2025-04-07 16:29:43 +02:00
5685f6d4b6 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-07 16:29:43 +02:00
80bd9af671 smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 16:29:43 +02:00
44ee5270eb SPARSE MERKLE PATH CONTAINERS -> SPARSE VALUE PATH 2025-04-07 16:29:14 +02:00
fadbc74bb4 smt: change SimpleSmt::open() to return a sparse path 2025-04-07 16:29:04 +02:00
0c436503e9 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-07 16:29:04 +02:00
9ae2934de9 smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 16:29:04 +02:00
5de2aecd3e update base 2025-04-07 16:22:41 +02:00
74fe4a2d07 SparseMerkleIter -> SparseMerklePathIter 2025-04-07 14:16:30 +02:00
92ddc2828d smt: change SimpleSmt::open() to return a sparse path 2025-04-07 14:16:19 +02:00
3c5ded9d55 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-07 14:16:19 +02:00
049d42d2ce smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 14:16:19 +02:00
92d44d2f0b sparse_nodes -> sparse_nodes_mask 2025-04-07 14:15:33 +02:00
af54b2d398 smt: change SimpleSmt::open() to return a sparse path 2025-04-07 14:14:41 +02:00
5e5b34dd8a 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-07 14:14:41 +02:00
30959d64c1 smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 14:14:41 +02:00
a803b2ec2e move test comments to correct commit 2025-04-07 14:13:59 +02:00
df8af38cbd smt: change SimpleSmt::open() to return a sparse path 2025-04-07 14:13:50 +02:00
96532c501c 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-07 14:13:50 +02:00
9d8aff79c1 smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 14:13:50 +02:00
0ce8270ed8 document error stuffs 2025-04-07 14:07:57 +02:00
49bda697ef smt: change SimpleSmt::open() to return a sparse path 2025-04-07 14:05:29 +02:00
539b002ada 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-07 14:05:29 +02:00
33985d9e22 smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 14:05:29 +02:00
0c7493e916 fix docstring part that says empty nodes have no effect on memory usage 2025-04-07 13:54:49 +02:00
21b2c08cf9 smt: change SimpleSmt::open() to return a sparse path 2025-04-07 13:54:32 +02:00
39397c707d 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-07 13:54:32 +02:00
9dada3a0d3 smt: add SparseMerklePath, a compact representation of MerklePath 2025-04-07 13:54:32 +02:00
52713f6895 add some comments to test_sparse_bits 2025-04-06 15:03:03 +02:00
25cfe91cc0 smt: change SimpleSmt::open() to return a sparse path 2025-04-06 15:02:45 +02:00
9fa2038ca8 add docstring to test_sparse_bits() 2025-04-04 15:49:45 +02:00