Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request]: Dual role NFT #50

Open
pause125 opened this issue Jun 30, 2022 · 2 comments
Open

[Feature Request]: Dual role NFT #50

pause125 opened this issue Jun 30, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@pause125
Copy link
Collaborator

Feature Request

Describe the Feature Request

Ethereum passed ERC-4907 standard in which a NFT has two roles: owner and user.

There may be an owner of the NFT that rents it out to a “user”. The actions that a “user” should be able to take with an NFT would be different from the “owner” (for instance, “users” usually shouldn’t be able to sell ownership of the NFT). In these situations, it makes sense to have separate roles that identify whether an address represents an “owner” or a “user” and manage permissions to perform actions accordingly.

I think this is a very useful feature to make NFT having more use case.

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
Yes / No (Help can be provided if you need assistance submitting a PR)

@pause125 pause125 added the enhancement New feature or request label Jun 30, 2022
@jolestar
Copy link
Member

jolestar commented Jul 1, 2022

In ERC-4907, the user can not invoke the transfer function, and only the owner can.

All DApp need to use userOf to replace ownerOf to support the rent cases.

How to express this scenario in Move?

@pause125
Copy link
Collaborator Author

pause125 commented Jul 1, 2022

In ERC-4907, the user can not invoke the transfer function, and only the owner can.

All DApp need to use userOf to replace ownerOf to support the rent cases.

How to express this scenario in Move?

There is an option: each NFT has a use_capability which is a standalone resource, and can be transfered. Dapps can check the use_capability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants