referrerpolicy=no-referrer-when-downgrade
substrate_test_client::client_ext

Trait ClientBlockImportExt

Source
pub trait ClientBlockImportExt<Block: BlockT>: Sized {
    // Required methods
    fn import<'life0, 'async_trait>(
        &'life0 self,
        origin: BlockOrigin,
        block: Block,
    ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn import_as_best<'life0, 'async_trait>(
        &'life0 self,
        origin: BlockOrigin,
        block: Block,
    ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn import_as_final<'life0, 'async_trait>(
        &'life0 self,
        origin: BlockOrigin,
        block: Block,
    ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn import_justified<'life0, 'async_trait>(
        &'life0 self,
        origin: BlockOrigin,
        block: Block,
        justifications: Justifications,
    ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Extension trait for a test client around block importing.

Required Methods§

Source

fn import<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Import block to the chain. No finality.

Source

fn import_as_best<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Import a block and make it our best block if possible.

Source

fn import_as_final<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Import a block and finalize it.

Source

fn import_justified<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, justifications: Justifications, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Import block with justification(s), finalizes block.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<Block: BlockT, T> ClientBlockImportExt<Block> for Arc<T>
where for<'r> &'r T: BlockImport<Block, Error = Error>, T: Send + Sync,

This implementation is required, because of the weird api requirements around BlockImport.

Source§

fn import<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn import_as_best<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn import_as_final<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source§

fn import_justified<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, justifications: Justifications, ) -> Pin<Box<dyn Future<Output = Result<(), ConsensusError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

Source§

impl<B, E, RA, Block: BlockT> ClientBlockImportExt<Block> for Client<B, E, Block, RA>
where Self: BlockImport<Block, Error = Error>, RA: Send + Sync, B: Send + Sync, E: Send + Sync,