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

burn 1 nft, mint and transfer nft #338

Open
yubrew opened this issue Aug 1, 2022 · 4 comments
Open

burn 1 nft, mint and transfer nft #338

yubrew opened this issue Aug 1, 2022 · 4 comments

Comments

@yubrew
Copy link
Contributor

yubrew commented Aug 1, 2022

No description provided.

@ivmidable
Copy link

could you clarify what you want on this exactly? it sounds similar to how we did the villain burn/swap for HeroNFT on terra. with the villain burn we allowed them to burn 2 heroes and then it minted them a new villain.

@yubrew
Copy link
Contributor Author

yubrew commented Sep 10, 2022

Yes other creators are asking to do similar things. Some have done it in trusted ways with cosmjs, but I think it would be better to have a smart contract perform the swap

What approaches did you consider, and what did you end up using?

@ivmidable
Copy link

so here is what I was thinking as far as a v1 for stargaze, instead of burn 1 mint 1 let the collection owner set the burn threshold to mint so it could be burn 2,3,4 to mint 1.

so at a high level something like new minter contract that uses receiver pattern to get the NFT of a specific collection(maybe multiple collections?) and then it calls burn on it and keeps a count of how many burns each wallet has and when it hits the threshold it will call mint on a new collection(or maybe the same collection?). I think it would open up a lot of interesting use cases.

@ivmidable
Copy link

could also limit the burning to specific token_ids of a collection that way you could do like we did with Hero and only allow burning of commons or NFTs with specific traits, it would just be a matter of determining a good fairburn fee to charge for setup since it would require storing some extra state data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants