rmrk-team/rmrk-spec

RIP-008: Mint to recipient

Opened this issue · 1 comments

RIP Summary

Add ability to mint an NFT directly into someone else's account without having to MINTNFT + SEND. Without this, transferable === false is pointless because you cannot give non-transferable badges to someone else.

Examples

The proposed approach is to add a new field to the end of the MINTNFT interaction which would signify the recipient.

Instead of:

0x{bytes(rmrk::MINTNFT::{version}::{html_encoded_json})}

We would have

0x{bytes(rmrk::MINTNFT::{version}::{html_encoded_json}::{recipient})}

Concretely, if we have the MINTNFT operation of:

rmrk::MINTNFT::1.0.0::%7B%22collection%22%3A%220aff6865bed3a66b-DLEP%22%2C%22instance%22%3A%22DL15%22%2C%22name%22%3A%22Dot+Leap+15+Promo+NFT%22%2C%22transferable%22%3A1%2C%22sn%22%3A%220000000000000001%22%2C%22metadata%22%3A%22ipfs%3A%2F%2Fipfs%2FQmavoTVbVHnGEUztnBT2p3rif3qBPeCfyyUE5v4Z7oFvs4%22%7D

With a recipient of HviHUSkM5SknXzYuPCSfst3CXK4Yg6SWeroP6TdTZBZJbVT it would become:

rmrk::MINTNFT::1.0.0::%7B%22collection%22%3A%220aff6865bed3a66b-DLEP%22%2C%22instance%22%3A%22DL15%22%2C%22name%22%3A%22Dot+Leap+15+Promo+NFT%22%2C%22transferable%22%3A1%2C%22sn%22%3A%220000000000000001%22%2C%22metadata%22%3A%22ipfs%3A%2F%2Fipfs%2FQmavoTVbVHnGEUztnBT2p3rif3qBPeCfyyUE5v4Z7oFvs4%22%7D::HviHUSkM5SknXzYuPCSfst3CXK4Yg6SWeroP6TdTZBZJbVT

Impact

  • the UIs would have to recognize this field to auto-assign an NFT to the recipient
  • the tools would need updated:
    • the Consolidator needs to become aware of this and change the NFT's owner
    • the NFT's fromRemark functionality needs to be updated
    • the NFT's toRemark functionality needs to be updated

Will be closed in #27