A pallet for dealing with NFT royalties
The NFTs Royalty pallet provides royalties for non-fungible tokens. Features include:
- Setting a royalty for a specific NFT item
- Ability to specify multiple royalty recipients
- Updating royalty recipients for an item
- Buying NFTs and thus paying royalties to recipient(s)
- Deleting royalties only if the collection or item no longer exists
This pallet can be loosely coupled with the NFTs pallet, therefore to use this pallet in your runtime you may also want to look at the NFTs pallet for NFT-related functions.
- Recipients: List of accounts that the royalty will go to and its correspondent percentage of the royalties.
- Recipient Admin: Account admin of the royalty, the one that can transfer or remove the royalty.
- Item Royalty Deposit: The amount of funds that must be reserved for storing an item's royalty.
set_item_royalty
: Set the royalty for an existing NFT item by placing a deposit.transfer_item_royalty_recipient
: Set theroyalty_admin
of a collection to another account.buy
: Buy an NFT item if it's up for sale and pays the royalty associated to it.remove_item_royalty
: Remove the royalty associated to an NFT item only if the item no longer exists.
License: Apache-2.0
It has been migrated in this repository, but was developed with Bruno originally in specific branch in the deprecated Substrate repository: https://github.com/paritytech/substrate/blob/bg/nfts-royalty/frame/nfts-royalty/README.md
Check the debate of this pallet in: https://forum.polkadot.network/t/nfts-royalty-pallet/3766