pub trait SystemCallbackObject: Sized {
type InitInput: Clone;
// Required methods
fn init<S: BootStore>(
store: &S,
init_input: Self::InitInput
) -> Result<Self, BootloadingError>;
fn invoke<Y>(
package_address: &PackageAddress,
package_export: PackageExport,
input: &IndexedScryptoValue,
api: &mut Y
) -> Result<IndexedScryptoValue, RuntimeError>
where Y: ClientApi<RuntimeError> + KernelInternalApi<System<Self>> + KernelNodeApi + KernelSubstateApi<SystemLockData>;
}
Expand description
Invocation callback invoked by the system layer
Required Associated Types§
Required Methods§
sourcefn init<S: BootStore>(
store: &S,
init_input: Self::InitInput
) -> Result<Self, BootloadingError>
fn init<S: BootStore>( store: &S, init_input: Self::InitInput ) -> Result<Self, BootloadingError>
Initialize the layer above the system with data from the substate store
fn invoke<Y>(
package_address: &PackageAddress,
package_export: PackageExport,
input: &IndexedScryptoValue,
api: &mut Y
) -> Result<IndexedScryptoValue, RuntimeError>where
Y: ClientApi<RuntimeError> + KernelInternalApi<System<Self>> + KernelNodeApi + KernelSubstateApi<SystemLockData>,
Object Safety§
This trait is not object safe.