pub enum MachineVerificationError<SC: StarkGenericConfig> {
InvalidShardProof(VerificationError<SC>),
InvalidGlobalProof(VerificationError<SC>),
NonZeroCumulativeSum(InteractionScope, usize),
InvalidPublicValuesDigest,
DebugInteractionsFailed,
EmptyProof,
InvalidPublicValues(&'static str),
TooManyShards,
InvalidChipOccurrence(String),
MissingCpuInFirstShard,
CpuLogDegreeTooLarge(usize),
InvalidVerificationKey,
}
Expand description
Errors that can occur during machine verification.
Variants§
InvalidShardProof(VerificationError<SC>)
An error occurred during the verification of a shard proof.
InvalidGlobalProof(VerificationError<SC>)
An error occurred during the verification of a global proof.
NonZeroCumulativeSum(InteractionScope, usize)
The cumulative sum is non-zero.
InvalidPublicValuesDigest
The public values digest is invalid.
DebugInteractionsFailed
The debug interactions failed.
EmptyProof
The proof is empty.
InvalidPublicValues(&'static str)
The public values are invalid.
TooManyShards
The number of shards is too large.
InvalidChipOccurrence(String)
The chip occurrence is invalid.
MissingCpuInFirstShard
The CPU is missing in the first shard.
CpuLogDegreeTooLarge(usize)
The CPU log degree is too large.
InvalidVerificationKey
The verification key is not allowed.
Implementations§
Source§impl<SC: StarkGenericConfig> MachineVerificationError<SC>
impl<SC: StarkGenericConfig> MachineVerificationError<SC>
Sourcepub fn is_constraints_failing(&self, expected_chip_name: &str) -> bool
pub fn is_constraints_failing(&self, expected_chip_name: &str) -> bool
This function will check if the verification error is from constraints failing.
Sourcepub fn is_local_cumulative_sum_failing(&self) -> bool
pub fn is_local_cumulative_sum_failing(&self) -> bool
This function will check if the verification error is from local cumulative sum failing.
Trait Implementations§
Source§impl<SC: StarkGenericConfig> Debug for MachineVerificationError<SC>
impl<SC: StarkGenericConfig> Debug for MachineVerificationError<SC>
Source§impl<SC: StarkGenericConfig> Display for MachineVerificationError<SC>
impl<SC: StarkGenericConfig> Display for MachineVerificationError<SC>
Source§impl<SC: StarkGenericConfig> Error for MachineVerificationError<SC>
impl<SC: StarkGenericConfig> Error for MachineVerificationError<SC>
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl<SC> Freeze for MachineVerificationError<SC>where
<<SC as StarkGenericConfig>::Pcs as Pcs<<SC as StarkGenericConfig>::Challenge, <SC as StarkGenericConfig>::Challenger>>::Error: Freeze,
impl<SC> RefUnwindSafe for MachineVerificationError<SC>where
<<SC as StarkGenericConfig>::Pcs as Pcs<<SC as StarkGenericConfig>::Challenge, <SC as StarkGenericConfig>::Challenger>>::Error: RefUnwindSafe,
impl<SC> Send for MachineVerificationError<SC>where
<<SC as StarkGenericConfig>::Pcs as Pcs<<SC as StarkGenericConfig>::Challenge, <SC as StarkGenericConfig>::Challenger>>::Error: Send,
impl<SC> Sync for MachineVerificationError<SC>where
<<SC as StarkGenericConfig>::Pcs as Pcs<<SC as StarkGenericConfig>::Challenge, <SC as StarkGenericConfig>::Challenger>>::Error: Sync,
impl<SC> Unpin for MachineVerificationError<SC>where
<<SC as StarkGenericConfig>::Pcs as Pcs<<SC as StarkGenericConfig>::Challenge, <SC as StarkGenericConfig>::Challenger>>::Error: Unpin,
impl<SC> UnwindSafe for MachineVerificationError<SC>where
<<SC as StarkGenericConfig>::Pcs as Pcs<<SC as StarkGenericConfig>::Challenge, <SC as StarkGenericConfig>::Challenger>>::Error: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more