Open BrandtH22 opened 10 months ago
This PR has been assigned as CHIP-21 and is now a Draft
. It is a Chialisp puzzle for combining, separating, and upgrading NFTs. Please leave your reviews as comments here.
We will be holding a public discussion of this CHIP on Wednesday, November 29 at 7 AM PST (3 PM GMT, 11 PM in China). Please message me on Keybase if you would like a Google Calendar invitation.
The recording of our call where Brandt discusses this CHIP is on Youtube: https://www.youtube.com/watch?v=Rqd0hNsWgWM
@Yakuhito graciously donated some of his time to look over things. I am looking at the following items from his review.
List of pairs length check
When you do `(list_of_pairs NFT_A_LAUNCHER_IDS nft_coin_ids_to_lock)`, can't I just pass `()` as `nft_coin_ids_to_lock` and unlock all NFTs? I don't see the length to be checked anywhere, and list_of_pairs finishes execution once a list is empty
offer wallet asserts
offer_wallet_asserts ; an additional list of puzzlehash-msg announcements to assert -> are you sure this is required? since they don't create coins, someone can just modify the param to be an emty list and replace any mempool sb
OFFER_MOD_HASH should be enforced in full puzzle hash check
you pass OFFER_MOD_HASH through the puzzle, but you lose is by the time you get here: https://github.com/trgarrett/fusion-clsp/blob/main/clsp/fusion_singleton.clsp#L90 - make sure the singletons that create the puzzle announcements really have an inner puzzle of OFFER_MOD (inside the state layer, I think?) - otherwise, they might create fake announcements to trick you (e.g., the inner puzzle is my p2_, but I tell it to make the right announcement to satisfy the assert)
i.e., replace nft_inner_puzzlehashes with curry_hashes_inline NFT_STATELAYER_MOD_HASH (...) OFFER_MOD_HASH (...)
might also be applicable to https://github.com/trgarrett/fusion-clsp/blob/main/clsp/fusion_singleton.clsp#L64 - not sure since one side is always locked```
The recording of our call where Brandt discusses this CHIP is on Youtube: https://www.youtube.com/watch?v=Rqd0hNsWgWM
Two questions arose during the zoom call:
More information for these will be included in the chip prior to it being moved to the next state, we will also include more information on the clsp puzzle as it is finalized.
@danieljperry we are ready to move this out of draft 🥳
This CHIP is now in Review
. Please leave your reviews here.
In addition, we will be holding a public Zoom call to discuss this CHIP on September 3 at 7 AM PDT / 1400 UTC. See the #chips channel in our Discord for more info.
The video from our Zoom call is located here: https://youtu.be/M93hGeOEC3Q
Please leave your reviews for this CHIP as comments in this PR. If there are no major issues, we will move toward finalizing it soon.
This puzzle enables robust nft interactions while maintaining full on-chain provenance and non-fungibility of the associated tokens.