Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Update documentation for uniques
Browse files Browse the repository at this point in the history
The documentation was outdated after merge of #11389
Using the widely spread term collections and item instead
of the previous class and instance.
  • Loading branch information
simonsso committed Feb 7, 2023
1 parent 41ae908 commit 42c0d43
Showing 1 changed file with 28 additions and 28 deletions.
56 changes: 28 additions & 28 deletions frame/uniques/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ A simple, secure module for dealing with non-fungible assets.

## Overview

The Uniques module provides functionality for asset management of non-fungible asset classes, including:
The Uniques module provides functionality for asset management of non-fungible asset collections, including:

* Asset Issuance
* Asset Transfer
Expand All @@ -16,55 +16,55 @@ The supported dispatchable functions are documented in the [`uniques::Call`](htt

### Terminology

* **Asset issuance:** The creation of a new asset instance.
* **Asset transfer:** The action of transferring an asset instance from one account to another.
* **Asset burning:** The destruction of an asset instance.
* **Asset issuance:** The creation of a new asset item.
* **Asset transfer:** The action of transferring an asset item from one account to another.
* **Asset burning:** The destruction of an asset item.
* **Non-fungible asset:** An asset for which each unit has unique characteristics. There is exactly
one instance of such an asset in existence and there is exactly one owning account.
one item of such an asset in existence and there is exactly one owning account.

### Goals

The Uniques pallet in Substrate is designed to make the following possible:

* Allow accounts to permissionlessly create asset classes (collections of asset instances).
* Allow a named (permissioned) account to mint and burn unique assets within a class.
* Move asset instances between accounts permissionlessly.
* Allow accounts to permissionlessly create asset collections.
* Allow a named (permissioned) account to mint and burn unique assets within a collection.
* Move asset items between accounts permissionlessly.
* Allow a named (permissioned) account to freeze and unfreeze unique assets within a
class or the entire class.
* Allow the owner of an asset instance to delegate the ability to transfer the asset to some
collection or the entire collection.
* Allow the owner of an asset item to delegate the ability to transfer the asset to some
named third-party.

## Interface

### Permissionless dispatchables
* `create`: Create a new asset class by placing a deposit.
* `transfer`: Transfer an asset instance to a new owner.
* `redeposit`: Update the deposit amount of an asset instance, potentially freeing funds.
* `create`: Create a new asset collection by placing a deposit.
* `transfer`: Transfer an asset item to a new owner.
* `redeposit`: Update the deposit amount of an asset item, potentially freeing funds.
* `approve_transfer`: Name a delegate who may authorise a transfer.
* `cancel_approval`: Revert the effects of a previous `approve_transfer`.

### Permissioned dispatchables
* `destroy`: Destroy an asset class.
* `mint`: Mint a new asset instance within an asset class.
* `burn`: Burn an asset instance within an asset class.
* `destroy`: Destroy an asset collection.
* `mint`: Mint a new asset item within an asset collection.
* `burn`: Burn an asset item within an asset collection.
* `freeze`: Prevent an individual asset from being transferred.
* `thaw`: Revert the effects of a previous `freeze`.
* `freeze_class`: Prevent all asset within a class from being transferred.
* `thaw_class`: Revert the effects of a previous `freeze_class`.
* `transfer_ownership`: Alter the owner of an asset class, moving all associated deposits.
* `set_team`: Alter the permissioned accounts of an asset class.
* `freeze_collection`: Prevent all asset within a collection from being transferred.
* `thaw_collection`: Revert the effects of a previous `freeze_collection`.
* `transfer_ownership`: Alter the owner of an asset collection, moving all associated deposits.
* `set_team`: Alter the permissioned accounts of an asset collection.

### Metadata (permissioned) dispatchables
* `set_attribute`: Set a metadata attribute of an asset instance or class.
* `clear_attribute`: Remove a metadata attribute of an asset instance or class.
* `set_metadata`: Set general metadata of an asset instance.
* `clear_metadata`: Remove general metadata of an asset instance.
* `set_class_metadata`: Set general metadata of an asset class.
* `clear_class_metadata`: Remove general metadata of an asset class.
* `set_attribute`: Set a metadata attribute of an asset item or collection.
* `clear_attribute`: Remove a metadata attribute of an asset item or collection.
* `set_metadata`: Set general metadata of an asset item.
* `clear_metadata`: Remove general metadata of an asset item.
* `set_collection_metadata`: Set general metadata of an asset collection.
* `clear_collection_metadata`: Remove general metadata of an asset collection.

### Force (i.e. governance) dispatchables
* `force_create`: Create a new asset class.
* `force_asset_status`: Alter the underlying characteristics of an asset class.
* `force_create`: Create a new asset collection.
* `force_asset_status`: Alter the underlying characteristics of an asset collection.

Please refer to the [`Call`](https://paritytech.github.io/substrate/master/pallet_uniques/pallet/enum.Call.html) enum
and its associated variants for documentation on each function.
Expand Down

0 comments on commit 42c0d43

Please sign in to comment.