Struct sc_block_builder::BlockBuilder [−][src]
pub struct BlockBuilder<'a, Block: BlockT, A: ProvideRuntimeApi<Block>, B> { /* fields omitted */ }
Utility for building new (valid) blocks from a stream of extrinsics.
Implementations
impl<'a, Block, A, B> BlockBuilder<'a, Block, A, B> where
Block: BlockT,
A: ProvideRuntimeApi<Block> + 'a,
A::Api: BlockBuilderApi<Block, Error = Error> + ApiExt<Block, StateBackend = StateBackendFor<B, Block>>,
B: Backend<Block>, [src]
impl<'a, Block, A, B> BlockBuilder<'a, Block, A, B> where
Block: BlockT,
A: ProvideRuntimeApi<Block> + 'a,
A::Api: BlockBuilderApi<Block, Error = Error> + ApiExt<Block, StateBackend = StateBackendFor<B, Block>>,
B: Backend<Block>, [src]pub fn new(
api: &'a A,
parent_hash: Block::Hash,
parent_number: NumberFor<Block>,
record_proof: RecordProof,
inherent_digests: DigestFor<Block>,
backend: &'a B
) -> Result<Self, ApiErrorFor<A, Block>>[src]
api: &'a A,
parent_hash: Block::Hash,
parent_number: NumberFor<Block>,
record_proof: RecordProof,
inherent_digests: DigestFor<Block>,
backend: &'a B
) -> Result<Self, ApiErrorFor<A, Block>>
Create a new instance of builder based on the given parent_hash and parent_number.
While proof recording is enabled, all accessed trie nodes are saved. These recorded trie nodes can be used by a third party to prove the output of this block builder without having access to the full storage.
pub fn push(
&mut self,
xt: <Block as BlockT>::Extrinsic
) -> Result<(), ApiErrorFor<A, Block>>[src]
&mut self,
xt: <Block as BlockT>::Extrinsic
) -> Result<(), ApiErrorFor<A, Block>>
Push onto the block’s list of extrinsics.
This will ensure the extrinsic can be validly executed (by executing it).
pub fn build(
self
) -> Result<BuiltBlock<Block, StateBackendFor<B, Block>>, ApiErrorFor<A, Block>>[src]
self
) -> Result<BuiltBlock<Block, StateBackendFor<B, Block>>, ApiErrorFor<A, Block>>
Consume the builder to build a valid Block containing all pushed extrinsics.
Returns the build Block, the changes to the storage and an optional StorageProof
supplied by self.api, combined as BuiltBlock.
The storage proof will be Some(_) when proof recording was enabled.
pub fn create_inherents(
&mut self,
inherent_data: InherentData
) -> Result<Vec<Block::Extrinsic>, ApiErrorFor<A, Block>>[src]
&mut self,
inherent_data: InherentData
) -> Result<Vec<Block::Extrinsic>, ApiErrorFor<A, Block>>
Create the inherents for the block.
Returns the inherents created by the runtime or an error if something failed.
Auto Trait Implementations
impl<'a, Block, A, B> RefUnwindSafe for BlockBuilder<'a, Block, A, B> where
B: RefUnwindSafe,
<A as ProvideRuntimeApi<Block>>::Api: RefUnwindSafe,
<Block as Block>::Extrinsic: RefUnwindSafe,
<Block as Block>::Hash: RefUnwindSafe,
<<Block as Block>::Header as Header>::Number: RefUnwindSafe,
B: RefUnwindSafe,
<A as ProvideRuntimeApi<Block>>::Api: RefUnwindSafe,
<Block as Block>::Extrinsic: RefUnwindSafe,
<Block as Block>::Hash: RefUnwindSafe,
<<Block as Block>::Header as Header>::Number: RefUnwindSafe,
impl<'a, Block, A, B> Send for BlockBuilder<'a, Block, A, B> where
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Send,
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Send,
impl<'a, Block, A, B> Sync for BlockBuilder<'a, Block, A, B> where
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Sync,
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Sync,
impl<'a, Block, A, B> Unpin for BlockBuilder<'a, Block, A, B> where
<A as ProvideRuntimeApi<Block>>::Api: Unpin,
<Block as Block>::Extrinsic: Unpin,
<Block as Block>::Hash: Unpin,
<<Block as Block>::Header as Header>::Number: Unpin,
<A as ProvideRuntimeApi<Block>>::Api: Unpin,
<Block as Block>::Extrinsic: Unpin,
<Block as Block>::Hash: Unpin,
<<Block as Block>::Header as Header>::Number: Unpin,
impl<'a, Block, A, B> UnwindSafe for BlockBuilder<'a, Block, A, B> where
B: RefUnwindSafe,
<A as ProvideRuntimeApi<Block>>::Api: UnwindSafe,
<Block as Block>::Extrinsic: UnwindSafe,
<Block as Block>::Hash: UnwindSafe,
<<Block as Block>::Header as Header>::Number: UnwindSafe,
B: RefUnwindSafe,
<A as ProvideRuntimeApi<Block>>::Api: UnwindSafe,
<Block as Block>::Extrinsic: UnwindSafe,
<Block as Block>::Hash: UnwindSafe,
<<Block as Block>::Header as Header>::Number: UnwindSafe,
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>,
pub fn with_current_subscriber(self) -> WithDispatch<Self>[src]
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe, [src]
T: RefUnwindSafe,