Trait polkadot_sdk_frame::traits::tokens::nonfungible_v2::Mutate
pub trait Mutate<AccountId, ItemConfig>: Inspect<AccountId> {
// Provided methods
fn mint_into(
_item: &Self::ItemId,
_who: &AccountId,
_config: &ItemConfig,
_deposit_collection_owner: bool,
) -> Result<(), DispatchError> { ... }
fn burn(
_item: &Self::ItemId,
_maybe_check_owner: Option<&AccountId>,
) -> Result<(), DispatchError> { ... }
fn set_attribute(
_item: &Self::ItemId,
_key: &[u8],
_value: &[u8],
) -> Result<(), DispatchError> { ... }
fn set_typed_attribute<K, V>(
item: &Self::ItemId,
key: &K,
value: &V,
) -> Result<(), DispatchError>
where K: Encode,
V: Encode { ... }
fn set_metadata(
_who: &AccountId,
_item: &Self::ItemId,
_data: &[u8],
) -> Result<(), DispatchError> { ... }
fn clear_attribute(
_item: &Self::ItemId,
_key: &[u8],
) -> Result<(), DispatchError> { ... }
fn clear_typed_attribute<K>(
item: &Self::ItemId,
key: &K,
) -> Result<(), DispatchError>
where K: Encode { ... }
fn clear_metadata(
_who: &AccountId,
_item: &Self::ItemId,
) -> Result<(), DispatchError> { ... }
}
Expand description
Trait for providing an interface for NFT-like items which may be minted, burned and/or have attributes and metadata set on them.
Provided Methods§
fn mint_into(
_item: &Self::ItemId,
_who: &AccountId,
_config: &ItemConfig,
_deposit_collection_owner: bool,
) -> Result<(), DispatchError>
fn mint_into( _item: &Self::ItemId, _who: &AccountId, _config: &ItemConfig, _deposit_collection_owner: bool, ) -> Result<(), DispatchError>
Mint some item
to be owned by who
.
By default, this is not a supported operation.
fn burn(
_item: &Self::ItemId,
_maybe_check_owner: Option<&AccountId>,
) -> Result<(), DispatchError>
fn burn( _item: &Self::ItemId, _maybe_check_owner: Option<&AccountId>, ) -> Result<(), DispatchError>
Burn some item
.
By default, this is not a supported operation.
fn set_attribute(
_item: &Self::ItemId,
_key: &[u8],
_value: &[u8],
) -> Result<(), DispatchError>
fn set_attribute( _item: &Self::ItemId, _key: &[u8], _value: &[u8], ) -> Result<(), DispatchError>
Set attribute value
of item
’s key
.
By default, this is not a supported operation.
fn set_typed_attribute<K, V>(
item: &Self::ItemId,
key: &K,
value: &V,
) -> Result<(), DispatchError>
fn set_typed_attribute<K, V>( item: &Self::ItemId, key: &K, value: &V, ) -> Result<(), DispatchError>
Attempt to set the strongly-typed attribute value
of item
’s key
.
By default this just attempts to use set_attribute
.
fn set_metadata(
_who: &AccountId,
_item: &Self::ItemId,
_data: &[u8],
) -> Result<(), DispatchError>
fn set_metadata( _who: &AccountId, _item: &Self::ItemId, _data: &[u8], ) -> Result<(), DispatchError>
Set the metadata data
of an item
.
By default, this is not a supported operation.
fn clear_attribute(
_item: &Self::ItemId,
_key: &[u8],
) -> Result<(), DispatchError>
fn clear_attribute( _item: &Self::ItemId, _key: &[u8], ) -> Result<(), DispatchError>
Clear attribute of item
’s key
.
By default, this is not a supported operation.
fn clear_typed_attribute<K>(
item: &Self::ItemId,
key: &K,
) -> Result<(), DispatchError>where
K: Encode,
fn clear_typed_attribute<K>(
item: &Self::ItemId,
key: &K,
) -> Result<(), DispatchError>where
K: Encode,
Attempt to clear the strongly-typed attribute of item
’s key
.
By default this just attempts to use clear_attribute
.
fn clear_metadata(
_who: &AccountId,
_item: &Self::ItemId,
) -> Result<(), DispatchError>
fn clear_metadata( _who: &AccountId, _item: &Self::ItemId, ) -> Result<(), DispatchError>
Clear the metadata of an item
.
By default, this is not a supported operation.