pub enum GrindingMismatch {
Difficulty {
protocol: &'static str,
label: &'static str,
site: GrindingSite,
credited: usize,
recorded: usize,
},
Missing {
protocol: &'static str,
label: &'static str,
site: GrindingSite,
credited: usize,
},
Unexpected {
protocol: &'static str,
label: &'static str,
site: GrindingSite,
},
UnknownStep {
protocol: &'static str,
label: &'static str,
recorded: usize,
},
UnlistedProtocol {
protocol: &'static str,
label: &'static str,
recorded: usize,
},
}Expand description
A way the recorded difficulties and the credited ones can disagree.
Every variant names the site, and both numbers wherever there are two.
Variants§
Difficulty
A step is described at a difficulty the model does not credit.
Fields
§
site: GrindingSiteSite both halves are talking about.
Missing
The model credits bits at a site the transcript never grinds for.
This is the overstating direction.
The reported level then includes work no prover pays and no verifier checks.
Fields
§
site: GrindingSiteSite the model credits.
Unexpected
A zero-bit step is described where the protocol’s convention elides it.
Fields
§
site: GrindingSiteSite the step names.
UnknownStep
A described step whose (protocol, label) pair names no modeled site.
Fields
UnlistedProtocol
A described step from a protocol the caller did not list.
Trait Implementations§
Source§impl Clone for GrindingMismatch
impl Clone for GrindingMismatch
impl Copy for GrindingMismatch
Source§impl Debug for GrindingMismatch
impl Debug for GrindingMismatch
Source§impl Display for GrindingMismatch
impl Display for GrindingMismatch
impl Eq for GrindingMismatch
Source§impl Error for GrindingMismatch
impl Error for GrindingMismatch
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()
Source§impl PartialEq for GrindingMismatch
impl PartialEq for GrindingMismatch
impl StructuralPartialEq for GrindingMismatch
Auto Trait Implementations§
impl Freeze for GrindingMismatch
impl RefUnwindSafe for GrindingMismatch
impl Send for GrindingMismatch
impl Sync for GrindingMismatch
impl Unpin for GrindingMismatch
impl UnsafeUnpin for GrindingMismatch
impl UnwindSafe for GrindingMismatch
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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