-
Notifications
You must be signed in to change notification settings - Fork 462
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
Add ERC: Privileged Non-Fungible Tokens Tied To RWA #624
base: master
Are you sure you want to change the base?
Conversation
e99ba06
to
2649718
Compare
8f53a3f
to
485f8cf
Compare
71efa60
to
490223b
Compare
title: Privileged Non-Fungible Tokens Tied To RWA | ||
description: An interface extending ERC-721 representing real world assets that users can exercise privileges with NFTs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think anything in your proposal is specific to RWAs, so you can drop that from your title and description. It's also possible that I just missed something, so feel free to disagree 🤣
title: Privileged Non-Fungible Tokens Tied To RWA | |
description: An interface extending ERC-721 representing real world assets that users can exercise privileges with NFTs. | |
title: Non-Fungible Tokens with Privileges (NFTP) | |
description: Extending ERC-721 with privileges exercisable by the token owner. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This standard is designed specifically for RWA NFT. We are going to keep no change for the title. Thanks for your suggestion. You can look at rare.shop to meet the first use case for ERC-7765.
|
||
## Abstract | ||
|
||
This EIP defines an interface to carry a real world asset with some privileges that can be exercised by the holder of the corresponding NFT. The EIP standardizes the interface for non-fungible tokens representing real world assets with privileges to be exercised, such as products sold onchain which can be redeemed in the real world. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to see a succinct definition of a "privilege" in your abstract. You already have an example, which is good, but I think adding that definition would make your abstract great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added the specific definition of the "privilege" in the newest commit.
ERCS/erc-7765.md
Outdated
|
||
## Rationale | ||
|
||
1. The function `exercisePrivilege` performs the exercise action to a specific privilege of a token. If succeeds, it is expected to emit a PrivilegeExercised event. With this event emitted onchain, we can determine that the user has confirmed the exercise of this privilege, so as to implement the privilege in the real world. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. The function `exercisePrivilege` performs the exercise action to a specific privilege of a token. If succeeds, it is expected to emit a PrivilegeExercised event. With this event emitted onchain, we can determine that the user has confirmed the exercise of this privilege, so as to implement the privilege in the real world. | |
1. The function `exercisePrivilege` performs the exercise action to a specific privilege of a token. If succeeds, it is expected to emit a `PrivilegeExercised` event. With this event emitted onchain, we can determine that the user has confirmed the exercise of this privilege, so as to implement the privilege in the real world. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in the newest commit.
ERCS/erc-7765.md
Outdated
|
||
## Rationale | ||
|
||
1. The function `exercisePrivilege` performs the exercise action to a specific privilege of a token. If succeeds, it is expected to emit a PrivilegeExercised event. With this event emitted onchain, we can determine that the user has confirmed the exercise of this privilege, so as to implement the privilege in the real world. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function
exercisePrivilege
performs the exercise action to a specific privilege of a token. If succeeds, it is expected to emit a PrivilegeExercised event.
This text is describing the behaviour of the exercisePrivilege
function, and so belongs in the Specification section.
The latter half of this point is perfect to keep in the Rationale.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in the newest commit.
ERCS/erc-7765.md
Outdated
5. The function `getPrivilegeIds` provides a way to manage the binding relationship between NFTs and privilegeIds. | ||
|
||
6. EIP-7765Metadata provides specifications for obtaining metadata information of privileges. A contract that implements EIP-7765Metadata **SHALL** also implement EIP-7765. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similarly, these points are describing behaviour. They should be in the Specification section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in the newest commit.
ERCS/erc-7765.md
Outdated
5. The function `getPrivilegeIds` provides a way to manage the binding relationship between NFTs and privilegeIds. | ||
|
||
6. EIP-7765Metadata provides specifications for obtaining metadata information of privileges. A contract that implements EIP-7765Metadata **SHALL** also implement EIP-7765. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5. The function `getPrivilegeIds` provides a way to manage the binding relationship between NFTs and privilegeIds. | |
6. EIP-7765Metadata provides specifications for obtaining metadata information of privileges. A contract that implements EIP-7765Metadata **SHALL** also implement EIP-7765. | |
6. `IERC7765Metadata` provides specifications for obtaining metadata information of privileges. A contract that implements `IERC7765Metadata` **SHALL** also implement `IERC7765`. |
Is this perhaps what you mean?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in the newest commit.
ERCS/erc-7765.md
Outdated
|
||
## Backwards Compatibility | ||
|
||
This standard is an extension of ERC-721. It is fully compatible with both of the commonly used optional extensions (ERC-721Metadata and ERC-721Enumerable) mentioned in the ERC-721 standard. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This standard is an extension of ERC-721. It is fully compatible with both of the commonly used optional extensions (ERC-721Metadata and ERC-721Enumerable) mentioned in the ERC-721 standard. | |
This standard is an extension of ERC-721. It is fully compatible with both of the commonly used optional extensions (`IERC721Metadata` and `IERC721Enumerable`) mentioned in the ERC-721 standard. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in the newest commit.
ERCS/erc-7765.md
Outdated
|
||
## Reference Implementation | ||
|
||
The reference implementation of Privileged NFTs can be found at the repository named EIP-7765-example under the organization of Mint-Blockchain on github. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is still an external link even though you don't use a URL. Please either put a copy of your reference implementation in the assets/
directory or remove this section. We accept most open source non-copyleft licenses.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
17d441e
to
e13ed6f
Compare
The commit f0d4a82 (as a parent of 7d756f1) contains errors. |
This EIP defines an interface to carry a real world asset with some privileges that can be exercised by the holder of the corresponding NFT. The EIP standardizes the interface for non-fungible tokens representing real world assets with privileges to be exercised, such as products sold onchain which can be redeemed in the real world.