mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-22 00:55:42 +00:00
30951822ba
* initial idea * update frame_support * update a bunch more * add ord * adjust RuntimeDbWeight * frame_system builds * re-export * frame_support tests pass * frame_executive compile * frame_executive builds * frame_system tests passing * pallet-utility tests pass * fix a bunch of pallets * more * phragmen * state-trie-migration * scheduler and referenda * pallet-election-provider-multi-phase * aura * staking * more * babe * balances * bunch more * sudo * transaction-payment * asset-tx-payment * last pallets * fix alliance merge * fix node template runtime * fix pallet-contracts cc @athei * fix node runtime * fix compile on runtime-benchmarks feature * comment * fix frame-support-test * fix more tests * weight regex * frame system works * fix a bunch * more * more * more * more * more * more fixes * update templates * fix contracts benchmarks * Update lib.rs * Update lib.rs * fix ui * make scalar saturating mul const * more const functions * scalar div * refactor using constant functions * move impl * fix overhead template * use compactas * Update lib.rs
Uniques Module
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:
- Asset Issuance
- Asset Transfer
- Asset Destruction
To use it in your runtime, you need to implement the assets uniques::Config.
The supported dispatchable functions are documented in the uniques::Call enum.
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.
- 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.
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 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 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.approve_transfer: Name a delegate who may authorise a transfer.cancel_approval: Revert the effects of a previousapprove_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.freeze: Prevent an individual asset from being transferred.thaw: Revert the effects of a previousfreeze.freeze_class: Prevent all asset within a class from being transferred.thaw_class: Revert the effects of a previousfreeze_class.transfer_ownership: Alter the owner of an asset class, moving all associated deposits.set_team: Alter the permissioned accounts of an asset class.
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.
Force (i.e. governance) dispatchables
force_create: Create a new asset class.force_asset_status: Alter the underlying characteristics of an asset class.
Please refer to the Call enum
and its associated variants for documentation on each function.
Related Modules
License: Apache-2.0