pub trait Cw721Execute<T, C> where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg, {
type Err: ToString;
fn transfer_nft(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
recipient: String,
token_id: String
) -> Result<Response<C>, Self::Err>;
fn send_nft(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
contract: String,
token_id: String,
msg: Binary
) -> Result<Response<C>, Self::Err>;
fn approve(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
spender: String,
token_id: String,
expires: Option<Expiration>
) -> Result<Response<C>, Self::Err>;
fn revoke(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
spender: String,
token_id: String
) -> Result<Response<C>, Self::Err>;
fn approve_all(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
operator: String,
expires: Option<Expiration>
) -> Result<Response<C>, Self::Err>;
fn revoke_all(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
operator: String
) -> Result<Response<C>, Self::Err>;
fn burn(
&self,
deps: DepsMut<'_>,
env: Env,
info: MessageInfo,
token_id: String
) -> Result<Response<C>, Self::Err>;
}