chore: add TieredSmt to readme
Bobbin Threadbare bobbinth@protonmail.com
Fri, 26 May 2023 14:41:22 -0700
2 files changed,
3 insertions(+),
4 deletions(-)
M
CHANGELOG.md
→
CHANGELOG.md
@@ -1,4 +1,5 @@
## 0.5.0 (2023-05-26) + * Implemented `TieredSmt` (#152, #153). * Implemented ability to extract a subset of a `MerkleStore` (#151). * Cleaned up `SimpleSmt` interface (#149).
M
README.md
→
README.md
@@ -13,15 +13,13 @@ ## Merkle
[Merkle module](./src/merkle/) provides a set of data structures related to Merkle trees. All these data structures are implemented using the RPO hash function described above. The data structures are: * `MerkleTree`: a regular fully-balanced binary Merkle tree. The depth of this tree can be at most 64. -* `SimpleSmt`: a Sparse Merkle Tree, mapping 64-bit keys to 4-element leaf values. * `MerklePathSet`: a collection of Merkle authentication paths all resolving to the same root. The length of the paths can be at most 64. * `MerkleStore`: a collection of Merkle trees of different heights designed to efficiently store trees with common subtrees. * `Mmr`: a Merkle mountain range structure designed to function as an append-only log. +* `SimpleSmt`: a Sparse Merkle Tree (with no compaction), mapping 64-bit keys to 4-element values. +* `TieredSmt`: a Sparse Merkle tree (with compaction), mapping 4-element keys to 4-element values. The module also contains additional supporting components such as `NodeIndex`, `MerklePath`, and `MerkleError` to assist with tree indexation, opening proofs, and reporting inconsistent arguments/state. - -## Extra -[Root module](./src/lib.rs) provides a set of constants, types, aliases, and utils required to use the primitives of this library. ## Crate features This crate can be compiled with the following features: