Trait linera_execution::UserContract
source · pub trait UserContract {
// Required methods
fn instantiate(
&mut self,
context: OperationContext,
argument: Vec<u8>,
) -> Result<(), ExecutionError>;
fn execute_operation(
&mut self,
context: OperationContext,
operation: Vec<u8>,
) -> Result<Vec<u8>, ExecutionError>;
fn execute_message(
&mut self,
context: MessageContext,
message: Vec<u8>,
) -> Result<(), ExecutionError>;
fn finalize(
&mut self,
context: FinalizeContext,
) -> Result<(), ExecutionError>;
}
Expand description
The public entry points provided by the contract part of an application.
Required Methods§
sourcefn instantiate(
&mut self,
context: OperationContext,
argument: Vec<u8>,
) -> Result<(), ExecutionError>
fn instantiate( &mut self, context: OperationContext, argument: Vec<u8>, ) -> Result<(), ExecutionError>
Instantiate the application state on the chain that owns the application.
sourcefn execute_operation(
&mut self,
context: OperationContext,
operation: Vec<u8>,
) -> Result<Vec<u8>, ExecutionError>
fn execute_operation( &mut self, context: OperationContext, operation: Vec<u8>, ) -> Result<Vec<u8>, ExecutionError>
Applies an operation from the current block.
sourcefn execute_message(
&mut self,
context: MessageContext,
message: Vec<u8>,
) -> Result<(), ExecutionError>
fn execute_message( &mut self, context: MessageContext, message: Vec<u8>, ) -> Result<(), ExecutionError>
Applies a message originating from a cross-chain message.
sourcefn finalize(&mut self, context: FinalizeContext) -> Result<(), ExecutionError>
fn finalize(&mut self, context: FinalizeContext) -> Result<(), ExecutionError>
Finishes execution of the current transaction.