dusk-plonk 0.2.3

A pure-Rust implementation of the PLONK ZK-Proof algorithm
Documentation
//! Errors related to the proof_system module.

use failure::Error;
/// Defines all of the possible ProofError types that we could have when
/// we are working with the `proof_system` module.
#[derive(Fail, Debug)]
pub enum ProofErrors {
    /// This error occurs when the verification of a `Proof` fails.
    #[fail(display = "proof verification failed")]
    ProofVerificationError,
    /// This error occurrs when the Prover structure already contains a
    /// preprocessed circuit inside, but you call preprocess again.
    #[fail(display = "circuit already preprocessed")]
    CircuitAlreadyPreprocessed,
}

#[derive(Debug, Fail)]
#[fail(display = "proof_system module error")]
/// Represents an error triggered on any of the proof_system
/// module operations such as verification errors
pub struct ProofError(#[fail(cause)] pub(crate) Error);