pub trait BlockBuilderApi: RuntimeApi {
type ApplyExtrinsicResult;
type Block;
type InherentData;
type CheckInherentsResult;
type Header;
// Required methods
fn apply_extrinsic<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>(
&'life0 self,
extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::ApplyExtrinsicResult>> + 'async_trait>>
where Address: Encode + 'async_trait,
Call: Encode + 'async_trait,
Signature: Encode + 'async_trait,
TransactionExtension: Encode + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn apply_opaque_extrinsic<'life0, 'async_trait>(
&'life0 self,
extrinsic: Vec<u8>,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::ApplyExtrinsicResult>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn check_inherents<'life0, 'async_trait>(
&'life0 self,
block: Self::Block,
data: Self::InherentData,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::CheckInherentsResult>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn finalize_block<'life0, 'async_trait>(
&'life0 self,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::Header>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn inherent_extrinsics<'life0, 'async_trait>(
&'life0 self,
inherent: Self::InherentData,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Required Associated Types§
type ApplyExtrinsicResult
type Block
type InherentData
type CheckInherentsResult
type Header
Required Methods§
Sourcefn apply_extrinsic<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>(
&'life0 self,
extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::ApplyExtrinsicResult>> + 'async_trait>>
fn apply_extrinsic<'life0, 'async_trait, Address, Call, Signature, TransactionExtension>( &'life0 self, extrinsic: UncheckedExtrinsic<Address, Call, Signature, TransactionExtension>, at_block: Option<Self::Hash>, ) -> Pin<Box<dyn Future<Output = Result<Self::ApplyExtrinsicResult>> + 'async_trait>>
Apply the given extrinsic.
Sourcefn apply_opaque_extrinsic<'life0, 'async_trait>(
&'life0 self,
extrinsic: Vec<u8>,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::ApplyExtrinsicResult>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_opaque_extrinsic<'life0, 'async_trait>(
&'life0 self,
extrinsic: Vec<u8>,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::ApplyExtrinsicResult>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Apply the given opaque extrinsic.
Sourcefn check_inherents<'life0, 'async_trait>(
&'life0 self,
block: Self::Block,
data: Self::InherentData,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::CheckInherentsResult>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn check_inherents<'life0, 'async_trait>(
&'life0 self,
block: Self::Block,
data: Self::InherentData,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::CheckInherentsResult>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check that the inherents are valid.
Sourcefn finalize_block<'life0, 'async_trait>(
&'life0 self,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::Header>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn finalize_block<'life0, 'async_trait>(
&'life0 self,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Self::Header>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Finish the current block.
Sourcefn inherent_extrinsics<'life0, 'async_trait>(
&'life0 self,
inherent: Self::InherentData,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn inherent_extrinsics<'life0, 'async_trait>(
&'life0 self,
inherent: Self::InherentData,
at_block: Option<Self::Hash>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Bytes>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate inherent extrinsics and return them as encoded Bytes.
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.