pub trait SystemCallbackObject: Sized {
    type CallbackState;

    // Required methods
    fn init<S>(
        &mut self,
        store: &S
    ) -> Result<Self::CallbackState, RuntimeError>
       where S: BootStore;
    fn invoke<Y>(
        package_address: &PackageAddress,
        package_export: PackageExport,
        input: &IndexedScryptoValue,
        api: &mut Y
    ) -> Result<IndexedScryptoValue, RuntimeError>
       where Y: ClientApi<RuntimeError> + KernelInternalApi<SystemConfig<Self>> + KernelNodeApi + KernelSubstateApi<SystemLockData>;
}
Expand description

Invocation callback invoked by the system layer

Required Associated Types§

Required Methods§

source

fn init<S>(&mut self, store: &S) -> Result<Self::CallbackState, RuntimeError>
where S: BootStore,

Initialize the layer above the system with data from the substate store

source

fn invoke<Y>( package_address: &PackageAddress, package_export: PackageExport, input: &IndexedScryptoValue, api: &mut Y ) -> Result<IndexedScryptoValue, RuntimeError>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'g, W, E> SystemCallbackObject for Vm<'g, W, E>
where W: WasmEngine + 'g, E: NativeVmExtension,