diff --git a/Cargo.lock b/Cargo.lock index c8150b9e..920455ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -318,7 +318,7 @@ dependencies = [ [[package]] name = "shardtree" -version = "0.2.0" +version = "0.3.0" dependencies = [ "assert_matches", "bitflags 2.4.1", diff --git a/shardtree/CHANGELOG.md b/shardtree/CHANGELOG.md index fc8e49a6..8f4c6a01 100644 --- a/shardtree/CHANGELOG.md +++ b/shardtree/CHANGELOG.md @@ -7,17 +7,22 @@ and this project adheres to Rust's notion of ## Unreleased -## Added +## [0.3.0] - 2024-03-25 + +### Added - `ShardTree::{store, store_mut}` - `ShardTree::insert_frontier` +### Changed +- `shardtree::error::InsertionError` has new variant `MarkedRetentionInvalid` + ## [0.2.0] - 2023-11-07 -## Added +### Added - `ShardTree::{root_at_checkpoint_id, root_at_checkpoint_id_caching}` - `ShardTree::{witness_at_checkpoint_id, witness_at_checkpoint_id_caching}` -## Changed +### Changed - `ShardTree::root_at_checkpoint` and `ShardTree::root_at_checkpoint_caching` have been renamed to `root_at_checkpoint_depth` and `root_at_checkpoint_depth_caching`, respectively. diff --git a/shardtree/Cargo.toml b/shardtree/Cargo.toml index 0a8baefb..49005b26 100644 --- a/shardtree/Cargo.toml +++ b/shardtree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "shardtree" -version = "0.2.0" +version = "0.3.0" authors = [ "Kris Nuttycombe ", ] diff --git a/shardtree/src/error.rs b/shardtree/src/error.rs index df6e9658..2debfb71 100644 --- a/shardtree/src/error.rs +++ b/shardtree/src/error.rs @@ -80,8 +80,7 @@ pub enum InsertionError { InputMalformed(Address), // The caller attempted to mark the empty tree state as corresponding to the state // for a spendable note. - // TODO: Add this proper error type for `shardtree-0.3.0` - //MarkedRetentionInvalid, + MarkedRetentionInvalid, } impl fmt::Display for InsertionError { @@ -108,9 +107,10 @@ impl fmt::Display for InsertionError { InsertionError::TreeFull => write!(f, "Note commitment tree is full."), InsertionError::InputMalformed(addr) => { write!(f, "Input malformed for insertion at address {:?}", addr) - } //InsertionError::MarkedRetentionInvalid => { - // write!(f, "Cannot use `Marked` retention for the empty tree.") - //} + } + InsertionError::MarkedRetentionInvalid => { + write!(f, "Cannot use `Marked` retention for the empty tree.") + } } } } diff --git a/shardtree/src/lib.rs b/shardtree/src/lib.rs index 1e7073bf..1f4510af 100644 --- a/shardtree/src/lib.rs +++ b/shardtree/src/lib.rs @@ -292,8 +292,7 @@ impl< is_marked: true, .. } | Retention::Marked => Err(ShardTreeError::Insert( - //TODO: use InsertionError::MarkedRetentionInvalid for `shardtree-0.3.0` - InsertionError::CheckpointOutOfOrder, + InsertionError::MarkedRetentionInvalid, )), } }