[][src]Enum bulletproofs::range_proof_mpc::MPCError

pub enum MPCError {
    MaliciousDealer,
    InvalidBitsize,
    InvalidAggregation,
    InvalidGeneratorsLength,
    WrongNumBitCommitments,
    WrongNumPolyCommitments,
    WrongNumProofShares,
    MalformedProofShares {
        bad_shares: Vec<usize>,
    },
}

Represents an error during the multiparty computation protocol for proof aggregation.

This is a separate type from the ProofError to allow a layered API: although the MPC protocol is used internally for single-party proving, its API should not expose the complexity of the MPC protocol.

Variants

MaliciousDealer

This error occurs when the dealer gives a zero challenge, which would annihilate the blinding factors.

InvalidBitsize

This error occurs when attempting to create a proof with bitsize other than \(8\), \(16\), \(32\), or \(64\).

InvalidAggregation

This error occurs when attempting to create an aggregated proof with non-power-of-two aggregation size.

InvalidGeneratorsLength

This error occurs when there are insufficient generators for the proof.

WrongNumBitCommitments

This error occurs when the dealer is given the wrong number of value commitments.

WrongNumPolyCommitments

This error occurs when the dealer is given the wrong number of polynomial commitments.

WrongNumProofShares

This error occurs when the dealer is given the wrong number of proof shares.

MalformedProofShares

This error occurs when one or more parties submit malformed proof shares.

Fields of MalformedProofShares

bad_shares: Vec<usize>

A vector with the indexes of the parties whose shares were malformed.

Trait Implementations

impl Clone for MPCError[src]

impl Debug for MPCError[src]

impl Display for MPCError[src]

impl Eq for MPCError[src]

impl Fail for MPCError[src]

impl From<MPCError> for ProofError[src]

impl PartialEq<MPCError> for MPCError[src]

impl StructuralEq for MPCError[src]

impl StructuralPartialEq for MPCError[src]

Auto Trait Implementations

impl RefUnwindSafe for MPCError

impl Send for MPCError

impl Sync for MPCError

impl Unpin for MPCError

impl UnwindSafe for MPCError

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsFail for T where
    T: Fail, 

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<E> Fail for E where
    E: 'static + Error + Send + Sync

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.