sigma_protocols/
error.rs

1use std::fmt;
2
3#[derive(Debug, Clone)]
4pub enum Error {
5    InvalidProof,
6    InvalidChallenge,
7    InvalidCommitment,
8    InvalidResponse,
9    SerializationError(String),
10    InvalidPoint,
11    InvalidScalar,
12    TranscriptError(String),
13}
14
15impl fmt::Display for Error {
16    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17        match self {
18            Error::InvalidProof => write!(f, "Invalid proof"),
19            Error::InvalidChallenge => write!(f, "Invalid challenge"),
20            Error::InvalidCommitment => write!(f, "Invalid commitment"),
21            Error::InvalidResponse => write!(f, "Invalid response"),
22            Error::SerializationError(msg) => write!(f, "Serialization error: {msg}"),
23            Error::InvalidPoint => write!(f, "Invalid point"),
24            Error::InvalidScalar => write!(f, "Invalid scalar"),
25            Error::TranscriptError(msg) => write!(f, "Transcript error: {msg}"),
26        }
27    }
28}
29
30impl std::error::Error for Error {}
31
32pub type Result<T> = std::result::Result<T, Error>;