shardtree: Add `InsertionError::MarkedRetentionInvalid`

This commit is contained in:
Kris Nuttycombe 2024-03-24 18:26:00 -06:00
parent e1a7a80212
commit ac9ecaca12
3 changed files with 12 additions and 10 deletions

View File

@ -7,17 +7,20 @@ and this project adheres to Rust's notion of
## Unreleased ## Unreleased
## Added ### 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

@ -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,
)), )),
} }
} }