use crate::{iopoly::Error as IOPolynomialError, polynomial::Error as PolynomialError};

#[derive(Debug, thiserror::Error)]
pub enum Error {
	#[error("the challenge vector does not match the expected size")]
	ChallengeVectorMismatch,
	#[error("polynomial error: {0}")]
	Polynomial(#[from] PolynomialError),
	#[error("verification failure: {0}")]
	Verification(#[from] VerificationError),
}

#[derive(Debug, thiserror::Error)]
pub enum VerificationError {
	#[error("the challenge vector does not match the expected size")]
	ChallengeVectorMismatch,
	#[error("iopolynomial error: {0}")]
	IOPolynomial(#[from] IOPolynomialError),
}
