snarkvm_algorithms/
errors.rs1use crate::{r1cs::SynthesisError, snark::varuna::ahp::AHPError};
17use snarkvm_fields::ConstraintFieldError;
18
19#[derive(Debug, Error)]
20pub enum SNARKError {
21 #[error("{}", _0)]
22 AnyhowError(#[from] anyhow::Error),
23
24 #[error("{}", _0)]
25 ConstraintFieldError(#[from] ConstraintFieldError),
26
27 #[error("{}: {}", _0, _1)]
28 Crate(&'static str, String),
29
30 #[error("Expected a circuit-specific SRS in SNARK")]
31 ExpectedCircuitSpecificSRS,
32
33 #[error("{}", _0)]
34 Message(String),
35
36 #[error("{}", _0)]
37 SynthesisError(#[from] SynthesisError),
38
39 #[error("Batch size was zero; must be at least 1")]
40 EmptyBatch,
41
42 #[error("Batch size was different between public input and proof")]
43 BatchSizeMismatch,
44
45 #[error("Public input size was different from the circuit")]
46 PublicInputSizeMismatch,
47
48 #[error("Circuit not found")]
49 CircuitNotFound,
50}
51
52impl From<AHPError> for SNARKError {
53 fn from(err: AHPError) -> Self {
54 SNARKError::Crate("AHPError", format!("{err:?}"))
55 }
56}