use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("invalid hex: {0}")]
InvalidHex(String),
#[error("invalid length: expected {expected} bytes, got {got}")]
InvalidLength { expected: usize, got: usize },
#[error("invalid Ed25519 key")]
InvalidPublicKey,
#[error("signature verification failed")]
SignatureVerification,
#[error("Argon2id derivation failed: {0}")]
Kdf(String),
#[error("AEAD operation failed")]
Aead,
}