Struct sp_consensus_slots::EquivocationProof
source · pub struct EquivocationProof<Header, Id> {
pub offender: Id,
pub slot: Slot,
pub first_header: Header,
pub second_header: Header,
}
Expand description
Represents an equivocation proof. An equivocation happens when a validator produces more than one block on the same slot. The proof of equivocation are the given distinct headers that were signed by the validator and which include the slot number.
Fields§
§offender: Id
Returns the authority id of the equivocator.
slot: Slot
The slot at which the equivocation happened.
first_header: Header
The first header involved in the equivocation.
second_header: Header
The second header involved in the equivocation.
Trait Implementations§
source§impl<Header: Clone, Id: Clone> Clone for EquivocationProof<Header, Id>
impl<Header: Clone, Id: Clone> Clone for EquivocationProof<Header, Id>
source§fn clone(&self) -> EquivocationProof<Header, Id>
fn clone(&self) -> EquivocationProof<Header, Id>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<Header, Id> Decode for EquivocationProof<Header, Id>where
Id: Decode,
Header: Decode,
impl<Header, Id> Decode for EquivocationProof<Header, Id>where Id: Decode, Header: Decode,
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>
Attempt to deserialise the value from input.
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where I: 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
source§impl<Header, Id> Encode for EquivocationProof<Header, Id>where
Id: Encode,
Header: Encode,
impl<Header, Id> Encode for EquivocationProof<Header, Id>where Id: Encode, Header: Encode,
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )
Convert self to a slice and append it to the destination.
§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere 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
source§impl<Header: PartialEq, Id: PartialEq> PartialEq<EquivocationProof<Header, Id>> for EquivocationProof<Header, Id>
impl<Header: PartialEq, Id: PartialEq> PartialEq<EquivocationProof<Header, Id>> for EquivocationProof<Header, Id>
source§fn eq(&self, other: &EquivocationProof<Header, Id>) -> bool
fn eq(&self, other: &EquivocationProof<Header, Id>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<Header, Id> TypeInfo for EquivocationProof<Header, Id>where
Id: TypeInfo + 'static,
Header: TypeInfo + 'static,
impl<Header, Id> TypeInfo for EquivocationProof<Header, Id>where Id: TypeInfo + 'static, Header: TypeInfo + 'static,
impl<Header, Id> EncodeLike<EquivocationProof<Header, Id>> for EquivocationProof<Header, Id>where Id: Encode, Header: Encode,
impl<Header: Eq, Id: Eq> Eq for EquivocationProof<Header, Id>
impl<Header, Id> StructuralEq for EquivocationProof<Header, Id>
impl<Header, Id> StructuralPartialEq for EquivocationProof<Header, Id>
Auto Trait Implementations§
impl<Header, Id> RefUnwindSafe for EquivocationProof<Header, Id>where Header: RefUnwindSafe, Id: RefUnwindSafe,
impl<Header, Id> Send for EquivocationProof<Header, Id>where Header: Send, Id: Send,
impl<Header, Id> Sync for EquivocationProof<Header, Id>where Header: Sync, Id: Sync,
impl<Header, Id> Unpin for EquivocationProof<Header, Id>where Header: Unpin, Id: Unpin,
impl<Header, Id> UnwindSafe for EquivocationProof<Header, Id>where Header: UnwindSafe, Id: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Decode
Self
and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere T: Decode,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. 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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere T: Codec,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.