From 325b3abf8b609af9a93fb5160a78abc3b6e629d2 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Fri, 17 Feb 2023 11:41:37 +0100 Subject: [PATCH] chore: prepare for `v0.1.2` release --- CHANGELOG.md | 8 +++++++- Cargo.toml | 2 +- README.md | 7 ++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d45247..1c362f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.1.2 (2023-02-17) + +- Fixed `Rpo256::hash` pad that was panicking on input (#44) +- Added `MerklePath` wrapper to encapsulate Merkle opening verification and root computation (#53) +- Added `NodeIndex` Merkle wrapper to encapsulate Merkle tree traversal and mappings (#54) + ## 0.1.1 (2023-02-06) - Introduced `merge_in_domain` for the RPO hash function, to allow using a specified domain value in the second capacity register when hashing two digests together. @@ -8,6 +14,6 @@ - Initial release on crates.io containing the cryptographic primitives used in Miden VM and the Miden Rollup. - Hash module with the BLAKE3 and Rescue Prime Optimized hash functions. - - BLAKE3 is implemented with 256-bit, 192-bit, or 160-bit output. + - BLAKE3 is implemented with 256-bit, 192-bit, or 160-bit output. - RPO is implemented with 256-bit output. - Merkle module, with a set of data structures related to Merkle trees, implemented using the RPO hash function. diff --git a/Cargo.toml b/Cargo.toml index 815a42b..bdb4702 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "miden-crypto" -version = "0.1.1" +version = "0.1.2" description="Miden Cryptographic primitives" authors = ["miden contributors"] readme="README.md" diff --git a/README.md b/README.md index 36f7bd5..82203b9 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,13 @@ For performance benchmarks of these hash functions and their comparison to other ## 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. * `MerklePathSet`: a collection of Merkle authentication paths all resolving to the same root. The length of the paths can be at most 64. +* `MerkleTree`: a regular fully-balanced binary Merkle tree. The depth of this tree can be at most 64. +* `SimpleSmt`: a Sparse Merkle Tree, mapping 63-bit keys to 4-element leaf values. +* `MerkleError`, `MerklePath`, and `NodeIndex` are Merkle wrappers to assist tree indexation, opening proofs, and report 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: