bf5b0e3255
MerklePath: document indexing order of nodes
...
I've left the iteration order of `MerklePath::inner_nodes()`
unspecified, but other methods of iteration and indexing are now
specified to be in order of deepest to shallowest.
2025-04-04 14:16:04 +02:00
09f78036a4
MerklePath: add clarity getters for API parity with future SparseMerklePath
...
This adds `MerklePath::at_depth()` and `MerklePath::at_idx()`, both for
clarity and for API parity with `SparseMerklePath` in the next commit.
2025-04-04 14:16:04 +02:00
99a7988e9e
PartialSmt: fix misleading variable names
2025-04-04 14:16:04 +02:00
41f72ecf2f
smt: impl SimpleSmt::get_path() which returns a sparse path
2025-04-04 14:16:04 +02:00
38d2ca3505
SparseMerklePath: impl From/Into conversions
2025-04-04 14:16:04 +02:00
441e29378e
SparseMerklePath: implement Serializable and Deserializable
2025-04-04 14:16:04 +02:00
8f833c77e6
SparseMerklePath: implement iterators
2025-04-04 14:16:04 +02:00
71967753c8
SparseMerklePath: implement random access
2025-04-04 14:16:04 +02:00
b116991b9d
smt: add SparseMerklePath
2025-04-04 14:16:04 +02:00
6cafc422b4
fix section of proof_indices()
2025-03-25 18:07:44 +01:00
dcf66efb56
smt: refactor MerklePath logic
...
Computation of the correct node indices to get is moved to
`NodeIndex::proof_indices()`, and getting a node's index based on its
parent is generalized into `SparseMerkleTree::get_hash()`.
2025-03-25 18:07:33 +01:00
4a9252b65e
PartialSmt: fix misleading variable names
2025-03-25 18:07:33 +01:00
adf552e1e2
smt: impl SimpleSmt::get_path() which returns a sparse path
2025-03-25 18:07:33 +01:00
74fb98578a
SparseMerklePath: impl From/Into conversions
2025-03-25 18:07:33 +01:00
e6e2b1439f
SparseMerklePath: implement Serializable and Deserializable
2025-03-25 18:07:33 +01:00
62b75ef686
SparseMerklePath: implement iterators
2025-03-25 18:07:33 +01:00
c645dd1ece
SparseMerklePath: implement random access
2025-03-25 18:07:33 +01:00
33e414b32a
smt: add SparseMerklePath
2025-03-25 18:07:33 +01:00
0af551a068
refactor for NodeIndex::proof_indices()
2025-03-25 18:06:49 +01:00
d66b001708
PartialSmt: fix misleading variable names
2025-03-25 18:06:31 +01:00
3a672c6e9d
smt: impl SimpleSmt::get_path() which returns a sparse path
2025-03-25 18:06:31 +01:00
1bb1a45bd0
SparseMerklePath: impl From/Into conversions
2025-03-25 18:06:31 +01:00
9b65debf2c
SparseMerklePath: implement Serializable and Deserializable
2025-03-25 18:06:31 +01:00
4252678e91
SparseMerklePath: implement iterators
2025-03-25 18:06:31 +01:00
10b2f389de
SparseMerklePath: implement random access
2025-03-25 18:06:22 +01:00
b1847cab25
smt: add SparseMerklePath
2025-03-25 18:06:07 +01:00
619944aec8
smt: refactor MerklePath logic
...
Computation of the correct node indices to get is moved to
`NodeIndex::proof_indices()`, and getting a node's index based on its
parent is generalized into `SparseMerkleTree::get_hash()`.
2025-03-25 18:02:30 +01:00
57ceff3a72
fix iterators for get()/get_nonempty() change
2025-03-25 15:17:56 +01:00
9c84bcb2f6
PartialSmt: fix misleading variable names
2025-03-25 15:16:37 +01:00
90423ca622
smt: impl SimpleSmt::get_path() which returns a sparse path
2025-03-25 15:16:37 +01:00
297868c532
SparseMerklePath: impl From/Into conversions
2025-03-25 15:16:37 +01:00
c65e5de887
SparseMerklePath: implement Serializable and Deserializable
2025-03-25 15:16:37 +01:00
f4fb5533c7
SparseMerklePath: implement iterators
2025-03-25 15:16:37 +01:00
c808c42da7
SparseMerklePath: implement random access
2025-03-25 15:05:09 +01:00
a5aeec4d5a
correctly make roundtrip() use make_smt()
2025-03-24 19:12:41 +01:00
d4909c2688
PartialSmt: fix misleading variable names
2025-03-24 19:12:31 +01:00
8e69a6b7e2
smt: impl SimpleSmt::get_path() which returns a sparse path
2025-03-24 19:12:31 +01:00
75eb258403
SparseMerklePath: impl From/Into conversions
2025-03-24 19:12:31 +01:00
5c9adf65a4
SparseMerklePath: implement Serializable and Deserializable
2025-03-24 19:12:31 +01:00
c138de8b01
SparseMerklePath: implement iterators
2025-03-24 19:12:31 +01:00
1ed99c8f0c
SparseMerklePath: implement random access
2025-03-24 19:12:31 +01:00
c63501e554
add get_nonempty() and impl get() in terms of it
2025-03-24 19:02:48 +01:00
8d8fcf6615
PartialSmt: fix misleading variable names
2025-03-24 19:02:37 +01:00
feaf149e7c
smt: impl SimpleSmt::get_path() which returns a sparse path
2025-03-24 19:02:37 +01:00
fde8076dfd
SparseMerklePath: impl From/Into conversions
2025-03-24 19:02:37 +01:00
9e128f9ada
SparseMerklePath: implement Serializable and Deserializable
2025-03-24 19:02:37 +01:00
990982ae30
SparseMerklePath: implement iterators
2025-03-24 19:02:37 +01:00
863a22c881
SparseMerklePath: implement random access
2025-03-24 19:02:37 +01:00
29ec193649
make get() return MerkleError::DepthTooBig instead of None
2025-03-24 18:51:53 +01:00
5d113771b1
PartialSmt: fix misleading variable names
2025-03-24 18:51:36 +01:00