arnaucube
arnaucube/miden-cryptoPublic Self-hosted repository
Merge pull request #64 from 0xPolygonMiden/vlopes11-chore-release-v.0.1.2

chore: prepare for `v0.1.2` release
Bobbin Threadbare 43513081+bobbinth@users.noreply.github.com
Fri, 17 Feb 2023 10:59:04 -0800
commit

2d97153fd0a9e381075dd60ed53bd33cc64c6767

parent

b1a5ed6b5d63c90ae09d38df3fafb2a0355f78d1

3 files changed, 14 insertions(+), 3 deletions(-)

jump to
M CHANGELOG.md → 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 @@ ## 0.1.0 (2022-12-02)

- 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.
M Cargo.toml → 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"
M README.md → README.md

@@ -12,8 +12,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: +* `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. -* `MerklePathSet`: a collection of Merkle authentication paths all resolving to the same root. The length of the paths 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: