From 858f95d4a12f4fc922a76f5edcae07bba6a7f149 Mon Sep 17 00:00:00 2001 From: Bobbin Threadbare Date: Sun, 25 Jun 2023 01:54:34 -0700 Subject: [PATCH] chore: update changelog --- CHANGELOG.md | 6 +++++- README.md | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f61b43..6f83519 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ -## 0.6.0 (TBD) +## 0.6.0 (2023-06-25) + +* [BREAKING] Added support for recording capabilities for `MerkleStore` (#162). +* [BREAKING] Refactored Merkle struct APIs to use `RpoDigest` instead of `Word` (#157). +* Added initial implementation of `PartialMerkleTree` (#156). ## 0.5.0 (2023-05-26) diff --git a/README.md b/README.md index 19ffab0..b0bbdfe 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,11 @@ 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: +* `Mmr`: a Merkle mountain range structure designed to function as an append-only log. * `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. -* `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. +* `MerkleStore`: a collection of Merkle trees of different heights designed to efficiently store trees with common subtrees. When instantiated with `RecordingMap`, a Merkle store records all accesses to the original data. +* `PartialMerkleTree`: a partial view of a Merkle tree where some sub-trees may not be known. This is similar to a collection of Merkle paths all resolving to the same root. The length of the paths can be at most 64. * `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.