Vectorized / dn404

Implementation of a co-joined ERC20 and ERC721 pair.
MIT License
476 stars 158 forks source link

Inconsistency in NFT ID Handling #51

Open myst4 opened 9 months ago

myst4 commented 9 months ago

Hello guys,

I am currently testing the DN404 protocol, and I've encountered inconsistencies regarding NFT IDs. Here is the scenario:

User A and User B are participating in the protocol.
User A purchases 4 NFTs with the IDs 1, 2, 3, and 4.
User B purchases 1 NFT with the ID 5.
User A sells the NFTs with the IDs 3 and 4 as tokens on a DEX. These two IDs are burned.
User A returns to purchase another entire unit token (1 NFT) on a DEX. The new NFT is minted with the ID 6, resulting in a loss of reference to the IDs 3 and 4.

This process raises concerns about consistency in NFT ID. Shouldn't there be a mechanism in place to maintain consistency and ensure that IDs are not lost? If I'm not mistaken, The ERC404 protocol addresses this by adding a queue for burned IDs to be minted again later, ensuring consistency with the NFT IDs

Thanks for advance

Vectorized commented 9 months ago

This is intentional. We want to cycle through all the token Ids.

If you want to prevent rarity sniping, make a second baseURI update after all the IDs have been cycled through once.

Vectorized commented 9 months ago

We might make it an option in the future to allow recycling token Ids, but we have other priorities.