Struct sc_block_builder::BlockBuilder [−][src]
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]
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 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> 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,
pub fn borrow_mut(&mut self) -> &mut 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> From<T> 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]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>, [src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T[src]
Get a reference to the inner from the outer.
pub 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, [src]
T: RefUnwindSafe,
impl<T> Pointable for T[src]
pub const ALIGN: usize[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T[src]
pub unsafe fn drop(ptr: usize)[src]
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
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<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.
pub 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.
pub 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>,
pub fn unchecked_into(self) -> T[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>, [src]
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>, [src]
V: MultiLane<T>,
impl<T> WithSubscriber for T[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>, [src]
S: Into<Dispatch>,