Struct sp_finality_grandpa::EquivocationProof [−][src]
pub struct EquivocationProof<H, N> { /* fields omitted */ }
Expand description
Proof of voter misbehavior on a given set id. Misbehavior/equivocation in GRANDPA happens when a voter votes on the same round (either at prevote or precommit stage) for different blocks. Proving is achieved by collecting the signed messages of conflicting votes.
Implementations
Create a new EquivocationProof
for the given set id and using the
given equivocation as proof.
Returns the round number at which the equivocation occurred.
Returns the authority id of the equivocator.
Trait Implementations
impl<H, N> Decode for EquivocationProof<H, N> where
Equivocation<H, N>: Decode,
Equivocation<H, N>: Decode,
impl<H, N> Decode for EquivocationProof<H, N> where
Equivocation<H, N>: Decode,
Equivocation<H, N>: Decode,
Attempt to deserialise the value from input.
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
impl<H, N> Encode for EquivocationProof<H, N> where
Equivocation<H, N>: Encode,
Equivocation<H, N>: Encode,
impl<H, N> Encode for EquivocationProof<H, N> where
Equivocation<H, N>: Encode,
Equivocation<H, N>: Encode,
Convert self to a slice and append it to the destination.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
impl<H: PartialEq, N: PartialEq> PartialEq<EquivocationProof<H, N>> for EquivocationProof<H, N>
impl<H: PartialEq, N: PartialEq> PartialEq<EquivocationProof<H, N>> for EquivocationProof<H, N>
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
impl<H, N> EncodeLike<EquivocationProof<H, N>> for EquivocationProof<H, N> where
Equivocation<H, N>: Encode,
Equivocation<H, N>: Encode,
Auto Trait Implementations
impl<H, N> RefUnwindSafe for EquivocationProof<H, N> where
H: RefUnwindSafe,
N: RefUnwindSafe,
impl<H, N> Send for EquivocationProof<H, N> where
H: Send,
N: Send,
impl<H, N> Sync for EquivocationProof<H, N> where
H: Sync,
N: Sync,
impl<H, N> Unpin for EquivocationProof<H, N> where
H: Unpin,
N: Unpin,
impl<H, N> UnwindSafe for EquivocationProof<H, N> where
H: UnwindSafe,
N: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
impl<T> MaybeDebug for T where
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,