snark_verifier/
lib.rs

1//! Generic (S)NARK verifier.
2
3#![allow(clippy::type_complexity, clippy::too_many_arguments, clippy::upper_case_acronyms)]
4#![deny(missing_debug_implementations, missing_docs, unsafe_code, rustdoc::all)]
5
6pub mod cost;
7pub mod loader;
8pub mod pcs;
9pub mod system;
10pub mod util;
11pub mod verifier;
12
13pub(crate) use halo2_base::halo2_proofs;
14pub(crate) use halo2_proofs::halo2curves as halo2_curves;
15
16pub use halo2_base;
17#[cfg(feature = "loader_halo2")]
18pub use halo2_ecc;
19
20/// Error that could happen while verification.
21#[derive(Clone, Debug)]
22pub enum Error {
23    /// Instances that don't match the amount specified in protocol.
24    InvalidInstances,
25    /// Protocol that is unreasonable for a verifier.
26    InvalidProtocol(String),
27    /// Assertion failure while verification.
28    AssertionFailure(String),
29    /// Transcript error.
30    Transcript(std::io::ErrorKind, String),
31}