referrerpolicy=no-referrer-when-downgrade
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>

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>

Burn some item.

By default, this is not a supported operation.

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>
where K: Encode, V: Encode,

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>

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>

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,

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>

Clear the metadata of an item.

By default, this is not a supported operation.

Object Safety§

This trait is not object safe.

Implementors§

§

impl<F, A, AccountId, ItemConfig> Mutate<AccountId, ItemConfig> for ItemOf<F, A, AccountId>
where F: Mutate<AccountId, ItemConfig>, A: Get<<F as Inspect<AccountId>>::CollectionId>,