arnaucube
arnaucube/hyperplonkPublic Self-hosted repository
hyperplonk/poly-iop/src/errors.rs
poly-iop/src/errors.rsRaw
 1//! Error module.
 2
 3use ark_std::string::String;
 4use displaydoc::Display;
 5use transcript::TranscriptErrors;
 6
 7/// A `enum` specifying the possible failure modes of the PolyIOP.
 8#[derive(Display, Debug)]
 9pub enum PolyIOPErrors {
10    /// Invalid Prover: {0}
11    InvalidProver(String),
12    /// Invalid Verifier: {0}
13    InvalidVerifier(String),
14    /// Invalid Proof: {0}
15    InvalidProof(String),
16    /// Invalid parameters: {0}
17    InvalidParameters(String),
18    /// Invalid challenge: {0}
19    InvalidChallenge(String),
20    /// Should not arrive to this point
21    ShouldNotArrive,
22    /// An error during (de)serialization: {0}
23    SerializationError(ark_serialize::SerializationError),
24    /// Transcript Error: {0}
25    TranscriptError(TranscriptErrors),
26}
27
28impl From<ark_serialize::SerializationError> for PolyIOPErrors {
29    fn from(e: ark_serialize::SerializationError) -> Self {
30        Self::SerializationError(e)
31    }
32}
33
34impl From<TranscriptErrors> for PolyIOPErrors {
35    fn from(e: TranscriptErrors) -> Self {
36        Self::TranscriptError(e)
37    }
38}