Repository navigation
[MIP-012] Add Bubblegum Instruction to close Merkle Trees #50
Replies: 4 comments 5 replies
|
This Community MIP is now open for community feedback. The community feedback period will remain open for 14 days. |
|
Agree there is an existing facility in the account compression programs to close an empty tree, which requires all leaf nodes to actually be zeroed out (never used or all leaves burned). We need to also consider protections for not increasing cNFT spam. For example, if a V2 tree is created with permanent burn delegate is in place, then spam could be delivered to many wallets, and after a period of being viewable, burned by the spam creator (for the same cost as minting them), most of the original cost is reclaimed. Do you have technical implementation ideas in mind for this proposal? |
|
Thanks @danenbm ! I take your point on the spam-ability but I don't think the current cost is prohibitive enough to be the sole deterrent. We have also come up against the permanent burn delegate issue however, we build markets with cNFTs denoting positions. I'll admit I hadn't really scoped that into this request, but now you've brought it up I think it may have to be. |
|
See my PR here: LINK I think this is enough to expose the correct ix to devs for this outlined use case. I have not addressed @danenbm point for increased spam, I do believe its valid, but probably out of scope for this MIP. See my note on the PR regarding a timed delegation strategy. I think this could be a neat solution to handle short-lived cNFTs, but will require a more thought out plan. Since this was a fairly trivial implementation, I'd be happy to scope a concept around a delegation timer, if we want to extend the scope? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Submitter: imetandy
Email: robinson.andrewjames@gmail.com
Submission transaction: 2nM5worDUytxEK4rZqnsenPWewT5kkHEkuK6p9qkXEr3rfG79LZtNoQey3DEbEUc5VWfmdErEQwfpVQjXp2rGLaT
Title: Add functionality to close Merkle Trees
Links: https://github.com/solana-labs/solana-program-library/blob/a08ec509/account-compression/sdk/src/generated/instructions/closeEmptyTree.ts#L32
Compressed NFTs lifespans can be short lived depending on use cases.
We are using them to denote betting slips, which will be created and then burned at a later date once a market is resolved and users claim their winnings.
A market creator may choose a small merkle tree, and then want to expand the amount of cNFTs they can offer at a later date.
In this scenario, it would be useful to open a larger merkle tree account, migrate people to this tree, and close the previous one to reclaim the SOL.
It looks like this was planned / in place in the spl-account-compression program, but has not made its way into MPL libraries.
All reactions