Struct cw721_base::state::Cw721Contract
source · pub struct Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
Q: CustomMsg,
E: CustomMsg,{
pub contract_info: Item<'a, ContractInfoResponse>,
pub token_count: Item<'a, u64>,
pub operators: Map<'a, (&'a Addr, &'a Addr), Expiration>,
pub tokens: IndexedMap<'a, &'a str, TokenInfo<T>, TokenIndexes<'a, T>>,
/* private fields */
}
Fields§
§contract_info: Item<'a, ContractInfoResponse>
§token_count: Item<'a, u64>
§operators: Map<'a, (&'a Addr, &'a Addr), Expiration>
Stored as (granter, operator) giving operator full control over granter’s account
tokens: IndexedMap<'a, &'a str, TokenInfo<T>, TokenIndexes<'a, T>>
Implementations§
source§impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
pub fn instantiate( &self, deps: DepsMut<'_>, _env: Env, _info: MessageInfo, msg: InstantiateMsg ) -> StdResult<Response<C>>
pub fn execute( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, msg: ExecuteMsg<T, E> ) -> Result<Response<C>, ContractError>
source§impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
pub fn mint( &self, deps: DepsMut<'_>, info: MessageInfo, token_id: String, owner: String, token_uri: Option<String>, extension: T ) -> Result<Response<C>, ContractError>
pub fn update_ownership( deps: DepsMut<'_>, env: Env, info: MessageInfo, action: Action ) -> Result<Response<C>, ContractError>
source§impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
pub fn _transfer_nft( &self, deps: DepsMut<'_>, env: &Env, info: &MessageInfo, recipient: &str, token_id: &str ) -> Result<TokenInfo<T>, ContractError>
pub fn _update_approvals( &self, deps: DepsMut<'_>, env: &Env, info: &MessageInfo, spender: &str, token_id: &str, add: bool, expires: Option<Expiration> ) -> Result<TokenInfo<T>, ContractError>
sourcepub fn check_can_approve(
&self,
deps: Deps<'_>,
env: &Env,
info: &MessageInfo,
token: &TokenInfo<T>
) -> Result<(), ContractError>
pub fn check_can_approve( &self, deps: Deps<'_>, env: &Env, info: &MessageInfo, token: &TokenInfo<T> ) -> Result<(), ContractError>
returns true iff the sender can execute approve or reject on the contract
sourcepub fn check_can_send(
&self,
deps: Deps<'_>,
env: &Env,
info: &MessageInfo,
token: &TokenInfo<T>
) -> Result<(), ContractError>
pub fn check_can_send( &self, deps: Deps<'_>, env: &Env, info: &MessageInfo, token: &TokenInfo<T> ) -> Result<(), ContractError>
returns true iff the sender can transfer ownership of the token
source§impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
source§impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, E: CustomMsg, Q: CustomMsg,
pub fn token_count(&self, storage: &dyn Storage) -> StdResult<u64>
pub fn increment_tokens(&self, storage: &mut dyn Storage) -> StdResult<u64>
pub fn decrement_tokens(&self, storage: &mut dyn Storage) -> StdResult<u64>
Trait Implementations§
source§impl<'a, T, C, E, Q> Cw721Execute<T, C> for Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Execute<T, C> for Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
type Err = ContractError
fn transfer_nft( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, recipient: String, token_id: String ) -> Result<Response<C>, ContractError>
fn send_nft( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, contract: String, token_id: String, msg: Binary ) -> Result<Response<C>, ContractError>
fn approve( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, spender: String, token_id: String, expires: Option<Expiration> ) -> Result<Response<C>, ContractError>
fn revoke( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, spender: String, token_id: String ) -> Result<Response<C>, ContractError>
fn approve_all( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, operator: String, expires: Option<Expiration> ) -> Result<Response<C>, ContractError>
fn revoke_all( &self, deps: DepsMut<'_>, _env: Env, info: MessageInfo, operator: String ) -> Result<Response<C>, ContractError>
fn burn( &self, deps: DepsMut<'_>, env: Env, info: MessageInfo, token_id: String ) -> Result<Response<C>, ContractError>
source§impl<'a, T, C, E, Q> Cw721Query<T> for Cw721Contract<'a, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
C: CustomMsg,
E: CustomMsg,
Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721Query<T> for Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
source§fn operator(
&self,
deps: Deps<'_>,
env: Env,
owner: String,
operator: String,
include_expired: bool
) -> StdResult<OperatorResponse>
fn operator( &self, deps: Deps<'_>, env: Env, owner: String, operator: String, include_expired: bool ) -> StdResult<OperatorResponse>
operator returns the approval status of an operator for a given owner if exists
source§fn operators(
&self,
deps: Deps<'_>,
env: Env,
owner: String,
include_expired: bool,
start_after: Option<String>,
limit: Option<u32>
) -> StdResult<OperatorsResponse>
fn operators( &self, deps: Deps<'_>, env: Env, owner: String, include_expired: bool, start_after: Option<String>, limit: Option<u32> ) -> StdResult<OperatorsResponse>
operators returns all operators owner given access to
source§fn approvals(
&self,
deps: Deps<'_>,
env: Env,
token_id: String,
include_expired: bool
) -> StdResult<ApprovalsResponse>
fn approvals( &self, deps: Deps<'_>, env: Env, token_id: String, include_expired: bool ) -> StdResult<ApprovalsResponse>
approvals returns all approvals owner given access to
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 approval( &self, deps: Deps<'_>, env: Env, token_id: String, spender: String, include_expired: bool ) -> StdResult<ApprovalResponse>
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>>
source§impl<T, C, E, Q> Default for Cw721Contract<'static, T, C, E, Q>where
T: Serialize + DeserializeOwned + Clone,
E: CustomMsg,
Q: CustomMsg,
impl<T, C, E, Q> Default for Cw721Contract<'static, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, E: CustomMsg, Q: CustomMsg,
impl<'a, T, C, E, Q> Cw721<T, C> for Cw721Contract<'a, T, C, E, Q>where T: Serialize + DeserializeOwned + Clone, C: CustomMsg, E: CustomMsg, Q: CustomMsg,
Auto Trait Implementations§
impl<'a, T, C, E, Q> RefUnwindSafe for Cw721Contract<'a, T, C, E, Q>where C: RefUnwindSafe, E: RefUnwindSafe, Q: RefUnwindSafe, T: RefUnwindSafe,
impl<'a, T, C, E, Q> Send for Cw721Contract<'a, T, C, E, Q>where C: Send, E: Send, Q: Send, T: Send,
impl<'a, T, C, E, Q> Sync for Cw721Contract<'a, T, C, E, Q>where C: Sync, E: Sync, Q: Sync, T: Sync,
impl<'a, T, C, E, Q> Unpin for Cw721Contract<'a, T, C, E, Q>where C: Unpin, E: Unpin, Q: Unpin, T: Unpin,
impl<'a, T, C, E, Q> UnwindSafe for Cw721Contract<'a, T, C, E, Q>where C: UnwindSafe, E: UnwindSafe, Q: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more