use thiserror::Error; #[derive(Debug, Error)] pub enum PowError { #[error("pow hmac secret is not configured")] MissingSecret, #[error("unsupported pow algorithm: {0}")] UnsupportedAlgorithm(String), #[error("pow challenge expired")] Expired, #[error("invalid pow challenge signature")] InvalidSignature, #[error("invalid pow solution")] InvalidSolution, #[error("pow challenge was not issued or already used")] NotIssued, #[error("pow challenge was issued for a different client")] ClientMismatch, #[error("pow store error: {0}")] Storage(String), #[error("pow error: {0}")] Altcha(#[from] altcha::Error), }