pub trait Contract<C, Q = Empty>where
C: CustomMsg,
Q: CustomQuery,{
// Required methods
fn instantiate(
&self,
deps: DepsMut<'_, Q>,
env: Env,
info: MessageInfo,
msg: Vec<u8>,
) -> StdResult<Response<C>>;
fn execute(
&self,
deps: DepsMut<'_, Q>,
env: Env,
info: MessageInfo,
msg: Vec<u8>,
) -> StdResult<Response<C>>;
fn query(
&self,
deps: Deps<'_, Q>,
env: Env,
msg: Vec<u8>,
) -> StdResult<Binary>;
fn reply(
&self,
deps: DepsMut<'_, Q>,
env: Env,
msg: Reply,
) -> StdResult<Response<C>>;
fn sudo(
&self,
deps: DepsMut<'_, Q>,
env: Env,
msg: Vec<u8>,
) -> StdResult<Response<C>>;
fn migrate(
&self,
deps: DepsMut<'_, Q>,
env: Env,
msg: Vec<u8>,
info: MigrateInfo,
) -> StdResult<Response<C>>;
// Provided method
fn checksum(&self) -> Option<Checksum> { ... }
}
Expand description
This trait serves as a primary interface for interacting with smart contracts.
Required Methods§
Sourcefn instantiate(
&self,
deps: DepsMut<'_, Q>,
env: Env,
info: MessageInfo,
msg: Vec<u8>,
) -> StdResult<Response<C>>
fn instantiate( &self, deps: DepsMut<'_, Q>, env: Env, info: MessageInfo, msg: Vec<u8>, ) -> StdResult<Response<C>>
Evaluates contract’s instantiate
entry-point.
Sourcefn execute(
&self,
deps: DepsMut<'_, Q>,
env: Env,
info: MessageInfo,
msg: Vec<u8>,
) -> StdResult<Response<C>>
fn execute( &self, deps: DepsMut<'_, Q>, env: Env, info: MessageInfo, msg: Vec<u8>, ) -> StdResult<Response<C>>
Evaluates contract’s execute
entry-point.
Sourcefn query(&self, deps: Deps<'_, Q>, env: Env, msg: Vec<u8>) -> StdResult<Binary>
fn query(&self, deps: Deps<'_, Q>, env: Env, msg: Vec<u8>) -> StdResult<Binary>
Evaluates contract’s query
entry-point.
Sourcefn reply(
&self,
deps: DepsMut<'_, Q>,
env: Env,
msg: Reply,
) -> StdResult<Response<C>>
fn reply( &self, deps: DepsMut<'_, Q>, env: Env, msg: Reply, ) -> StdResult<Response<C>>
Evaluates contract’s reply
entry-point.