Struct sc_finality_grandpa::GrandpaBlockImport [−][src]
pub struct GrandpaBlockImport<Backend, Block: BlockT, Client, SC> { /* fields omitted */ }
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
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>,
    &'a Client: BlockImport<Block, Error = ConsensusError, Transaction = TransactionFor<Client, Block>>, [src]
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>,
    &'a Client: BlockImport<Block, Error = ConsensusError, Transaction = TransactionFor<Client, Block>>, [src]type Error = ConsensusError
The error type.
type Transaction = TransactionFor<Client, Block>
The transaction type used by the backend.
fn import_block(
    &mut self, 
    block: BlockImportParams<Block, Self::Transaction>, 
    new_cache: HashMap<Id, Vec<u8>>
) -> Result<ImportResult, Self::Error>[src]
&mut self,
block: BlockImportParams<Block, Self::Transaction>,
new_cache: HashMap<Id, Vec<u8>>
) -> Result<ImportResult, Self::Error>
fn check_block(
    &mut self, 
    block: BlockCheckParams<Block>
) -> Result<ImportResult, Self::Error>[src]
&mut self,
block: BlockCheckParams<Block>
) -> Result<ImportResult, Self::Error>
impl<Backend, Block: BlockT, Client, SC: Clone> Clone for GrandpaBlockImport<Backend, Block, Client, SC>[src]
impl<Backend, Block: BlockT, Client, SC: Clone> Clone for GrandpaBlockImport<Backend, Block, Client, SC>[src]fn clone(&self) -> Self[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
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>, [src]
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>, [src]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, 
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, 
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, 
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
impl<T> CheckedConversion for T[src]
impl<T> CheckedConversion for T[src]pub fn checked_from<T>(t: T) -> Option<Self> where
    Self: TryFrom<T>, [src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
    Self: TryInto<T>, [src]
Self: TryInto<T>,
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, [src]
impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, [src]impl<T> SaturatedConversion for T[src]
impl<T> SaturatedConversion for T[src]pub fn saturated_from<T>(t: T) -> Self where
    Self: UniqueSaturatedFrom<T>, [src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
    Self: UniqueSaturatedInto<T>, [src]
Self: UniqueSaturatedInto<T>,
impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, [src]
impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, [src]pub fn unchecked_into(self) -> T[src]
impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, [src]
impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, [src]pub fn unique_saturated_into(self) -> T[src]
impl<T> WithSubscriber for T[src]
impl<T> WithSubscriber for T[src]pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
    S: Into<Dispatch>, [src]
S: Into<Dispatch>,