ERC-7561: Simple NFT, Simplified ERC-721
Abstract
This ERC is a new NFT asset designed based on the user contract wallet (including AA), and is forward compatible with ERC-721,to keep nft assets simple, this ERC removes some functions of ERC-721.
Motivation
ERC-721 are Ethereum-based standard nft that can be traded and transferred on the Ethereum network. But the essence of ERC-721 is based on the EOA wallet design. EOA wallet has no state and code storage, and the smart contract wallet is different.
Almost all ERCs related to NFT are adding functions, our opinion is the opposite, we think the NFT contract should be simpler, more functions are taken care of by the smart contract wallet.
Our proposal is to design a simpler NFT asset based on the smart contract wallet,
It aims to achieve the following goals:
Keep the NFT contract simple, only need to be responsible for the transaction function
approve and allowance functions are not managed by the NFT contract , approve and getApproved should be configured at the user level instead of controlled by the nft contract, increasing the user's more playability , while avoiding part of the ERC-721 contract risk.
Remove the safeTransferFrom function, and a better way to call the other party's nft assets is to access the other party's own contract instead of directly accessing the nft asset contract.
Forward compatibility with ERC-721 means that all nft can be compatible with this proposal.
Specification
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
Compliant contracts MUST implement the following interface:
Rationale
The purpose of the proposal is to add a simple nft for Ethereum smart contract wallet. Token contracts are only responsible for transactions and define assets.
Examples
Judges whether the receiving address is safe (ERC-721, safeTransferForm),
ERC-721 Consecutive Transfer Extension(ERC-2309),
No Intermediary NFT Trading Protoco(ERC-6105),
authorizes the distribution of the user's own assets (ERC-721, approve, allowance) and many proposals based on ERC-721 extension
The above work should be handled by the user's smart contract wallet or wallet pulgin, rather than the nft contract itself.
Backwards Compatibility
As mentioned in the beginning, this ERC is forward compatible with ERC-721, ERC-721 is backward compatible with this ERC. In order to support backward compatibility with ERC-721, we also mentioned backward compatible code in the Reference Implementation.
Reference Implementation
forward compatible with ERC-721
Security Considerations
It should be noted that this ERC is not backward compatible with ERC-721, so there will be incompatibility with existing dapps.
Copyright
Copyright and related rights waived via CC0.
Last updated