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

Create a generic transaction to burn NFTs #236

Open
joshuahannan opened this issue Oct 8, 2024 · 5 comments · May be fixed by #238
Open

Create a generic transaction to burn NFTs #236

joshuahannan opened this issue Oct 8, 2024 · 5 comments · May be fixed by #238
Assignees
Labels
Improvement MoSCoW - Should SC-Eng Issues that we want to see surfaced in SC-Eng ZH Board

Comments

@joshuahannan
Copy link
Member

Issue To Be Solved

Users need an easy way to burn NFTs from anywhere that doesn't require the specific app to implement burning functionality. A burner address like in Ethereum would be easiest, but that isn't really possible since you can't transfer to an uninitialized account.

Suggest A Solution

  • Maybe use a transaction that sends it to BlackHole
  • Maybe use a transaction that just sends it to Burner.
  • Either way, it will likely be expected to just be a part of a web front end that anyone can sign in to with an FCL wallet.
  • Provide a contract name, address, and NFT ID as arguments.
@joshuahannan joshuahannan added Improvement MoSCoW - Should SC-Eng Issues that we want to see surfaced in SC-Eng ZH Board labels Oct 8, 2024
@joshuahannan joshuahannan self-assigned this Oct 8, 2024
@joshuahannan joshuahannan moved this to 🔖 Ready for Pickup in 🌊 Flow 4D Oct 8, 2024
@austinkline
Copy link
Contributor

austinkline commented Oct 8, 2024

You should be sending an nft to the Burner contract in case it has any callback functionality defined

Contract address and name isn't really enough, either. You'd need resource name as NFTs do not need to be called NFT. I would suggest taking in the resource type and id as inputs.

@joshuahannan
Copy link
Member Author

Of course, the Burner contract would always be the final destination no matter what. Some projects want an intermediate place for NFTs to go before being burnt though in order to have tracking for which NFTs are burnt and in which groups, etc. Still figuring out what that might look like

@joshuahannan joshuahannan linked a pull request Jan 7, 2025 that will close this issue
3 tasks
@joshuahannan
Copy link
Member Author

@btspoony Do you know if this is something that a lot of people are still asking for? I think something that is a generic receiver is probably a bit too much work for us to maintain, so I believe that our best bet is to just have a transaction like this that can transfer any NFT to the burner contract which destroys it. A user of any NFT project would simply just run that transaction and it could burn any NFT.

We could add it as an option on flow port for now so a user of Top Shot for example could transfer their NFT to flow wallet, then log in to flow port and choose the burn NFT option to burn it.

Do you think that sounds reasonable?

@joshuahannan joshuahannan moved this from 🔖 Ready for Pickup to 👀 In Review in 🌊 Flow 4D Jan 7, 2025
@btspoony
Copy link

btspoony commented Jan 8, 2025

That makes sense to me.
The main demand primarily comes from the Topshot Community.
But for the transaction, ideally it can accept multiple NFTs.

@joshuahannan
Copy link
Member Author

Good point, I'll update it to accept multiple NFTs

@joshuahannan joshuahannan moved this from 👀 In Review to 🏗 In Progress in 🌊 Flow 4D Jan 10, 2025
@joshuahannan joshuahannan moved this from 🏗 In Progress to 👀 In Review in 🌊 Flow 4D Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Improvement MoSCoW - Should SC-Eng Issues that we want to see surfaced in SC-Eng ZH Board
Projects
Status: 👀 In Review
Development

Successfully merging a pull request may close this issue.

3 participants