Skip to main content

qssm_le/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4#[non_exhaustive]
5pub enum LeError {
6    #[error("R1CS or witness input exceeds allowed size")]
7    OversizedInput,
8    #[error("shortness / rejection sampling bound violated")]
9    RejectedSample,
10    /// Reserved for future proving backends where ring multiplication may fail.
11    #[allow(dead_code)]
12    #[error("ring multiplication failed")]
13    RingMul,
14    #[error("prover rejected too many times (Lyubashevsky aborts)")]
15    ProverAborted,
16    #[error("verifier rejected proof: infinity norm exceeded bound")]
17    InvalidNorm,
18    #[error("verifier rejected proof: transcript domain/challenge mismatch")]
19    DomainMismatch,
20}