Merge pull request #102 from zcash/release-shardtree-v0.3.0

Release shardtree v0.3.0
This commit is contained in:
Kris Nuttycombe 2024-03-24 20:24:22 -06:00 committed by GitHub
commit 13a3c997a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 16 additions and 12 deletions

2
Cargo.lock generated
View File

@ -318,7 +318,7 @@ dependencies = [
[[package]] [[package]]
name = "shardtree" name = "shardtree"
version = "0.2.0" version = "0.3.0"
dependencies = [ dependencies = [
"assert_matches", "assert_matches",
"bitflags 2.4.1", "bitflags 2.4.1",

View File

@ -7,17 +7,22 @@ and this project adheres to Rust's notion of
## Unreleased ## Unreleased
## Added ## [0.3.0] - 2024-03-25
### Added
- `ShardTree::{store, store_mut}` - `ShardTree::{store, store_mut}`
- `ShardTree::insert_frontier` - `ShardTree::insert_frontier`
### Changed
- `shardtree::error::InsertionError` has new variant `MarkedRetentionInvalid`
## [0.2.0] - 2023-11-07 ## [0.2.0] - 2023-11-07
## Added ### Added
- `ShardTree::{root_at_checkpoint_id, root_at_checkpoint_id_caching}` - `ShardTree::{root_at_checkpoint_id, root_at_checkpoint_id_caching}`
- `ShardTree::{witness_at_checkpoint_id, witness_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 - `ShardTree::root_at_checkpoint` and `ShardTree::root_at_checkpoint_caching` have
been renamed to `root_at_checkpoint_depth` and `root_at_checkpoint_depth_caching`, been renamed to `root_at_checkpoint_depth` and `root_at_checkpoint_depth_caching`,
respectively. respectively.

View File

@ -1,6 +1,6 @@
[package] [package]
name = "shardtree" name = "shardtree"
version = "0.2.0" version = "0.3.0"
authors = [ authors = [
"Kris Nuttycombe <kris@nutty.land>", "Kris Nuttycombe <kris@nutty.land>",
] ]

View File

@ -80,8 +80,7 @@ pub enum InsertionError {
InputMalformed(Address), InputMalformed(Address),
// The caller attempted to mark the empty tree state as corresponding to the state // The caller attempted to mark the empty tree state as corresponding to the state
// for a spendable note. // for a spendable note.
// TODO: Add this proper error type for `shardtree-0.3.0` MarkedRetentionInvalid,
//MarkedRetentionInvalid,
} }
impl fmt::Display for InsertionError { impl fmt::Display for InsertionError {
@ -108,9 +107,10 @@ impl fmt::Display for InsertionError {
InsertionError::TreeFull => write!(f, "Note commitment tree is full."), InsertionError::TreeFull => write!(f, "Note commitment tree is full."),
InsertionError::InputMalformed(addr) => { InsertionError::InputMalformed(addr) => {
write!(f, "Input malformed for insertion at address {:?}", 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.")
}
} }
} }
} }

View File

@ -292,8 +292,7 @@ impl<
is_marked: true, .. is_marked: true, ..
} }
| Retention::Marked => Err(ShardTreeError::Insert( | Retention::Marked => Err(ShardTreeError::Insert(
//TODO: use InsertionError::MarkedRetentionInvalid for `shardtree-0.3.0` InsertionError::MarkedRetentionInvalid,
InsertionError::CheckpointOutOfOrder,
)), )),
} }
} }