Coder Social home page Coder Social logo

goose's Introduction

Goose

A simple CLI to interact with the mpl-migration-validator program.

Installation

Install from source with cargo as normal or use this bash script to download and install the latest binary for your MacOs or Linux system:

bash <(curl -sSf https://raw.githubusercontent.com/metaplex-foundation/goose/main/scripts/install.sh)

Usage

Configuration

By default, goose looks in your Solana config file for both the keypair and RPC URL to use. However, you can override either of the values found there by passing them in with the -k and -r flags.

Commands

Open a migration state account for a given collection parent NFT to start the timed countdown:

goose init -c <collection-parent-nft-address> -m <Timed> -s <COLLECTION_SIZE>

There is only one unlock method supported: Timed unlocks the collection after a two weeks and is the default, so this command can be elided.

The collection size is the number of NFTs in the collection and is not checked by the on-chain program so must be entered correctly by the user.

Cancel a migration countdown by closing the migration state account:

goose cancel -c <collection-parent-nft-address>

Get the migration state of an existing migration state account:

goose get-state -c <collection-parent-nft-address>

Get all migration state accounts on a particular cluster:

goose get-all-states

Update a migration state and check if it's ready to be unlocked:

Updateable values:

  • collection size
  • rule set pubkey
  • collection update authority (USE WITH CAUTION, this should match your NFTs update authority)
goose update -c <collection-parent-nft-address> -s <COLLECTION_SIZE> -R <RULE_SET_PUBKEY> -n <NEW_AUTHORITY_PUBKEY>

You can only specify the specific value you want to update:

goose update -c <collection-parent-nft-address> -n <NEW_AUTHORITY_PUBKEY>

Or leave them all off to simply crank the timestamp check:

goose update -c <collection-parent-nft-address>

Enable migration for a collection:

goose start -c <collection-parent-nft-address>

Migrate items from a mint list, if the migration is enabled:

goose migrate -c <collection-parent-nft-address> -m <mint-list-file.json>

Check mint list for migrated and unmigrated items:

goose check -m <mint-list-file>

This will print out three files:

migrated_mints.json, unmigrated_mints.json, and errors.json

You can then run the migrate command to migrate the items in unmigrated_mints.json and repeated until all items are successfully migrated. The errors.json file will contain any itesm that failed the check.

goose's People

Contributors

samuelvanderwaal avatar nilz3ro avatar 0xmts avatar

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.