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 poly_iop::PolyIOPErrors;
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 /// PolyIOP error {0}
22 PolyIOPErrors(PolyIOPErrors),
23}
24
25impl From<SerializationError> for PCSErrors {
26 fn from(e: ark_serialize::SerializationError) -> Self {
27 Self::SerializationError(e)
28 }
29}
30
31impl From<PolyIOPErrors> for PCSErrors {
32 fn from(e: PolyIOPErrors) -> Self {
33 Self::PolyIOPErrors(e)
34 }
35}