Browse Source

use thiserror (#135)

main
Srinath Setty 1 year ago
committed by GitHub
parent
commit
e7f8d11455
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions
  1. +1
    -0
      Cargo.toml
  2. +14
    -1
      src/errors.rs

+ 1
- 0
Cargo.toml

@ -32,6 +32,7 @@ bincode = "1.2.1"
flate2 = "1.0"
bitvec = "1.0"
byteorder = "1.4.3"
thiserror = "1.0"
[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies]
pasta-msm = { version = "0.1.0", package = "lurk-pasta-msm" }

+ 14
- 1
src/errors.rs

@ -1,31 +1,44 @@
//! This module defines errors returned by the library.
use core::fmt::Debug;
use thiserror::Error;
/// Errors returned by Nova
#[derive(Clone, Debug, Eq, PartialEq)]
#[derive(Clone, Debug, Eq, PartialEq, Error)]
pub enum NovaError {
/// returned if the supplied row or col in (row,col,val) tuple is out of range
#[error("InvalidIndex")]
InvalidIndex,
/// returned if the supplied input is not even-sized
#[error("OddInputLength")]
OddInputLength,
/// returned if the supplied input is not of the right length
#[error("InvalidInputLength")]
InvalidInputLength,
/// returned if the supplied witness is not of the right length
#[error("InvalidWitnessLength")]
InvalidWitnessLength,
/// returned if the supplied witness is not a satisfying witness to a given shape and instance
#[error("UnSat")]
UnSat,
/// returned when the supplied compressed commitment cannot be decompressed
#[error("DecompressionError")]
DecompressionError,
/// returned if proof verification fails
#[error("ProofVerifyError")]
ProofVerifyError,
/// returned if the provided number of steps is zero
#[error("InvalidNumSteps")]
InvalidNumSteps,
/// returned when an invalid inner product argument is provided
#[error("InvalidIPA")]
InvalidIPA,
/// returned when an invalid sum-check proof is provided
#[error("InvalidSumcheckProof")]
InvalidSumcheckProof,
/// returned when the initial input to an incremental computation differs from a previously declared arity
#[error("InvalidInitialInputLength")]
InvalidInitialInputLength,
/// returned when the step execution produces an output whose length differs from a previously declared arity
#[error("InvalidStepOutputLength")]
InvalidStepOutputLength,
}

Loading…
Cancel
Save