pub trait Mutate<AccountId, ItemConfig>: Inspect<AccountId> {
    // Provided methods
    fn mint_into(
        _collection: &Self::CollectionId,
        _item: &Self::ItemId,
        _who: &AccountId,
        _config: &ItemConfig,
        _deposit_collection_owner: bool
    ) -> DispatchResult { ... }
    fn burn(
        _collection: &Self::CollectionId,
        _item: &Self::ItemId,
        _maybe_check_owner: Option<&AccountId>
    ) -> DispatchResult { ... }
    fn set_attribute(
        _collection: &Self::CollectionId,
        _item: &Self::ItemId,
        _key: &[u8],
        _value: &[u8]
    ) -> DispatchResult { ... }
    fn set_typed_attribute<K: Encode, V: Encode>(
        collection: &Self::CollectionId,
        item: &Self::ItemId,
        key: &K,
        value: &V
    ) -> DispatchResult { ... }
    fn set_collection_attribute(
        _collection: &Self::CollectionId,
        _key: &[u8],
        _value: &[u8]
    ) -> DispatchResult { ... }
    fn set_typed_collection_attribute<K: Encode, V: Encode>(
        collection: &Self::CollectionId,
        key: &K,
        value: &V
    ) -> DispatchResult { ... }
    fn clear_attribute(
        _collection: &Self::CollectionId,
        _item: &Self::ItemId,
        _key: &[u8]
    ) -> DispatchResult { ... }
    fn clear_typed_attribute<K: Encode>(
        collection: &Self::CollectionId,
        item: &Self::ItemId,
        key: &K
    ) -> DispatchResult { ... }
    fn clear_collection_attribute(
        _collection: &Self::CollectionId,
        _key: &[u8]
    ) -> DispatchResult { ... }
    fn clear_typed_collection_attribute<K: Encode>(
        collection: &Self::CollectionId,
        key: &K
    ) -> DispatchResult { ... }
}
Expand description

Trait for providing an interface for multiple collections of NFT-like items which may be minted, burned and/or have attributes set on them.

Provided Methods§

source

fn mint_into( _collection: &Self::CollectionId, _item: &Self::ItemId, _who: &AccountId, _config: &ItemConfig, _deposit_collection_owner: bool ) -> DispatchResult

Mint some item of collection to be owned by who.

By default, this is not a supported operation.

source

fn burn( _collection: &Self::CollectionId, _item: &Self::ItemId, _maybe_check_owner: Option<&AccountId> ) -> DispatchResult

Burn some item of collection.

By default, this is not a supported operation.

source

fn set_attribute( _collection: &Self::CollectionId, _item: &Self::ItemId, _key: &[u8], _value: &[u8] ) -> DispatchResult

Set attribute value of item of collection’s key.

By default, this is not a supported operation.

source

fn set_typed_attribute<K: Encode, V: Encode>( collection: &Self::CollectionId, item: &Self::ItemId, key: &K, value: &V ) -> DispatchResult

Attempt to set the strongly-typed attribute value of item of collection’s key.

By default this just attempts to use set_attribute.

source

fn set_collection_attribute( _collection: &Self::CollectionId, _key: &[u8], _value: &[u8] ) -> DispatchResult

Set attribute value of collection’s key.

By default, this is not a supported operation.

source

fn set_typed_collection_attribute<K: Encode, V: Encode>( collection: &Self::CollectionId, key: &K, value: &V ) -> DispatchResult

Attempt to set the strongly-typed attribute value of collection’s key.

By default this just attempts to use set_attribute.

source

fn clear_attribute( _collection: &Self::CollectionId, _item: &Self::ItemId, _key: &[u8] ) -> DispatchResult

Clear attribute of item of collection’s key.

By default, this is not a supported operation.

source

fn clear_typed_attribute<K: Encode>( collection: &Self::CollectionId, item: &Self::ItemId, key: &K ) -> DispatchResult

Attempt to clear the strongly-typed attribute of item of collection’s key.

By default this just attempts to use clear_attribute.

source

fn clear_collection_attribute( _collection: &Self::CollectionId, _key: &[u8] ) -> DispatchResult

Clear attribute of collection’s key.

By default, this is not a supported operation.

source

fn clear_typed_collection_attribute<K: Encode>( collection: &Self::CollectionId, key: &K ) -> DispatchResult

Attempt to clear the strongly-typed attribute of collection’s key.

By default this just attempts to use clear_attribute.

Implementors§