[−][src]Struct sc_block_builder::BlockBuilder
Utility for building new (valid) blocks from a stream of extrinsics.
Methods
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]
Block: BlockT,
A: ProvideRuntimeApi<Block> + 'a,
A::Api: BlockBuilderApi<Block, Error = Error> + ApiExt<Block, StateBackend = StateBackendFor<B, Block>>,
B: Backend<Block>,
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 push_trusted(
&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 treat incoming extrinsic xt as trusted and skip signature check (for signed transactions).
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.
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,
<Block as Block>::Extrinsic: Send,
<Block as Block>::Hash: Send,
<<Block as Block>::Header as Header>::Number: Send,
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Send,
<Block as Block>::Extrinsic: Send,
<Block as Block>::Hash: Send,
<<Block as Block>::Header as Header>::Number: Send,
impl<'a, Block, A, B> Sync for BlockBuilder<'a, Block, A, B> where
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Sync,
<Block as Block>::Extrinsic: Sync,
<Block as Block>::Hash: Sync,
<<Block as Block>::Header as Header>::Number: Sync,
B: Sync,
<A as ProvideRuntimeApi<Block>>::Api: Sync,
<Block as Block>::Extrinsic: Sync,
<Block as Block>::Hash: Sync,
<<Block as Block>::Header as Header>::Number: 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> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> CheckedConversion for T[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>, [src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>, [src]
Self: TryInto<T>,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>, [src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Self: UniqueSaturatedInto<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,