pub struct SystemModuleMixer {
pub enabled_modules: EnabledModules,
/* private fields */
}Fields§
§enabled_modules: EnabledModulesImplementations§
Source§impl SystemModuleMixer
impl SystemModuleMixer
pub fn new( enabled_modules: EnabledModules, kernel_trace: KernelTraceModule, transaction_runtime: TransactionRuntimeModule, auth: AuthModule, limits: LimitsModule, costing: CostingModule, execution_trace: ExecutionTraceModule, ) -> SystemModuleMixer
pub fn is_kernel_trace_enabled(&self) -> bool
pub fn is_execution_trace_enabled(&self) -> bool
pub fn is_auth_enabled(&self) -> bool
pub fn unpack_costing(self) -> CostingModule
pub fn unpack( self, ) -> (CostingModule, TransactionRuntimeModule, ExecutionTraceModule)
Source§impl SystemModuleMixer
impl SystemModuleMixer
pub fn before_invoke( api: &mut impl SystemBasedKernelApi, invocation: &KernelInvocation<Actor>, ) -> Result<(), RuntimeError>
pub fn on_execution_start( api: &mut impl SystemBasedKernelInternalApi, ) -> Result<(), RuntimeError>
pub fn on_execution_finish( api: &mut impl SystemBasedKernelInternalApi, message: &CallFrameMessage, ) -> Result<(), RuntimeError>
pub fn after_invoke( api: &mut impl SystemBasedKernelInternalApi, output: &IndexedScryptoValue, ) -> Result<(), RuntimeError>
pub fn on_pin_node( api: &mut impl SystemBasedKernelInternalApi, node_id: &NodeId, ) -> Result<(), RuntimeError>
pub fn on_allocate_node_id( api: &mut impl SystemBasedKernelInternalApi, entity_type: EntityType, ) -> Result<(), RuntimeError>
pub fn on_create_node( api: &mut impl SystemBasedKernelInternalApi, event: &CreateNodeEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_move_module( api: &mut impl SystemBasedKernelInternalApi, event: &MoveModuleEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_drop_node( api: &mut impl SystemBasedKernelInternalApi, event: &DropNodeEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_mark_substate_as_transient( api: &mut impl SystemBasedKernelInternalApi, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey, ) -> Result<(), RuntimeError>
pub fn on_open_substate( api: &mut impl SystemBasedKernelInternalApi, event: &OpenSubstateEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_read_substate( api: &mut impl SystemBasedKernelInternalApi, event: &ReadSubstateEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_write_substate( api: &mut impl SystemBasedKernelInternalApi, event: &WriteSubstateEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_close_substate( api: &mut impl SystemBasedKernelInternalApi, event: &CloseSubstateEvent, ) -> Result<(), RuntimeError>
pub fn on_set_substate( api: &mut impl SystemBasedKernelInternalApi, event: &SetSubstateEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_remove_substate( api: &mut impl SystemBasedKernelInternalApi, event: &RemoveSubstateEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_scan_keys( api: &mut impl SystemBasedKernelInternalApi, event: &ScanKeysEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_drain_substates( api: &mut impl SystemBasedKernelInternalApi, event: &DrainSubstatesEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_scan_sorted_substates( api: &mut impl SystemBasedKernelInternalApi, event: &ScanSortedSubstatesEvent<'_>, ) -> Result<(), RuntimeError>
pub fn on_get_stack_id( api: &mut impl SystemBasedKernelInternalApi, ) -> Result<(), RuntimeError>
pub fn on_switch_stack( api: &mut impl SystemBasedKernelInternalApi, ) -> Result<(), RuntimeError>
pub fn on_send_to_stack( api: &mut impl SystemBasedKernelInternalApi, data_len: usize, ) -> Result<(), RuntimeError>
pub fn on_set_call_frame_data( api: &mut impl SystemBasedKernelInternalApi, data_len: usize, ) -> Result<(), RuntimeError>
pub fn on_get_owned_nodes( api: &mut impl SystemBasedKernelInternalApi, ) -> Result<(), RuntimeError>
Source§impl SystemModuleMixer
impl SystemModuleMixer
pub fn on_call_method<Y>(
api: &mut SystemService<'_, Y>,
receiver: &NodeId,
module_id: ModuleId,
direct_access: bool,
ident: &str,
args: &IndexedScryptoValue,
) -> Result<NodeId, RuntimeError>where
Y: SystemBasedKernelApi,
pub fn on_call_method_finish<Y>(
api: &mut SystemService<'_, Y>,
auth_zone: NodeId,
) -> Result<(), RuntimeError>where
Y: SystemBasedKernelApi,
pub fn on_call_function<Y>(
api: &mut SystemService<'_, Y>,
blueprint_id: &BlueprintId,
ident: &str,
) -> Result<NodeId, RuntimeError>where
Y: SystemBasedKernelApi,
pub fn on_call_function_finish<Y>(
api: &mut SystemService<'_, Y>,
auth_zone: NodeId,
) -> Result<(), RuntimeError>where
Y: SystemBasedKernelApi,
pub fn add_log( &mut self, level: Level, message: String, ) -> Result<(), RuntimeError>
pub fn assert_can_add_event(&mut self) -> Result<(), RuntimeError>
pub fn add_event_unchecked(&mut self, event: Event) -> Result<(), RuntimeError>
pub fn checked_add_event(&mut self, event: Event) -> Result<(), RuntimeError>
pub fn set_panic_message(&mut self, message: String) -> Result<(), RuntimeError>
pub fn add_replacement( &mut self, old: (NodeId, ModuleId), new: (NodeId, ModuleId), )
pub fn fee_reserve(&mut self) -> Option<&SystemLoanFeeReserve>
pub fn costing(&self) -> Option<&CostingModule>
pub fn costing_mut(&mut self) -> Option<&mut CostingModule>
pub fn costing_mut_even_if_disabled(&mut self) -> &mut CostingModule
pub fn limits_mut(&mut self) -> Option<&mut LimitsModule>
pub fn transaction_runtime(&mut self) -> Option<&TransactionRuntimeModule>
pub fn transaction_hash(&self) -> Option<Hash>
pub fn generate_ruid(&mut self) -> Option<[u8; 32]>
pub fn update_instruction_index(&mut self, new_index: usize)
pub fn apply_execution_cost( &mut self, costing_entry: ExecutionCostingEntry<'_>, ) -> Result<(), RuntimeError>
pub fn apply_finalization_cost( &mut self, costing_entry: FinalizationCostingEntry<'_>, ) -> Result<(), CostingError>
pub fn apply_storage_cost( &mut self, storage_type: StorageType, size_increase: usize, ) -> Result<(), CostingError>
pub fn lock_fee( &mut self, vault_id: NodeId, locked_fee: LiquidFungibleResource, contingent: bool, )
pub fn events(&self) -> &Vec<Event>
pub fn logs(&self) -> &Vec<(Level, String)>
Trait Implementations§
Source§impl InitSystemModule for SystemModuleMixer
impl InitSystemModule for SystemModuleMixer
fn init(&mut self) -> Result<(), BootloadingError>
fn on_teardown(&mut self) -> Result<(), RuntimeError>
Auto Trait Implementations§
impl !RefUnwindSafe for SystemModuleMixer
impl !Send for SystemModuleMixer
impl !Sync for SystemModuleMixer
impl !UnwindSafe for SystemModuleMixer
impl Freeze for SystemModuleMixer
impl Unpin for SystemModuleMixer
impl UnsafeUnpin for SystemModuleMixer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
impl<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
type Error = <U as ContextualTryFrom<T>>::Error
type Context = <U as ContextualTryFrom<T>>::Context
fn contextual_try_into( self, context: &<U as ContextualTryFrom<T>>::Context, ) -> Result<U, <U as ContextualTryFrom<T>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more