pub trait Cw721Query<T>where
T: Serialize + DeserializeOwned + Clone,{
// Required methods
fn contract_info(&self, deps: Deps<'_>) -> StdResult<ContractInfoResponse>;
fn num_tokens(&self, deps: Deps<'_>) -> StdResult<NumTokensResponse>;
fn nft_info(
&self,
deps: Deps<'_>,
token_id: String
) -> StdResult<NftInfoResponse<T>>;
fn owner_of(
&self,
deps: Deps<'_>,
env: Env,
token_id: String,
include_expired: bool
) -> StdResult<OwnerOfResponse>;
fn operator(
&self,
deps: Deps<'_>,
env: Env,
owner: String,
operator: String,
include_expired: bool
) -> StdResult<OperatorResponse>;
fn operators(
&self,
deps: Deps<'_>,
env: Env,
owner: String,
include_expired: bool,
start_after: Option<String>,
limit: Option<u32>
) -> StdResult<OperatorsResponse>;
fn approval(
&self,
deps: Deps<'_>,
env: Env,
token_id: String,
spender: String,
include_expired: bool
) -> StdResult<ApprovalResponse>;
fn approvals(
&self,
deps: Deps<'_>,
env: Env,
token_id: String,
include_expired: bool
) -> StdResult<ApprovalsResponse>;
fn tokens(
&self,
deps: Deps<'_>,
owner: String,
start_after: Option<String>,
limit: Option<u32>
) -> StdResult<TokensResponse>;
fn all_tokens(
&self,
deps: Deps<'_>,
start_after: Option<String>,
limit: Option<u32>
) -> StdResult<TokensResponse>;
fn all_nft_info(
&self,
deps: Deps<'_>,
env: Env,
token_id: String,
include_expired: bool
) -> StdResult<AllNftInfoResponse<T>>;
}