pub struct GrandpaJustification<Header: HeaderT> {
pub round: u64,
pub commit: Commit<Header>,
pub votes_ancestries: Vec<Header>,
}
Expand description
A GRANDPA justification for block finality, it includes a commit message and an ancestry proof including all headers routing all precommit target blocks to the commit target block. Due to the current voting strategy the precommit targets should be the same as the commit target, since honest voters don’t vote past authority set change blocks.
This is meant to be stored in the db and passed around the network to other nodes, and are used by syncing nodes to prove authority set handoffs.
Fields§
§round: u64
§commit: Commit<Header>
§votes_ancestries: Vec<Header>
Trait Implementations§
source§impl<Header: Clone + HeaderT> Clone for GrandpaJustification<Header>
impl<Header: Clone + HeaderT> Clone for GrandpaJustification<Header>
source§fn clone(&self) -> GrandpaJustification<Header>
fn clone(&self) -> GrandpaJustification<Header>
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: HeaderT> Decode for GrandpaJustification<Header>where
Commit<Header>: Decode,
Vec<Header>: Decode,
impl<Header: HeaderT> Decode for GrandpaJustification<Header>where Commit<Header>: Decode, Vec<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: HeaderT> Encode for GrandpaJustification<Header>where
Commit<Header>: Encode,
Vec<Header>: Encode,
impl<Header: HeaderT> Encode for GrandpaJustification<Header>where Commit<Header>: Encode, Vec<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 + HeaderT> PartialEq<GrandpaJustification<Header>> for GrandpaJustification<Header>
impl<Header: PartialEq + HeaderT> PartialEq<GrandpaJustification<Header>> for GrandpaJustification<Header>
source§fn eq(&self, other: &GrandpaJustification<Header>) -> bool
fn eq(&self, other: &GrandpaJustification<Header>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<Header> TypeInfo for GrandpaJustification<Header>where
Commit<Header>: TypeInfo + 'static,
Vec<Header>: TypeInfo + 'static,
Header: HeaderT + TypeInfo + 'static,
impl<Header> TypeInfo for GrandpaJustification<Header>where Commit<Header>: TypeInfo + 'static, Vec<Header>: TypeInfo + 'static, Header: HeaderT + TypeInfo + 'static,
impl<Header: HeaderT> EncodeLike<GrandpaJustification<Header>> for GrandpaJustification<Header>where Commit<Header>: Encode, Vec<Header>: Encode,
impl<Header: Eq + HeaderT> Eq for GrandpaJustification<Header>
impl<Header: HeaderT> StructuralEq for GrandpaJustification<Header>
impl<Header: HeaderT> StructuralPartialEq for GrandpaJustification<Header>
Auto Trait Implementations§
impl<Header> RefUnwindSafe for GrandpaJustification<Header>where Header: RefUnwindSafe, <Header as Header>::Hash: RefUnwindSafe, <Header as Header>::Number: RefUnwindSafe,
impl<Header> Send for GrandpaJustification<Header>
impl<Header> Sync for GrandpaJustification<Header>
impl<Header> Unpin for GrandpaJustification<Header>where Header: Unpin, <Header as Header>::Hash: Unpin, <Header as Header>::Number: Unpin,
impl<Header> UnwindSafe for GrandpaJustification<Header>where Header: UnwindSafe, <Header as Header>::Hash: UnwindSafe, <Header as Header>::Number: 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
.