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
## Added
### 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.

View File

@ -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.")
}
}
}
}

View File

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