use ark_serialize::SerializationError;
use bulletproofs_plus_plus::error::BulletproofsPlusPlusError;
use schnorr_pok::error::SchnorrError;
#[derive(Debug)]
pub enum Error {
WitnessBiggerThanExpected,
WitnessBiggerThan64Bit,
ZOutOfRangeForRep(usize),
SchnorrCheckFailedForRep(usize),
MissingRangeProof,
BulletproofsPlusPlusGeneratorsDontMatchCommitmentKey,
RecreatedCommitmentsDontMatch,
ScalarFieldBaseFieldMismatch,
CannotCommitToExtensionOfDegree(u64),
PointAtInfinity,
CannotAddEqualPoints,
XCoordCantBeSame,
InvalidPointAddResult,
TauProofFailed,
TauSquareProofFailed,
TxProofFailed,
TyProofFailed,
InsufficientNumberOfRepetitions(usize, usize),
InsufficientChallengeSize(usize, usize),
IncorrectPointOpeningAtIndex(usize),
IncorrectScalarOpeningAtIndex(usize),
EcdsaSigResponseNotInvertible,
InvalidTransformedEcdsaSig,
BulletproofsPlusPlus(BulletproofsPlusPlusError),
Schnorr(SchnorrError),
Serialization(SerializationError),
}
impl From<BulletproofsPlusPlusError> for Error {
fn from(e: BulletproofsPlusPlusError) -> Self {
Self::BulletproofsPlusPlus(e)
}
}
impl From<SchnorrError> for Error {
fn from(e: SchnorrError) -> Self {
Self::Schnorr(e)
}
}
impl From<SerializationError> for Error {
fn from(e: SerializationError) -> Self {
Self::Serialization(e)
}
}