use thiserror::Error;
#[derive(Debug, Error, Clone, PartialEq, Eq)]
pub enum TholosError {
#[error("signature invalid or sender not allowed")]
BadSignature,
#[error("missing envelope for recipient {0}")]
MissingEnvelope(String),
#[error("malformed field: {0}")]
Malformed(&'static str),
#[error("aead failure")]
Aead,
#[error("serialization error: {0}")]
Ser(String),
#[error("at least one recipient is required")]
NoRecipients,
#[error("unsupported wire format version {v} / suite {suite}")]
UnsupportedSuite { v: u32, suite: String },
}