1use thiserror::Error;
2
3#[derive(Debug, Error, Clone, PartialEq, Eq)]
4pub enum Groth16Error {
5 #[error("Incompatible Verifying Key with number of public inputs")]
6 IncompatibleVerifyingKeyWithNrPublicInputs,
7 #[error("ProofVerificationFailed")]
8 ProofVerificationFailed,
9 #[error("PreparingInputsG1AdditionFailed")]
10 PreparingInputsG1AdditionFailed,
11 #[error("PreparingInputsG1MulFailed")]
12 PreparingInputsG1MulFailed,
13 #[error("InvalidG1Length")]
14 InvalidG1Length,
15 #[error("InvalidG2Length")]
16 InvalidG2Length,
17 #[error("InvalidPublicInputsLength")]
18 InvalidPublicInputsLength,
19 #[error("DecompressingG1Failed")]
20 DecompressingG1Failed,
21 #[error("DecompressingG2Failed")]
22 DecompressingG2Failed,
23 #[error("PublicInputGreaterThanFieldSize")]
24 PublicInputGreaterThanFieldSize,
25}