ab_system_contract_code

Trait CodeExt

Source
pub trait CodeExt {
    // Required methods
    fn code_deploy(
        self: &&mut Self,
        method_context: &MethodContext,
        contract: &Address,
        code: &VariableBytes<MAX_CODE_SIZE>,
    ) -> Result<Address, ContractError>;
    fn code_store(
        self: &&mut Self,
        method_context: &MethodContext,
        contract: &Address,
        contract_code: &Address,
        new_code: &VariableBytes<MAX_CODE_SIZE>,
    ) -> Result<(), ContractError>;
    fn code_read(
        &self,
        contract: &Address,
        contract_code: &Address,
        code: &mut VariableBytes<MAX_CODE_SIZE>,
    ) -> Result<(), ContractError>;
}
Expand description

Extension trait that provides helper methods for calling Code’s methods on Env for convenience purposes

Required Methods§

Source

fn code_deploy( self: &&mut Self, method_context: &MethodContext, contract: &Address, code: &VariableBytes<MAX_CODE_SIZE>, ) -> Result<Address, ContractError>

Source

fn code_store( self: &&mut Self, method_context: &MethodContext, contract: &Address, contract_code: &Address, new_code: &VariableBytes<MAX_CODE_SIZE>, ) -> Result<(), ContractError>

Source

fn code_read( &self, contract: &Address, contract_code: &Address, code: &mut VariableBytes<MAX_CODE_SIZE>, ) -> Result<(), ContractError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl CodeExt for Env

Source§

fn code_deploy( self: &&mut Self, method_context: &MethodContext, contract: &Address, code: &VariableBytes<MAX_CODE_SIZE>, ) -> Result<Address, ContractError>

Source§

fn code_store( self: &&mut Self, method_context: &MethodContext, contract: &Address, contract_code: &Address, new_code: &VariableBytes<MAX_CODE_SIZE>, ) -> Result<(), ContractError>

Source§

fn code_read( &self, contract: &Address, contract_code: &Address, code: &mut VariableBytes<MAX_CODE_SIZE>, ) -> Result<(), ContractError>

Implementors§