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