Struct sc_finality_grandpa::GrandpaJustification
source · [−]pub struct GrandpaJustification<Block: BlockT> { /* private fields */ }
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.
Implementations
sourceimpl<Block: BlockT> GrandpaJustification<Block>
impl<Block: BlockT> GrandpaJustification<Block>
sourcepub fn from_commit<C>(
client: &Arc<C>,
round: u64,
commit: Commit<Block>
) -> Result<GrandpaJustification<Block>, Error> where
C: HeaderBackend<Block>,
pub fn from_commit<C>(
client: &Arc<C>,
round: u64,
commit: Commit<Block>
) -> Result<GrandpaJustification<Block>, Error> where
C: HeaderBackend<Block>,
Create a GRANDPA justification from the given commit. This method assumes the commit is valid and well-formed.
sourcepub fn decode_and_verify_finalizes(
encoded: &[u8],
finalized_target: (Block::Hash, NumberFor<Block>),
set_id: u64,
voters: &VoterSet<AuthorityId>
) -> Result<GrandpaJustification<Block>, ClientError> where
NumberFor<Block>: BlockNumberOps,
pub fn decode_and_verify_finalizes(
encoded: &[u8],
finalized_target: (Block::Hash, NumberFor<Block>),
set_id: u64,
voters: &VoterSet<AuthorityId>
) -> Result<GrandpaJustification<Block>, ClientError> where
NumberFor<Block>: BlockNumberOps,
Decode a GRANDPA justification and validate the commit and the votes’ ancestry proofs finalize the given block.
Trait Implementations
sourceimpl<Block: Clone + BlockT> Clone for GrandpaJustification<Block> where
Block::Header: Clone,
impl<Block: Clone + BlockT> Clone for GrandpaJustification<Block> where
Block::Header: Clone,
sourcefn clone(&self) -> GrandpaJustification<Block>
fn clone(&self) -> GrandpaJustification<Block>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<Block: BlockT> Decode for GrandpaJustification<Block> where
Commit<Block>: Decode,
Commit<Block>: Decode,
Vec<Block::Header>: Decode,
Vec<Block::Header>: Decode,
impl<Block: BlockT> Decode for GrandpaJustification<Block> where
Commit<Block>: Decode,
Commit<Block>: Decode,
Vec<Block::Header>: Decode,
Vec<Block::Header>: Decode,
sourcefn 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.
sourcefn 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
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<Block: BlockT> Encode for GrandpaJustification<Block> where
Commit<Block>: Encode,
Commit<Block>: Encode,
Vec<Block::Header>: Encode,
Vec<Block::Header>: Encode,
impl<Block: BlockT> Encode for GrandpaJustification<Block> where
Commit<Block>: Encode,
Commit<Block>: Encode,
Vec<Block::Header>: Encode,
Vec<Block::Header>: Encode,
sourcefn 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.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn 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.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl<Block: PartialEq + BlockT> PartialEq<GrandpaJustification<Block>> for GrandpaJustification<Block> where
Block::Header: PartialEq,
impl<Block: PartialEq + BlockT> PartialEq<GrandpaJustification<Block>> for GrandpaJustification<Block> where
Block::Header: PartialEq,
sourcefn eq(&self, other: &GrandpaJustification<Block>) -> bool
fn eq(&self, other: &GrandpaJustification<Block>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &GrandpaJustification<Block>) -> bool
fn ne(&self, other: &GrandpaJustification<Block>) -> bool
This method tests for !=
.
impl<Block: BlockT> EncodeLike<GrandpaJustification<Block>> for GrandpaJustification<Block> where
Commit<Block>: Encode,
Commit<Block>: Encode,
Vec<Block::Header>: Encode,
Vec<Block::Header>: Encode,
impl<Block: Eq + BlockT> Eq for GrandpaJustification<Block> where
Block::Header: Eq,
impl<Block: BlockT> StructuralEq for GrandpaJustification<Block>
impl<Block: BlockT> StructuralPartialEq for GrandpaJustification<Block>
Auto Trait Implementations
impl<Block> RefUnwindSafe for GrandpaJustification<Block> where
<Block as Block>::Hash: RefUnwindSafe,
<Block as Block>::Header: RefUnwindSafe,
<<Block as Block>::Header as Header>::Number: RefUnwindSafe,
impl<Block> Send for GrandpaJustification<Block>
impl<Block> Sync for GrandpaJustification<Block>
impl<Block> Unpin for GrandpaJustification<Block> where
<Block as Block>::Hash: Unpin,
<Block as Block>::Header: Unpin,
<<Block as Block>::Header as Header>::Number: Unpin,
impl<Block> UnwindSafe for GrandpaJustification<Block> where
<Block as Block>::Hash: UnwindSafe,
<Block as Block>::Header: UnwindSafe,
<<Block as Block>::Header as Header>::Number: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
sourcefn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcepub fn unique_saturated_into(self) -> T
pub fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more