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}