arnaucube
arnaucube/miden-cryptoPublic Self-hosted repository
chore: add TieredSmt to readme
Bobbin Threadbare bobbinth@protonmail.com
Fri, 26 May 2023 14:41:22 -0700
commit

2ed880d976fe0767bf7fb03c7d3eeb07857007f0

parent

daa27f49f2d6223120bc3a05f075efa004d626da

2 files changed, 3 insertions(+), 4 deletions(-)

jump to
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: