use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RevocationBlob {
pub user_email: String,
pub key_fingerprint: String,
pub encapsulated_key: Vec<u8>,
pub ciphertext: Vec<u8>,
pub nonce: Vec<u8>,
}
#[derive(Debug, thiserror::Error)]
pub enum RevocationError {
#[error("malformed blob: {0}")]
Malformed(String),
#[error("verification token invalid: {0}")]
InvalidToken(String),
#[error("email verification failed: {0}")]
EmailVerificationFailed(String),
#[error("submission already in progress for {0}")]
AlreadyInProgress(String),
#[error("threshold decryption failed: {0}")]
ThresholdDecryption(String),
#[error("keyserver publication failed: {0}")]
Publish(String),
}