[][src]Struct sc_client_api::execution_extensions::ExecutionExtensions

pub struct ExecutionExtensions<Block: Block> { /* fields omitted */ }

A producer of execution extensions for offchain calls.

This crate aggregates extensions available for the offchain calls and is responsible for producing a correct Extensions object. for each call, based on required Capabilities.

Implementations

impl<Block: Block> ExecutionExtensions<Block>[src]

pub fn new(
    strategies: ExecutionStrategies,
    keystore: Option<BareCryptoStorePtr>
) -> Self
[src]

Create new ExecutionExtensions given a keystore and ExecutionStrategies.

pub fn strategies(&self) -> &ExecutionStrategies[src]

Get a reference to the execution strategies.

pub fn set_extensions_factory(&self, maker: Box<dyn ExtensionsFactory>)[src]

Set the new extensions_factory

pub fn register_transaction_pool(
    &self,
    pool: Weak<dyn OffchainSubmitTransaction<Block>>
)
[src]

Register transaction pool extension.

To break retain cycle between Client and TransactionPool we require this extension to be a Weak reference. That's also the reason why it's being registered lazily instead of during initialization.

pub fn manager_and_extensions<E: Debug, R: Codec>(
    &self,
    at: &BlockId<Block>,
    context: ExecutionContext
) -> (ExecutionManager<DefaultHandler<R, E>>, Extensions)
[src]

Create ExecutionManager and Extensions for given offchain call.

Based on the execution context and capabilities it produces the right manager and extensions object to support desired set of APIs.

Trait Implementations

impl<Block: Block> Default for ExecutionExtensions<Block>[src]

Auto Trait Implementations

impl<Block> !RefUnwindSafe for ExecutionExtensions<Block>

impl<Block> Send for ExecutionExtensions<Block>

impl<Block> Sync for ExecutionExtensions<Block>

impl<Block> Unpin for ExecutionExtensions<Block>

impl<Block> !UnwindSafe for ExecutionExtensions<Block>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> InitializableFromZeroed for T where
    T: Default
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

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> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]