substrate
substrate copied to clipboard
Uniques V2 Roadmap 2022 (Tracking Issue)
Goals
The main goal is to apply the best standards we currently have in the NFTs space while keeping the pallet as generic as possible.
Roadmap
Changes to the existing core (Uniques V1):
- [x] auto-incremental collections ids (https://github.com/paritytech/substrate/pull/12223)
- [x] new approvals structure (Discussion thread) (https://github.com/paritytech/substrate/pull/12178)
- [x] feature flags (bitflags) https://github.com/paritytech/substrate/pull/12367
- [ ] nested ownership (Discussion thread)
- [x] support tips when buying an NFT (https://github.com/paritytech/substrate/pull/12168)
New features:
- [ ] new methods to sell NFTs with off-chain signatures (Discussion thread)
- [x] Atomic NFTs swap https://github.com/paritytech/substrate/pull/12285
- [ ] basic support for marketplace functionality (Discussion thread) (https://github.com/paritytech/substrate/pull/12189)
- [ ] multi-assets support
- [ ] smart attributes (as described here)
- [ ] new minting methods (Discussion thread) https://github.com/paritytech/substrate/pull/12483
Nice to have:
- [ ] refactor roles (extract into a separate data store) https://github.com/paritytech/substrate/pull/12437
- [ ] extract logic into features/[feature].rs files
- [ ] advanced claiming options (Merkle tree claims, claims with the off-chain signature)
- [ ] support 1155 token standard
What would the new approvals structure exactly be? Could you please provide a bit more details on that? Is there a document where these tasks are a bit more detailed?
What would the new approvals structure exactly be? Could you please provide a bit more details on that? Is there a document where these tasks are a bit more detailed?
Sure, I've created multiple topics in the Discussions section to discuss the ideas and approaches. Once we come to a common agreement, we would start the implementation. The tasks above were updated with the links to the appropriate discussion threads.
This issue has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/uniques-pallet-nfts-september-update/410/2
What is multi-assets support?
Also, I saw smart attributes mentioned in the forum, but I don't see it here. It would be interesting to see your approach to access control with attributes.
I also don't find tips intuitive to understand. How do they relate to royalties?
This issue has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/uniques-pallet-nfts-september-update/410/4
@JayPavlina tips is an opt-in approach to royalties, rather than building royalties, and knowing that users can bypass it easily using things like wrapping the token.
In this case, there is still a way for an original NFT creator to get paid some portion of a sale, which is via the TIP feature. You can imagine, if you buy any NFT on a platform which supports tips, they will make sure that the final purchase transaction handles the TIP amount, and the artist is paid. Obviously this is something that needs to be supported by the platform, but this is already true for enforcement of royalties
@JayPavlina Multi-assets support is the ability to specify the price for your NFT in a non-native token.
No dex or conversion between tokens will be supported. If you set the price in USDC, then it will be possible to buy that NFT with USDC only.
Re smart attributes, I'll add them to the roadmap. Thanks for the heads up!
Can you include support for SFTs (semi-fungible tokens, which are supported in EIP-1155) in the roadmap as well? Major NFT marketplaces have been supporting it for a while already. If not for this release, at least for the subsequent one?
I'll put it into Nice-to-have section for now. I think we should merge the new pallet into the master once we get the opened pull requests ready + the smart attributes implemented. After that, we could start to gather feedback and think about the next wave of improvements
The mint call/dispatchable currently requires an item to be specified, which could lead to transactions failing with AlreadyExists in a hyped public mint which sells out in seconds. Perhaps consider adding an option which allows items to be automatically assigned based on a requested quantity, to allow minting more than one item in a single transaction. This may also require mint limits per transaction and transaction limits per mint phase tho, depending on mint mechanics.
PS - There also currently does not seem to be a way to determine how many items have been minted (CollectionDetails.items) from another pallet, which could be used to determine the next item identifier to use with the current api.
This issue has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/statemint-update-roadmap/1200/1
This issue has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/polkadot-release-analysis-v0-9-37/1736/1