pub trait ContractRuntime: BaseRuntime {
    // Required methods
    fn remaining_fuel(&mut self) -> Result<u64, ExecutionError>;
    fn set_remaining_fuel(
        &mut self,
        remaining_fuel: u64
    ) -> Result<(), ExecutionError>;
    fn try_call_application(
        &mut self,
        authenticated: bool,
        callee_id: UserApplicationId,
        argument: Vec<u8>,
        forwarded_sessions: Vec<SessionId>
    ) -> Result<CallOutcome, ExecutionError>;
    fn try_call_session(
        &mut self,
        authenticated: bool,
        session_id: SessionId,
        argument: Vec<u8>,
        forwarded_sessions: Vec<SessionId>
    ) -> Result<CallOutcome, ExecutionError>;
}

Required Methods§

source

fn remaining_fuel(&mut self) -> Result<u64, ExecutionError>

Returns the amount of execution fuel remaining before execution is aborted.

source

fn set_remaining_fuel( &mut self, remaining_fuel: u64 ) -> Result<(), ExecutionError>

Sets the amount of execution fuel remaining before execution is aborted.

source

fn try_call_application( &mut self, authenticated: bool, callee_id: UserApplicationId, argument: Vec<u8>, forwarded_sessions: Vec<SessionId> ) -> Result<CallOutcome, ExecutionError>

Calls another application. Forwarded sessions will now be visible to callee_id (but not to the caller any more).

source

fn try_call_session( &mut self, authenticated: bool, session_id: SessionId, argument: Vec<u8>, forwarded_sessions: Vec<SessionId> ) -> Result<CallOutcome, ExecutionError>

Calls into a session that is in our scope. Forwarded sessions will be visible to the application that runs session_id.

Implementors§