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

Update EIP-5585: Move to Last Call #7679

Merged
merged 2 commits into from
Sep 12, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions EIPS/eip-5585.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ title: ERC-721 NFT Authorization
description: Allows NFT owners to authorize other users to use their NFTs.
author: Veega Labs (@VeegaLabsOfficial), Sean NG (@ngveega), Tiger (@tiger0x), Fred (@apan), Fov Cao (@fovcao)
discussions-to: https://ethereum-magicians.org/t/nft-authorization-erc721-extension/10661
status: Review
status: Last Call
last-call-deadline: 2023-10-10
type: Standards Track
category: ERC
created: 2022-08-15
Expand All @@ -13,7 +14,7 @@ requires: 721

## Abstract

This EIP separates the [ERC-721](./eip-721.md) NFT's commercial usage rights from it's ownership to allow for the independent management of those rights.
This EIP separates the [ERC-721](./eip-721.md) NFT's commercial usage rights from its ownership to allow for the independent management of those rights.

## Motivation

Expand Down Expand Up @@ -155,7 +156,7 @@ The `updateUserLimit` event MUST be emitted when the number of users that can be

First of all, NFT contract owner can set the maximum number of authorized users to each NFT and whether the NFT owner can cancel the authorization at any time to protect the interests of the parties involved.

Secondly, there is a resetAllowed flag to control the rights between the NFT owner and the users for the contract owner. If the flag is set to true, then the NFT owner can disable usage rights of all authorized users at any time.
Secondly, there is a `resetAllowed` flag to control the rights between the NFT owner and the users for the contract owner. If the flag is set to true, then the NFT owner can disable usage rights of all authorized users at any time.

Thirdly, the rights within the user record struct is used to store what rights has been authorized to a user by the NFT owner, in other words, the NFT owner can authorize a user with specific rights and update it when necessary.

Expand All @@ -167,7 +168,7 @@ This standard is compatible with [ERC-721](./eip-721.md) since it is an extensio

## Security Considerations

When the resetAllowed flag is false, which means the authorization can not be revoked by NFT owner during the period of authorization, users of the EIP need to make sure the authorization fee can be fairly assigned if the NFT was sold to a new holder.
When the `resetAllowed` flag is false, which means the authorization can not be revoked by NFT owner during the period of authorization, users of the EIP need to make sure the authorization fee can be fairly assigned if the NFT was sold to a new holder.

Here is a solution for taking reference: the authorization fee paid by the users can be held in an escrow contract for a period of time depending on the duration of the authorization. For example, if the authorization duration is 12 months and the fee in total is 10 ETH, then if the NFT is transferred after 3 months, then only 2.5 ETH would be sent and the remaining 7.5 ETH would be refunded.

Expand Down