Trait linera_execution::ContractRuntime
source · 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§
sourcefn remaining_fuel(&mut self) -> Result<u64, ExecutionError>
fn remaining_fuel(&mut self) -> Result<u64, ExecutionError>
Returns the amount of execution fuel remaining before execution is aborted.
sourcefn set_remaining_fuel(
&mut self,
remaining_fuel: u64
) -> Result<(), ExecutionError>
fn set_remaining_fuel( &mut self, remaining_fuel: u64 ) -> Result<(), ExecutionError>
Sets the amount of execution fuel remaining before execution is aborted.
sourcefn try_call_application(
&mut self,
authenticated: bool,
callee_id: UserApplicationId,
argument: Vec<u8>,
forwarded_sessions: Vec<SessionId>
) -> Result<CallOutcome, ExecutionError>
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).
sourcefn try_call_session(
&mut self,
authenticated: bool,
session_id: SessionId,
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>
Calls into a session that is in our scope. Forwarded sessions will be visible to
the application that runs session_id.