arnaucube
arnaucube/NovaPublic Self-hosted repository
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}