Trait sc_consensus::block_import::BlockImport

source ·
pub trait BlockImport<B: BlockT> {
    type Error: Error + Send + 'static;
    type Transaction: Send + 'static;

    // Required methods
    fn check_block<'life0, 'async_trait>(
        &'life0 mut self,
        block: BlockCheckParams<B>,
    ) -> Pin<Box<dyn Future<Output = Result<ImportResult, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn import_block<'life0, 'async_trait>(
        &'life0 mut self,
        block: BlockImportParams<B, Self::Transaction>,
    ) -> Pin<Box<dyn Future<Output = Result<ImportResult, Self::Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Block import trait.

Required Associated Types§

source

type Error: Error + Send + 'static

The error type.

source

type Transaction: Send + 'static

The transaction type used by the backend.

Required Methods§

source

fn check_block<'life0, 'async_trait>( &'life0 mut self, block: BlockCheckParams<B>, ) -> Pin<Box<dyn Future<Output = Result<ImportResult, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Check block preconditions.

source

fn import_block<'life0, 'async_trait>( &'life0 mut self, block: BlockImportParams<B, Self::Transaction>, ) -> Pin<Box<dyn Future<Output = Result<ImportResult, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Import a block.

Implementations on Foreign Types§

source§

impl<B: BlockT, T, E: Error + Send + 'static, Transaction> BlockImport<B> for Arc<T>
where for<'r> &'r T: BlockImport<B, Error = E, Transaction = Transaction>, T: Send + Sync, Transaction: Send + 'static,

§

type Error = E

§

type Transaction = Transaction

source§

fn check_block<'life0, 'async_trait>( &'life0 mut self, block: BlockCheckParams<B>, ) -> Pin<Box<dyn Future<Output = Result<ImportResult, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source§

fn import_block<'life0, 'async_trait>( &'life0 mut self, block: BlockImportParams<B, Transaction>, ) -> Pin<Box<dyn Future<Output = Result<ImportResult, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

source§

impl<B: BlockT, Transaction> BlockImport<B> for BoxBlockImport<B, Transaction>
where Transaction: Send + 'static,

§

type Error = Error

§

type Transaction = Transaction