pub trait Wasm<ExecC, QueryC: CustomQuery>: AllWasmQuerier {
// Required methods
fn query(
&self,
api: &dyn Api,
storage: &dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
querier: &dyn Querier,
block: &BlockInfo,
request: WasmQuery,
) -> AnyResult<Binary>;
fn execute(
&self,
api: &dyn Api,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
sender: Addr,
msg: WasmMsg,
) -> AnyResult<AppResponse>;
fn sudo(
&self,
api: &dyn Api,
contract_addr: Addr,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
msg: Binary,
) -> AnyResult<AppResponse>;
fn store_code(
&mut self,
creator: Addr,
code: Box<dyn Contract<ExecC, QueryC>>,
) -> u64;
fn store_wasm_code(&mut self, creator: Addr, code: Vec<u8>) -> u64;
fn contract_data(
&self,
storage: &dyn Storage,
address: &Addr,
) -> AnyResult<ContractData>;
fn dump_wasm_raw(
&self,
storage: &dyn Storage,
address: &Addr,
) -> Vec<Record> ⓘ;
}Required Methods§
Sourcefn query(
&self,
api: &dyn Api,
storage: &dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
querier: &dyn Querier,
block: &BlockInfo,
request: WasmQuery,
) -> AnyResult<Binary>
fn query( &self, api: &dyn Api, storage: &dyn Storage, router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>, querier: &dyn Querier, block: &BlockInfo, request: WasmQuery, ) -> AnyResult<Binary>
Handles all WasmQuery requests
Sourcefn execute(
&self,
api: &dyn Api,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
sender: Addr,
msg: WasmMsg,
) -> AnyResult<AppResponse>
fn execute( &self, api: &dyn Api, storage: &mut dyn Storage, router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>, block: &BlockInfo, sender: Addr, msg: WasmMsg, ) -> AnyResult<AppResponse>
Handles all WasmMsg messages.
Sourcefn sudo(
&self,
api: &dyn Api,
contract_addr: Addr,
storage: &mut dyn Storage,
router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>,
block: &BlockInfo,
msg: Binary,
) -> AnyResult<AppResponse>
fn sudo( &self, api: &dyn Api, contract_addr: Addr, storage: &mut dyn Storage, router: &dyn CosmosRouter<ExecC = ExecC, QueryC = QueryC>, block: &BlockInfo, msg: Binary, ) -> AnyResult<AppResponse>
Handles all sudo messages, this is an admin interface and can not be called via CosmosMsg.
Sourcefn store_code(
&mut self,
creator: Addr,
code: Box<dyn Contract<ExecC, QueryC>>,
) -> u64
fn store_code( &mut self, creator: Addr, code: Box<dyn Contract<ExecC, QueryC>>, ) -> u64
Stores the contract’s code and returns an identifier of the stored contract’s code.
Sourcefn store_wasm_code(&mut self, creator: Addr, code: Vec<u8>) -> u64
fn store_wasm_code(&mut self, creator: Addr, code: Vec<u8>) -> u64
Stores the contract’s code and returns an identifier of the stored contract’s code.
Sourcefn contract_data(
&self,
storage: &dyn Storage,
address: &Addr,
) -> AnyResult<ContractData>
fn contract_data( &self, storage: &dyn Storage, address: &Addr, ) -> AnyResult<ContractData>
Returns ContractData for the contract with specified address.