Nova/src/errors.rs
src/errors.rsRaw
1//! This module defines errors returned by the library.
2use core::fmt::Debug;
3
4/// Errors returned by Nova
5#[derive(Clone, Debug, Eq, PartialEq)]
6pub enum NovaError {
7 /// returned if the supplied row or col in (row,col,val) tuple is out of range
8 InvalidIndex,
9 /// returned if the supplied input is not even-sized
10 OddInputLength,
11 /// returned if the supplied input is not of the right length
12 InvalidInputLength,
13 /// returned if the supplied witness is not of the right length
14 InvalidWitnessLength,
15 /// returned if the supplied witness is not a satisfying witness to a given shape and instance
16 UnSat,
17 /// returned when the supplied compressed commitment cannot be decompressed
18 DecompressionError,
19 /// returned if proof verification fails
20 ProofVerifyError,
21 /// returned if the provided number of steps is zero
22 InvalidNumSteps,
23 /// returned when an invalid inner product argument is provided
24 InvalidIPA,
25 /// returned when an invalid sum-check proof is provided
26 InvalidSumcheckProof,
27 /// returned when the initial input to an incremental computation differs from a previously declared arity
28 InvalidInitialInputLength,
29 /// returned when the step execution produces an output whose length differs from a previously declared arity
30 InvalidStepOutputLength,
31}