- Re-added unintentionally removed re-exported liballoc macros (
vec
andformat
macros).
- Re-added unintentionally removed re-exported liballoc macros (#292).
- Updated
no-std
approach to be in sync with winterfell v0.8.3 release (#290).
- Fixed clippy warnings (#280)
- Implemented the
PartialMmr
data structure (#195). - Implemented RPX hash function (#201).
- Added
FeltRng
andRpoRandomCoin
(#237). - Accelerated RPO/RPX hash functions using AVX512 instructions (#234).
- Added
inner_nodes()
method toPartialMmr
(#238). - Improved
PartialMmr::apply_delta()
(#242). - Refactored
SimpleSmt
struct (#245). - Replaced
TieredSmt
struct withSmt
struct (#254, #277). - Updated Winterfell dependency to v0.8 (#275).
- Fixed RPO Falcon signature build on Windows.
- Replaced
MerklePathSet
withPartialMerkleTree
(#165). - Implemented clearing of nodes in
TieredSmt
(#173). - Added ability to generate inclusion proofs for
TieredSmt
(#174). - Implemented Falcon DSA (#179).
- Added conditional `serde`` support for various structs (#180).
- Implemented benchmarking for
TieredSmt
(#182). - Added more leaf traversal methods for
MerkleStore
(#185). - Added SVE acceleration for RPO hash function (#189).
- [BREAKING] Added support for recording capabilities for
MerkleStore
(#162). - [BREAKING] Refactored Merkle struct APIs to use
RpoDigest
instead ofWord
(#157). - Added initial implementation of
PartialMerkleTree
(#156).
- Implemented
TieredSmt
(#152, #153). - Implemented ability to extract a subset of a
MerkleStore
(#151). - Cleaned up
SimpleSmt
interface (#149). - Decoupled hashing and padding of peaks in
Mmr
(#148). - Added
inner_nodes()
toMerkleStore
(#146).
- Exported
MmrProof
from the crate (#137). - Allowed merging of leaves in
MerkleStore
(#138). - [BREAKING] Refactored how existing data structures are added to
MerkleStore
(#139).
- Added
depth
parameter to SMT constructors inMerkleStore
(#115). - Optimized MMR peak hashing for Miden VM (#120).
- Added
get_leaf_depth
method toMerkleStore
(#119). - Added inner node iterators to
MerkleTree
,SimpleSmt
, andMmr
(#117, #118, #121).
- Implemented
Mmr
and related structs (#67). - Implemented
MerkleStore
(#93, #94, #95, #107 #112). - Added benchmarks for
MerkleStore
vs. other structs (#97). - Added Merkle path containers (#99).
- Fixed depth handling in
MerklePathSet
(#110). - Updated Winterfell dependency to v0.6.
- Re-export winter-crypto Hasher, Digest & ElementHasher (#72)
- Updated Winterfell dependency to v0.5.1 (#68)
- 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)
- 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. - Added a simple sparse Merkle tree implementation.
- Added re-exports of Winterfell RandomCoin and RandomCoinError.
- 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.
- 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.