use failure::Error;
#[derive(Fail, Debug)]
pub enum KZG10Errors {
#[fail(display = "cannot create PublicParameters with max degree as 0")]
DegreeIsZero,
#[fail(display = "cannot trim more than the maximum degree")]
TruncatedDegreeTooLarge,
#[fail(display = "cannot trim PublicParameters to a maximum size of zero")]
TruncatedDegreeIsZero,
#[fail(display = "proving key is not large enough to commit to said polynomial")]
PolynomialDegreeTooLarge,
#[fail(display = "cannot commit to polynomial of zero degree")]
PolynomialDegreeIsZero,
#[fail(display = "pairing check failed")]
PairingCheckFailure,
}
#[derive(Debug, Fail)]
#[fail(display = "polynomial commitment scheme module error")]
pub struct PolyCommitSchemeError(#[fail(cause)] pub(crate) Error);