pub trait Mutate<AccountId>: Inspect<AccountId> {
    fn mint_into(
        _class: &Self::ClassId,
        _instance: &Self::InstanceId,
        _who: &AccountId
    ) -> DispatchResult { ... }
fn burn_from(
        _class: &Self::ClassId,
        _instance: &Self::InstanceId
    ) -> DispatchResult { ... }
fn set_attribute(
        _class: &Self::ClassId,
        _instance: &Self::InstanceId,
        _key: &[u8],
        _value: &[u8]
    ) -> DispatchResult { ... }
fn set_typed_attribute<K: Encode, V: Encode>(
        class: &Self::ClassId,
        instance: &Self::InstanceId,
        key: &K,
        value: &V
    ) -> DispatchResult { ... }
fn set_class_attribute(
        _class: &Self::ClassId,
        _key: &[u8],
        _value: &[u8]
    ) -> DispatchResult { ... }
fn set_typed_class_attribute<K: Encode, V: Encode>(
        class: &Self::ClassId,
        key: &K,
        value: &V
    ) -> DispatchResult { ... } }
Expand description

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

Provided methods

Mint some asset instance of class to be owned by who.

By default, this is not a supported operation.

Burn some asset instance of class.

By default, this is not a supported operation.

Set attribute value of asset instance of class’s key.

By default, this is not a supported operation.

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

By default this just attempts to use set_attribute.

Set attribute value of asset class’s key.

By default, this is not a supported operation.

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

By default this just attempts to use set_attribute.

Implementors