pub type Result<T> = std::result::Result<T, KeepsakeError>;
#[derive(Debug, thiserror::Error, Clone, PartialEq, Eq)]
pub enum KeepsakeError {
#[error("{field} must not be empty")]
EmptyIdentifier {
field: &'static str,
},
#[error("fulfillment threshold must be positive")]
InvalidFulfillmentThreshold,
#[error("relation {relation_id} is disabled")]
RelationDisabled {
relation_id: uuid::Uuid,
},
#[error("invalid keepsake lifecycle: {reason}")]
InvalidKeepsakeLifecycle {
reason: &'static str,
},
}