Struct sc_finality_grandpa::GrandpaBlockImport
source · [−]pub struct GrandpaBlockImport<Backend, Block: BlockT, Client, SC> { /* private fields */ }
Expand description
A block-import handler for GRANDPA.
This scans each imported block for signals of changing authority set. If the block being imported enacts an authority set change then:
- If the current authority set is still live: we import the block
- Otherwise, the block must include a valid justification.
When using GRANDPA, the block import worker should be using this block import object.
Trait Implementations
sourceimpl<BE, Block: BlockT, Client, SC> BlockImport<Block> for GrandpaBlockImport<BE, Block, Client, SC> where
NumberFor<Block>: BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
for<'a> &'a Client: BlockImport<Block, Error = ConsensusError, Transaction = TransactionFor<Client, Block>>,
impl<BE, Block: BlockT, Client, SC> BlockImport<Block> for GrandpaBlockImport<BE, Block, Client, SC> where
NumberFor<Block>: BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
for<'a> &'a Client: BlockImport<Block, Error = ConsensusError, Transaction = TransactionFor<Client, Block>>,
type Error = ConsensusError
type Error = ConsensusError
The error type.
type Transaction = TransactionFor<Client, Block>
type Transaction = TransactionFor<Client, Block>
The transaction type used by the backend.
sourcefn import_block(
&mut self,
block: BlockImportParams<Block, Self::Transaction>,
new_cache: HashMap<Id, Vec<u8>>
) -> Result<ImportResult, Self::Error>
fn import_block(
&mut self,
block: BlockImportParams<Block, Self::Transaction>,
new_cache: HashMap<Id, Vec<u8>>
) -> Result<ImportResult, Self::Error>
Import a block. Read more
sourcefn check_block(
&mut self,
block: BlockCheckParams<Block>
) -> Result<ImportResult, Self::Error>
fn check_block(
&mut self,
block: BlockCheckParams<Block>
) -> Result<ImportResult, Self::Error>
Check block preconditions.
sourceimpl<Backend, Block: BlockT, Client, SC: Clone> Clone for GrandpaBlockImport<Backend, Block, Client, SC>
impl<Backend, Block: BlockT, Client, SC: Clone> Clone for GrandpaBlockImport<Backend, Block, Client, SC>
sourceimpl<BE, Block: BlockT, Client, SC> JustificationImport<Block> for GrandpaBlockImport<BE, Block, Client, SC> where
NumberFor<Block>: BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
SC: SelectChain<Block>,
impl<BE, Block: BlockT, Client, SC> JustificationImport<Block> for GrandpaBlockImport<BE, Block, Client, SC> where
NumberFor<Block>: BlockNumberOps,
DigestFor<Block>: Encode,
BE: Backend<Block>,
Client: ClientForGrandpa<Block, BE>,
SC: SelectChain<Block>,
type Error = ConsensusError
sourcefn on_start(&mut self) -> Vec<(Block::Hash, NumberFor<Block>)>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn on_start(&mut self) -> Vec<(Block::Hash, NumberFor<Block>)>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Called by the import queue when it is started. Returns a list of justifications to request from the network. Read more
sourcefn import_justification(
&mut self,
hash: Block::Hash,
number: NumberFor<Block>,
justification: Justification
) -> Result<(), Self::Error>
fn import_justification(
&mut self,
hash: Block::Hash,
number: NumberFor<Block>,
justification: Justification
) -> Result<(), Self::Error>
Import a Block justification and finalize the given block.
Auto Trait Implementations
impl<Backend, Block, Client, SC> !RefUnwindSafe for GrandpaBlockImport<Backend, Block, Client, SC>
impl<Backend, Block, Client, SC> Send for GrandpaBlockImport<Backend, Block, Client, SC> where
Backend: Send,
Client: Send + Sync,
SC: Send,
impl<Backend, Block, Client, SC> Sync for GrandpaBlockImport<Backend, Block, Client, SC> where
Backend: Sync,
Client: Send + Sync,
SC: Sync,
impl<Backend, Block, Client, SC> Unpin for GrandpaBlockImport<Backend, Block, Client, SC> where
Backend: Unpin,
SC: Unpin,
<Block as Block>::Hash: Unpin,
<<Block as Block>::Header as Header>::Number: Unpin,
impl<Backend, Block, Client, SC> !UnwindSafe for GrandpaBlockImport<Backend, Block, Client, SC>
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> 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