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

Trait ClientBlockImportExt

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

Extension trait for a test client around block importing.

Required Methods§

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

Import block to the chain. No finality.

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

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

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

Import a block and finalize it.

fn import_justified<'life0, 'async_trait>( &'life0 self, origin: BlockOrigin, block: Block, justifications: Justifications, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: '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§

§

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

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

§

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

§

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

§

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

§

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

Implementors§

§

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