EIP-4671: Non-tradable Token

,

Hi guys!
@omaraflak, thkx for great work on this EIP.

I am seeing potential in this and find this great point to jump in this magical forum to join the conversation

Proposal for this standard:

Replace isValid/hasValid and revoke() with burn()

Motivation:

  • Structure is similar to ERC721Burnable without transfer methods, meaning less adaption friction for the standard.
  • Checking ownership of the token becomes easier (checking side can just make sure that token is not listed in enumeration).
  • Token standard heads toward Non-Tradability, however one should not put limitations on ability to non-tradable transfer scenario. Which burn is - I assume it is true.
  • Revoking and re-issuing token takes form mint-burn-mint which is convenient approach which many developers use already today
  • More secure. Token could be flash-toggled and contracts relying on this must assume that state of the token can toggle multiple times over a block. Resulting tradability of token state. In Mint/Burn scenario checking token ownership by id allows to rely on that state can change only once - to burn.

Also what is purpose use of holdersCount/emittedCount and why Enumerable does not has totalSupply() interface?

Thats my first post on the forum, if this discussion fits more in github or elsewhere just let me know,
Cheers
Peersky

1 Like

Also I started EIP-1753: Smart Contract Interface for Licences. We should all work together!

Checkout eip-1753 too :slight_smile: