Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Also working on building out the frontend for #16 -> see Signal-K/Silfur#28 & Signal-K/Silfur#26 & Signal-K/Silfur#24 & Signal-K/Silfur#25 & Signal-K/Silfur#21 & Signal-K/Silfur#22 Frontend components are being built out on the signal-k/client repo: Signal-K/client#12 Contract: https://thirdweb.com/0xCdc5929e1158F7f0B320e3B942528E6998D8b25c/PlanetHelper, https://www.notion.so/skinetics/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7#73801895fc5a421bbf57801a33a775c7 Claiming mints: ```sol function verifyClaim( address _claimer, uint256 _tokenId, uint256 _quantity ) public view override { require (_tokenId == 0, 'Only first NFT is claimable'); require (_quantity == 1, 'Only 1 NFT can be claimed at a time'); } ``` Multitool base documentation: https://skinetics.notion.site/Planet-Mining-multitool-8310fa1cd188440688bbcc19692b3b67 Contract README: > # Planets > > > ## Confirmed Planets Contract > > Documentation: [https://skinetics.notion.site/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7](https://www.notion.so/Sample-Planets-Contract-4c3bdcbca4b9450382f9cc4e72e081f7) > > - User mints an anomaly that has appeared in their UI (for now, the webapp, later it will be the game as well) > - API searches for a token that has already been lazy minted with the TIC id of the anomaly (or the identifier of the candidate) > - If there is a token id that has the TIC Id, then claim a copy of that to the `msg.sender` (playerβs address) so they can manipulate it in-game > - If the TIC ID has never been minted before, lazy mint a new one with parameters fetched from the data source and send it to `msg.sender` > - Return the IPFS metadata > - Add some buttons that allow manipulations for the NFT (e.g. viewing (reading) metadata (e.g. image/video files, graphs). > - Graphs should be generated in a Jupyter notebook and returned in the Next app. > - User creates post (proposal [Proposal Board β Migration from Vite](https://www.notion.so/Proposal-Board-Migration-from-Vite-2e3ef95e384d4ac1875e0dbbe9a59337)) with the NFT ID for their anomaly and some extra metadata for their discoveries and proposal, and then users can vote > > ## Planet/Node candidates > > (Where node refers to any type/class/collection of object that is part of the classification process. E.g. the TESS planets collection, mining/seismic data collection, etc) > Simple flow: Contract for unconfirmed planet β created via Deepnote flask > Once confirmed β lazy mint on existing goerli contract > Mining multitool helper > > # PlanetContractAddress > > Address for the collection of planets/node candidates that have been confirmed and lazy-minted. > The process for this in the Star Sailors wrapper is as follows: > > 1. Player mints an anomaly, which is an ERC1155 drop that is lazy-minted. The player requests a new planet, a random TIC id is assigned, our Flask API on Deepnote searches for an NFT in the first drop with that TIC ID. If none is found, a new NFT is lazy minted on that collection with data from the Lightkurve python module. > 2. User/Player then has a candidate (unconfirmed node object) in their wallet and on the web application frontend, they're redirected to a special planet `{...id}` page where they can interact with and view the candidate. > 3. Once the user has made a decision as to the status of the node candidate, they then create a Proposal (first on the [threaded comments via Supabase](https://www.notion.so/Threaded-Comments-8374255ed9314473b044db150fb13c36) and then on [Lens](https://github.com/signal-k/client)). The contents of this proposal are [outlined here](https://www.notion.so/Threaded-Comments-8374255ed9314473b044db150fb13c36). > 4. An NFT of this proposal is minted and then a new NFT is lazy minted from [this collection](notion://www.notion.so/skinetics/0xdf35Bb26d9AAD05EeC5183c6288f13c0136A7b43) (**note -> this is a demo. Will be updated). This new lazy-minted NFT will contain a link to the candidate node the proposal was created from, the proposal, and all the traits the user has filled in for the node once they have been cross-referenced with the proposal, voters and the python module that has the dataset (in this case, Lightkurve on Deepnote). This collection is the one referenced to in this contract (`planetNftCollectionAddress`). This planet can then have actions performed on it and rewards/items generated via [the minerals contract](notion://www.notion.so/skinetics/0xE938775F4ee4913470905885c9744C7FAD482991). Threads docs: https://skinetics.notion.site/Threaded-Comments-8374255ed9314473b044db150fb13c36
- Loading branch information