1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use std::{error::Error, fmt};
#[derive(Debug, PartialEq, Eq)]
pub enum StarkVerifyError {
BadAirPaths,
BadNextAirPaths,
BadAirBoundaryIndentity(usize),
BadAirTransitionIdentity(usize),
BadBoundaryConditionAuthenticationPaths,
BadMerkleProof(MerkleProofError),
EvaluationArgument(usize),
ProgramEvaluationArgument,
LinearCombinationAuthenticationPath,
LinearCombinationMismatch(usize), LinearCombinationTupleMismatch(usize), InputOutputMismatch,
HighDegreeExtendedComputationalTrace,
HighDegreeBoundaryQuotient,
HighDegreeTransitionQuotient,
HighDegreeLinearCombination,
MissingPreprocessedValues,
NonZeroBoundaryRemainder,
NonZeroTransitionRemainder,
}
impl Error for StarkVerifyError {}
impl fmt::Display for StarkVerifyError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{:?}", self)
}
}
#[derive(Debug, PartialEq, Eq)]
pub enum MerkleProofError {
BoundaryQuotientError(usize),
RandomizerError,
TransitionZerofierError,
}