GithubHelp home page GithubHelp logo

fusion's Introduction

Twitter: Rohan

Telegram: @RohanXKapur

  • Currently: Backend/Infra @ Squads Protocol
  • Formerly: Backend @ GooseFX
Current PGP key
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
PiXp
=RhQU
-----END PGP PUBLIC KEY BLOCK-----

fusion's People

Contributors

rohankapurdev avatar tomjohn1028 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fusion's Issues

better NFT support

hey

as we discussed briefly before - I'm just writing down my concerns below:

it seems that metaplex fusion would work great for coins (if used as ingredients in games. for example a mint 1[herb A] + mint 2[herb B] ==> mint 3[potion]), but not for NFTs.

Problems that I see:

  1. It seems that the NFT usage is very limited (one has to create a formula for every mint pair). That means that in case of NFTs - there cannot be a generic formula (for example: take any 2 NFTs as input and have 1 NFT as output).
  2. (if we're talking about NFTs released by the candy machine for example) - the user IS NOT the authority that can actually fuse those NFTs and I'm not sure how to solve this.
  3. validating that NFTs can be fused together is not there. There should be some form of creators validation to make sure that an NFT actually belongs to a collection that has merging enabled (creators are part of the metaplex/metadata program)

Possible solutions:

  • have a formula configuration (for example: 2 inputs, burn all inputs, 1 output) that only defines the counts/interactions, but not actual mints
  • add creator validation (creators to be validated could be simply added to the formula configuration)

unclear at this point (even after changes suggested above)

  • how to actually use this if one wants to fuse two NFTs together in 1 transaction (while also creating some content to be uploaded to external storage, like metadata JSON, a graphic, a video or anything else). An event could be emitted, that's understandable, but wouldn't that create a situation where the end user sees an "undefined/unfinished" NFT, which then gets somehow updated by the authority? (some server that listens to those events).
  • or even broader - how to use this for NFTs in general (as a real world example, where the user IS NOT the authority, which is the case in tests)

I was trying to be as clear possible, but am happy to comment further if needed.

cheers!

Handle outputting a Metaplex Edition

  • add Metaplex Token Metadata contract to the repository and deployment at test genesis
  • Write test(s) for the CreateFormula instruction that validates a formula's output can be a Metaplex Edition
  • update CreateFormula to handle transferring Edition mint capabilities to the protocol and pass tests
  • write test(s) for the Craft instruction that takes in x SPL Token Ingredients and expects an output to be a new Edition print
  • update Craft to mint a new output edition

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.