Struct sp_api::CallApiAtParams[][src]

pub struct CallApiAtParams<'a, Block: BlockT, C, NC, Backend: StateBackend<HashFor<Block>>> {
    pub core_api: &'a C,
    pub at: &'a BlockId<Block>,
    pub function: &'static str,
    pub native_call: Option<NC>,
    pub arguments: Vec<u8>,
    pub overlayed_changes: &'a RefCell<OverlayedChanges>,
    pub storage_transaction_cache: &'a RefCell<StorageTransactionCache<Block, Backend>>,
    pub initialize_block: InitializeBlock<'a, Block>,
    pub context: ExecutionContext,
    pub recorder: &'a Option<ProofRecorder<Block>>,
}

Parameters for CallApiAt::call_api_at.

Fields

core_api: &'a C

A reference to something that implements the Core api.

at: &'a BlockId<Block>

The block id that determines the state that should be setup when calling the function.

function: &'static str

The name of the function that should be called.

native_call: Option<NC>

An optional native call that calls the function. This is an optimization to call into a native runtime without requiring to encode/decode the parameters. The native runtime can still be called when this value is None, we then just fallback to encoding/decoding the parameters.

arguments: Vec<u8>

The encoded arguments of the function.

overlayed_changes: &'a RefCell<OverlayedChanges>

The overlayed changes that are on top of the state.

storage_transaction_cache: &'a RefCell<StorageTransactionCache<Block, Backend>>

The cache for storage transactions.

initialize_block: InitializeBlock<'a, Block>

Determines if the function requires that initialize_block should be called before calling the actual function.

context: ExecutionContext

The context this function is executed in.

recorder: &'a Option<ProofRecorder<Block>>

The optional proof recorder for recording storage accesses.

Auto Trait Implementations

impl<'a, Block, C, NC, Backend> !RefUnwindSafe for CallApiAtParams<'a, Block, C, NC, Backend>[src]

impl<'a, Block, C, NC, Backend> !Send for CallApiAtParams<'a, Block, C, NC, Backend>[src]

impl<'a, Block, C, NC, Backend> !Sync for CallApiAtParams<'a, Block, C, NC, Backend>[src]

impl<'a, Block, C, NC, Backend> Unpin for CallApiAtParams<'a, Block, C, NC, Backend> where
    NC: Unpin
[src]

impl<'a, Block, C, NC, Backend> !UnwindSafe for CallApiAtParams<'a, Block, C, NC, Backend>[src]

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

impl<T> Instrument for T[src]

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

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

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> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

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
    T: Bounded,
    S: TryInto<T>, 

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,