pub trait KernelCallbackObject: Sized {
    type LockData: Default + Clone;
    type CallFrameData: CallFrameReferences;
    type CallbackState;

Show 27 methods // Required methods fn init<S>( &mut self, store: &S ) -> Result<Self::CallbackState, RuntimeError> where S: BootStore; fn start<Y>( api: &mut Y, manifest_encoded_instructions: &[u8], pre_allocated_addresses: &Vec<PreAllocatedAddress>, references: &IndexSet<Reference>, blobs: &IndexMap<Hash, Vec<u8>> ) -> Result<Vec<u8>, RuntimeError> where Y: KernelApi<Self>; fn on_teardown<Y>(api: &mut Y) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn on_pin_node(&mut self, node_id: &NodeId) -> Result<(), RuntimeError>; fn on_create_node<Y>( api: &mut Y, event: CreateNodeEvent<'_> ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_drop_node<Y>( api: &mut Y, event: DropNodeEvent<'_> ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_move_module<Y>( api: &mut Y, event: MoveModuleEvent<'_> ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_open_substate<Y>( api: &mut Y, event: OpenSubstateEvent<'_> ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_close_substate<Y>( api: &mut Y, event: CloseSubstateEvent ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_read_substate<Y>( api: &mut Y, event: ReadSubstateEvent<'_> ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_write_substate<Y>( api: &mut Y, event: WriteSubstateEvent<'_> ) -> Result<(), RuntimeError> where Y: KernelInternalApi<Self>; fn on_set_substate( &mut self, event: SetSubstateEvent<'_> ) -> Result<(), RuntimeError>; fn on_remove_substate( &mut self, event: RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>; fn on_scan_keys( &mut self, event: ScanKeysEvent<'_> ) -> Result<(), RuntimeError>; fn on_drain_substates( &mut self, event: DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>; fn on_scan_sorted_substates( &mut self, event: ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>; fn before_invoke<Y>( invocation: &KernelInvocation<Self::CallFrameData>, api: &mut Y ) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn after_invoke<Y>( output: &IndexedScryptoValue, api: &mut Y ) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn on_execution_start<Y>(api: &mut Y) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn on_execution_finish<Y>( message: &CallFrameMessage, api: &mut Y ) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn on_allocate_node_id<Y>( entity_type: EntityType, api: &mut Y ) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn invoke_upstream<Y>( args: &IndexedScryptoValue, api: &mut Y ) -> Result<IndexedScryptoValue, RuntimeError> where Y: KernelApi<Self>; fn auto_drop<Y>(nodes: Vec<NodeId>, api: &mut Y) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn on_mark_substate_as_transient( &mut self, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>; fn on_substate_lock_fault<Y>( node_id: NodeId, partition_num: PartitionNumber, offset: &SubstateKey, api: &mut Y ) -> Result<bool, RuntimeError> where Y: KernelApi<Self>; fn on_drop_node_mut<Y>( node_id: &NodeId, api: &mut Y ) -> Result<(), RuntimeError> where Y: KernelApi<Self>; fn on_move_node<Y>( node_id: &NodeId, is_moving_down: bool, is_to_barrier: bool, destination_blueprint_id: Option<BlueprintId>, api: &mut Y ) -> Result<(), RuntimeError> where Y: KernelApi<Self>;
}

Required Associated Types§

Required Methods§

source

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

Initialize the system layer with data loaded from the substate store

source

fn start<Y>( api: &mut Y, manifest_encoded_instructions: &[u8], pre_allocated_addresses: &Vec<PreAllocatedAddress>, references: &IndexSet<Reference>, blobs: &IndexMap<Hash, Vec<u8>> ) -> Result<Vec<u8>, RuntimeError>
where Y: KernelApi<Self>,

source

fn on_teardown<Y>(api: &mut Y) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn on_pin_node(&mut self, node_id: &NodeId) -> Result<(), RuntimeError>

source

fn on_create_node<Y>( api: &mut Y, event: CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_drop_node<Y>( api: &mut Y, event: DropNodeEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_move_module<Y>( api: &mut Y, event: MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_open_substate<Y>( api: &mut Y, event: OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_close_substate<Y>( api: &mut Y, event: CloseSubstateEvent ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_read_substate<Y>( api: &mut Y, event: ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_write_substate<Y>( api: &mut Y, event: WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source

fn on_set_substate( &mut self, event: SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source

fn on_remove_substate( &mut self, event: RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source

fn on_scan_keys(&mut self, event: ScanKeysEvent<'_>) -> Result<(), RuntimeError>

source

fn on_drain_substates( &mut self, event: DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source

fn on_scan_sorted_substates( &mut self, event: ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source

fn before_invoke<Y>( invocation: &KernelInvocation<Self::CallFrameData>, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn after_invoke<Y>( output: &IndexedScryptoValue, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn on_execution_start<Y>(api: &mut Y) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn on_execution_finish<Y>( message: &CallFrameMessage, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn on_allocate_node_id<Y>( entity_type: EntityType, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn invoke_upstream<Y>( args: &IndexedScryptoValue, api: &mut Y ) -> Result<IndexedScryptoValue, RuntimeError>
where Y: KernelApi<Self>,

source

fn auto_drop<Y>(nodes: Vec<NodeId>, api: &mut Y) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn on_mark_substate_as_transient( &mut self, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source

fn on_substate_lock_fault<Y>( node_id: NodeId, partition_num: PartitionNumber, offset: &SubstateKey, api: &mut Y ) -> Result<bool, RuntimeError>
where Y: KernelApi<Self>,

source

fn on_drop_node_mut<Y>( node_id: &NodeId, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source

fn on_move_node<Y>( node_id: &NodeId, is_moving_down: bool, is_to_barrier: bool, destination_blueprint_id: Option<BlueprintId>, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

Object Safety§

This trait is not object safe.

Implementors§