pub enum CheckpointOutcome {
Consistent {
checkpoints_checked: u64,
},
BadSignature {
seq: u64,
},
Truncated {
checkpoint_seq: u64,
current_max_seq: u64,
},
TipMismatch {
seq: u64,
anchored: String,
actual: String,
},
CannotVerify {
reason: String,
},
}Expand description
Result of checking anchored checkpoints against the current chain.
Variants§
Consistent
Every checkpoint’s signature is valid and its committed tip is still
present in the chain at the committed seq.
BadSignature
A checkpoint signature failed to verify under the public key.
Truncated
A checkpoint commits to a seq no longer present in the chain — the
chain has been truncated below a previously anchored tip.
TipMismatch
A checkpoint’s committed chain_tip does not match the chain’s
chain_hash at that seq — the chain was rewritten.
CannotVerify
Could not verify (e.g. malformed public key).
Trait Implementations§
Source§impl Clone for CheckpointOutcome
impl Clone for CheckpointOutcome
Source§fn clone(&self) -> CheckpointOutcome
fn clone(&self) -> CheckpointOutcome
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CheckpointOutcome
impl Debug for CheckpointOutcome
impl Eq for CheckpointOutcome
Source§impl PartialEq for CheckpointOutcome
impl PartialEq for CheckpointOutcome
impl StructuralPartialEq for CheckpointOutcome
Auto Trait Implementations§
impl Freeze for CheckpointOutcome
impl RefUnwindSafe for CheckpointOutcome
impl Send for CheckpointOutcome
impl Sync for CheckpointOutcome
impl Unpin for CheckpointOutcome
impl UnsafeUnpin for CheckpointOutcome
impl UnwindSafe for CheckpointOutcome
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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