use thiserror::Error;
#[derive(Debug, Error)]
pub enum CryptoError {
#[error("HPKE encryption failed: {0}")]
HpkeEncrypt(String),
#[error("HPKE decryption failed: {0}")]
HpkeDecrypt(String),
#[error("invalid public key: {reason}")]
InvalidPublicKey {
reason: String,
},
#[error("invalid private key: {reason}")]
InvalidPrivateKey {
reason: String,
},
#[error("Ed25519 signing failed: {0}")]
SigningFailed(String),
#[error("Ed25519 verification failed: {0}")]
VerificationFailed(String),
#[error("key derivation failed: {0}")]
KeyDerivation(String),
#[error("envelope serialization failed: {0}")]
Serialization(String),
#[error("envelope deserialization failed: {0}")]
Deserialization(String),
#[error("threshold decryption failed: {0}")]
ThresholdDecrypt(String),
#[error("keystore encryption failed: {0}")]
KeystoreEncrypt(String),
#[error("keystore decryption failed: {0}")]
KeystoreDecrypt(String),
}