Metaplex Token Metadata decoder

Decode Metaplex Token Metadata instructions and accounts in Rust with the carbon-mpl-token-metadata-decoder crate.

On this page

carbon-mpl-token-metadata-decoder decodes the instructions and accounts of the Metaplex Token Metadata program (metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s): 58 instructions, 14 account types. It is generated with Codama from the program's IDL; see decoders for how decoders plug into a pipeline.

Cratecarbon-mpl-token-metadata-decoder 2.0.0
Installcargo add carbon-mpl-token-metadata-decoder@2.0.0
Program IDmetaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s (carbon_mpl_token_metadata_decoder::PROGRAM_ID)
CategoryNFTs & metadata
Decodercarbon_mpl_token_metadata_decoder::MplTokenMetadataDecoder
Instruction enuminstructions::MplTokenMetadataInstruction
Account enumaccounts::MplTokenMetadataAccount
Featuresserde, postgres, graphql (none enabled by default)
API docsdocs.rs/carbon-mpl-token-metadata-decoder/2.0.0
Sourcedecoders/mpl-token-metadata-decoder

Other NFT and metadata decoders: Bubblegum, Metaplex Core. To decode several in one pipeline, see nFT and metadata decoders.

The serde feature derives Serialize/Deserialize on every type, postgres adds tables and processors for Postgres, and graphql adds a schema for the GraphQL server.

Usage#

This program crawls recent Metaplex Token Metadata transactions from the public RPC and prints every decoded CreateMetadataAccountV3 instruction. Add the dependencies:

Terminal
cargo add carbon-core@2.0.0 carbon-mpl-token-metadata-decoder@2.0.0 carbon-rpc-transaction-crawler-datasource@2.0.0 carbon-log-metrics@2.0.0 env_logger tokio --features tokio/full
src/main.rs
use {
    carbon_core::{
        error::CarbonResult, instruction::InstructionProcessorInputType, pipeline::Pipeline,
        processor::Processor,
    },
    carbon_log_metrics::LogMetrics,
    carbon_mpl_token_metadata_decoder::{
        instructions::MplTokenMetadataInstruction, MplTokenMetadataDecoder, PROGRAM_ID,
    },
    carbon_rpc_transaction_crawler_datasource::{ConnectionConfig, Filters, RpcTransactionCrawler},
    std::sync::Arc,
};

#[tokio::main]
async fn main() -> CarbonResult<()> {
    env_logger::init();

    // Fetches the program's recent transactions over JSON-RPC, newest first.
    let datasource = RpcTransactionCrawler::new(
        "https://api.mainnet-beta.solana.com".to_string(),
        PROGRAM_ID,
        ConnectionConfig::default(),
        Filters::new(None, None, None),
        None,
    );

    Pipeline::builder()
        .datasource(datasource)
        .metrics(Arc::new(LogMetrics::new()))
        .instruction(MplTokenMetadataDecoder, InstructionLogger)
        .build()?
        .run()
        .await
}

struct InstructionLogger;

impl Processor<InstructionProcessorInputType<'_, MplTokenMetadataInstruction>> for InstructionLogger {
    async fn process(
        &mut self,
        input: &InstructionProcessorInputType<'_, MplTokenMetadataInstruction>,
    ) -> CarbonResult<()> {
        let signature = input.metadata.transaction_metadata.signature;
        if let MplTokenMetadataInstruction::CreateMetadataAccountV3 { data, accounts, .. } = input.decoded_instruction {
            println!("create_metadata_account_v3 {signature}: {data:?} metadata={}", accounts.metadata);
        }
        Ok(())
    }
}
Terminal
RUST_LOG=info cargo run

Each CreateMetadataAccountV3 instruction prints one line with the transaction signature and the decoded CreateMetadataAccountV3 data. The public endpoint rate-limits requests, so the first lines can take a while; use your own RPC URL for anything beyond a test. See stream with RPC for the crawler options.

Decode accounts#

The transaction crawler emits transactions only. To decode accounts, use a datasource that emits account updates. This program subscribes to the program's accounts with programSubscribe on the public WebSocket endpoint and prints every decoded CollectionAuthorityRecord account as it changes. Add the datasource and the Solana RPC types it takes:

Terminal
cargo add carbon-rpc-program-subscribe-datasource@2.0.0 solana-client@4.2.2
src/main.rs
use {
    carbon_core::{
        account::AccountProcessorInputType, error::CarbonResult, pipeline::Pipeline,
        processor::Processor,
    },
    carbon_log_metrics::LogMetrics,
    carbon_mpl_token_metadata_decoder::{
        accounts::MplTokenMetadataAccount, MplTokenMetadataDecoder, PROGRAM_ID,
    },
    carbon_rpc_program_subscribe_datasource::{Filters, RpcProgramSubscribe},
    solana_client::rpc_config::{RpcAccountInfoConfig, RpcProgramAccountsConfig, UiAccountEncoding},
    std::sync::Arc,
};

#[tokio::main]
async fn main() -> CarbonResult<()> {
    env_logger::init();

    // Streams every change to an account owned by the program (programSubscribe).
    let config = RpcProgramAccountsConfig {
        account_config: RpcAccountInfoConfig {
            encoding: Some(UiAccountEncoding::Base64),
            ..Default::default()
        },
        ..Default::default()
    };
    let datasource = RpcProgramSubscribe::new(
        "wss://api.mainnet-beta.solana.com".to_string(),
        Filters::new(PROGRAM_ID, Some(config)),
    );

    Pipeline::builder()
        .datasource(datasource)
        .metrics(Arc::new(LogMetrics::new()))
        .account(MplTokenMetadataDecoder, AccountLogger)
        .build()?
        .run()
        .await
}

struct AccountLogger;

impl Processor<AccountProcessorInputType<'_, MplTokenMetadataAccount>> for AccountLogger {
    async fn process(
        &mut self,
        input: &AccountProcessorInputType<'_, MplTokenMetadataAccount>,
    ) -> CarbonResult<()> {
        if let MplTokenMetadataAccount::CollectionAuthorityRecord(collection_authority_record) = &input.decoded_account.data {
            println!("collection_authority_record {}: {collection_authority_record:?}", input.metadata.pubkey);
        }
        Ok(())
    }
}
Terminal
RUST_LOG=info cargo run

Each update to a CollectionAuthorityRecord account prints its address and decoded fields; the program runs until you stop it. Cargo resolves solana-client to 4.2.2, the exact version the datasource pins, so both use the same RpcProgramAccountsConfig type. To load every existing account once instead of streaming changes, see load account state.

Instructions#

Variants of MplTokenMetadataInstruction. Each is MplTokenMetadataInstruction::<Variant> { program_id, data, accounts }, where data and accounts are the types listed under the variant, exported from carbon_mpl_token_metadata_decoder::instructions. Discriminators are the leading bytes of the instruction data, in hex.

How an instruction decodes. The decoder returns a variant only when all of these hold; otherwise the instruction is skipped and no processor is called:

  1. The instruction's program ID is metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s.
  2. The data starts with the variant's discriminator, and the rest deserializes into its data type.
  3. The instruction has at least as many accounts as the variant requires (the "Required accounts" count under each variant).

Accounts. They are matched by position, in the order listed. An account marked optional is None only when the instruction ends before it; Anchor programs pass the program ID as a placeholder for an omitted optional account, so check for Some(PROGRAM_ID) too. Accounts after the listed ones are in accounts.remaining as AccountMetas. The decoder doesn't record whether an account signed or was writable: read that from input.raw_instruction.accounts[i].is_signer and .is_writable, which follow the same order. It doesn't check signer, writable, owner or PDA constraints either; the program enforced those when the transaction executed, so a decoded instruction from a successful transaction already satisfied them.

ApproveCollectionAuthority#

Discriminator 17 · data ApproveCollectionAuthority · accounts ApproveCollectionAuthorityInstructionAccounts.

No data fields.

Required accounts: 7 (8 listed); extras go to remaining.

Fields of ApproveCollectionAuthorityInstructionAccounts, in account order:

#FieldType
0collection_authority_recordPubkey
1new_collection_authorityPubkey
2update_authorityPubkey
3payerPubkey
4metadataPubkey
5mintPubkey
6system_programPubkey
7rentOption<Pubkey>
8…remainingVec<AccountMeta>

ApproveUseAuthority#

Discriminator 14 · data ApproveUseAuthority · accounts ApproveUseAuthorityInstructionAccounts.

FieldType
approve_use_authority_argsApproveUseAuthorityArgs

Required accounts: 10 (11 listed); extras go to remaining.

Fields of ApproveUseAuthorityInstructionAccounts, in account order:

#FieldType
0use_authority_recordPubkey
1ownerPubkey
2payerPubkey
3userPubkey
4owner_token_accountPubkey
5metadataPubkey
6mintPubkey
7burnerPubkey
8token_programPubkey
9system_programPubkey
10rentOption<Pubkey>
11…remainingVec<AccountMeta>

BubblegumSetCollectionSize#

Discriminator 24 · data BubblegumSetCollectionSize · accounts BubblegumSetCollectionSizeInstructionAccounts.

FieldType
set_collection_size_argsSetCollectionSizeArgs

Required accounts: 4 (5 listed); extras go to remaining.

Fields of BubblegumSetCollectionSizeInstructionAccounts, in account order:

#FieldType
0collection_metadataPubkey
1collection_authorityPubkey
2collection_mintPubkey
3bubblegum_signerPubkey
4collection_authority_recordOption<Pubkey>
5…remainingVec<AccountMeta>

Burn#

Discriminator 29 · data Burn · accounts BurnInstructionAccounts.

FieldType
burn_argsBurnArgs

Required accounts: 14; extras go to remaining.

Fields of BurnInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1collection_metadataOption<Pubkey>
2metadataPubkey
3editionOption<Pubkey>
4mintPubkey
5tokenPubkey
6master_editionOption<Pubkey>
7master_edition_mintOption<Pubkey>
8master_edition_tokenOption<Pubkey>
9edition_markerOption<Pubkey>
10token_recordOption<Pubkey>
11system_programPubkey
12sysvar_instructionsPubkey
13spl_token_programPubkey
14…remainingVec<AccountMeta>

BurnEditionNft#

Discriminator 25 · data BurnEditionNft · accounts BurnEditionNftInstructionAccounts.

No data fields.

Required accounts: 10; extras go to remaining.

Fields of BurnEditionNftInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1ownerPubkey
2print_edition_mintPubkey
3master_edition_mintPubkey
4print_edition_token_accountPubkey
5master_edition_token_accountPubkey
6master_edition_accountPubkey
7print_edition_accountPubkey
8edition_marker_accountPubkey
9spl_token_programPubkey
10…remainingVec<AccountMeta>

BurnNft#

Discriminator 1d · data BurnNft · accounts BurnNftInstructionAccounts.

No data fields.

Required accounts: 6 (7 listed); extras go to remaining.

Fields of BurnNftInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1ownerPubkey
2mintPubkey
3token_accountPubkey
4master_edition_accountPubkey
5spl_token_programPubkey
6collection_metadataOption<Pubkey>
7…remainingVec<AccountMeta>

CloseAccounts#

Discriminator 39 · data CloseAccounts · accounts CloseAccountsInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of CloseAccountsInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1editionPubkey
2mintPubkey
3authorityPubkey
4destinationPubkey
5…remainingVec<AccountMeta>

CloseEscrowAccount#

Discriminator 27 · data CloseEscrowAccount · accounts CloseEscrowAccountInstructionAccounts.

No data fields.

Required accounts: 8; extras go to remaining.

Fields of CloseEscrowAccountInstructionAccounts, in account order:

#FieldType
0escrowPubkey
1metadataPubkey
2mintPubkey
3token_accountPubkey
4editionPubkey
5payerPubkey
6system_programPubkey
7sysvar_instructionsPubkey
8…remainingVec<AccountMeta>

Collect#

Discriminator 36 · data Collect · accounts CollectInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of CollectInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1recipientPubkey
2…remainingVec<AccountMeta>

ConvertMasterEditionV1ToV2#

Discriminator 0c · data ConvertMasterEditionV1ToV2 · accounts ConvertMasterEditionV1ToV2InstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of ConvertMasterEditionV1ToV2InstructionAccounts, in account order:

#FieldType
0master_editionPubkey
1one_time_authPubkey
2printing_mintPubkey
3…remainingVec<AccountMeta>

Create#

Discriminator 2a · data Create · accounts CreateInstructionAccounts.

FieldType
create_argsCreateArgs

Required accounts: 8 (9 listed); extras go to remaining.

Fields of CreateInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1master_editionOption<Pubkey>
2mintPubkey
3authorityPubkey
4payerPubkey
5update_authorityPubkey
6system_programPubkey
7sysvar_instructionsPubkey
8spl_token_programOption<Pubkey>
9…remainingVec<AccountMeta>

CreateEscrowAccount#

Discriminator 26 · data CreateEscrowAccount · accounts CreateEscrowAccountInstructionAccounts.

No data fields.

Required accounts: 8 (9 listed); extras go to remaining.

Fields of CreateEscrowAccountInstructionAccounts, in account order:

#FieldType
0escrowPubkey
1metadataPubkey
2mintPubkey
3token_accountPubkey
4editionPubkey
5payerPubkey
6system_programPubkey
7sysvar_instructionsPubkey
8authorityOption<Pubkey>
9…remainingVec<AccountMeta>

CreateMasterEdition#

Discriminator 0a · data CreateMasterEdition · accounts CreateMasterEditionInstructionAccounts.

No data fields.

Required accounts: 9; extras go to remaining.

Fields of CreateMasterEditionInstructionAccounts, in account order:

#FieldType
0editionPubkey
1mintPubkey
2update_authorityPubkey
3mint_authorityPubkey
4payerPubkey
5metadataPubkey
6token_programPubkey
7system_programPubkey
8rentPubkey
9…remainingVec<AccountMeta>

CreateMasterEditionV3#

Discriminator 11 · data CreateMasterEditionV3 · accounts CreateMasterEditionV3InstructionAccounts.

FieldType
create_master_edition_argsCreateMasterEditionArgs

Required accounts: 8 (9 listed); extras go to remaining.

Fields of CreateMasterEditionV3InstructionAccounts, in account order:

#FieldType
0editionPubkey
1mintPubkey
2update_authorityPubkey
3mint_authorityPubkey
4payerPubkey
5metadataPubkey
6token_programPubkey
7system_programPubkey
8rentOption<Pubkey>
9…remainingVec<AccountMeta>

CreateMetadataAccount#

Discriminator 00 · data CreateMetadataAccount · accounts CreateMetadataAccountInstructionAccounts.

No data fields.

Required accounts: 7; extras go to remaining.

Fields of CreateMetadataAccountInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1mintPubkey
2mint_authorityPubkey
3payerPubkey
4update_authorityPubkey
5system_programPubkey
6rentPubkey
7…remainingVec<AccountMeta>

CreateMetadataAccountV2#

Discriminator 10 · data CreateMetadataAccountV2 · accounts CreateMetadataAccountV2InstructionAccounts.

No data fields.

Required accounts: 6 (7 listed); extras go to remaining.

Fields of CreateMetadataAccountV2InstructionAccounts, in account order:

#FieldType
0metadataPubkey
1mintPubkey
2mint_authorityPubkey
3payerPubkey
4update_authorityPubkey
5system_programPubkey
6rentOption<Pubkey>
7…remainingVec<AccountMeta>

CreateMetadataAccountV3#

Discriminator 21 · data CreateMetadataAccountV3 · accounts CreateMetadataAccountV3InstructionAccounts.

FieldType
create_metadata_account_args_v3CreateMetadataAccountArgsV3

Required accounts: 6 (7 listed); extras go to remaining.

Fields of CreateMetadataAccountV3InstructionAccounts, in account order:

#FieldType
0metadataPubkey
1mintPubkey
2mint_authorityPubkey
3payerPubkey
4update_authorityPubkey
5system_programPubkey
6rentOption<Pubkey>
7…remainingVec<AccountMeta>

Delegate#

Discriminator 2c · data Delegate · accounts DelegateInstructionAccounts.

FieldType
delegate_argsDelegateArgs

Required accounts: 11 (14 listed); extras go to remaining.

Fields of DelegateInstructionAccounts, in account order:

#FieldType
0delegate_recordOption<Pubkey>
1delegatePubkey
2metadataPubkey
3master_editionOption<Pubkey>
4token_recordOption<Pubkey>
5mintPubkey
6tokenOption<Pubkey>
7authorityPubkey
8payerPubkey
9system_programPubkey
10sysvar_instructionsPubkey
11spl_token_programOption<Pubkey>
12authorization_rules_programOption<Pubkey>
13authorization_rulesOption<Pubkey>
14…remainingVec<AccountMeta>

DeprecatedCreateMasterEdition#

Discriminator 02 · data DeprecatedCreateMasterEdition · accounts DeprecatedCreateMasterEditionInstructionAccounts.

No data fields.

Required accounts: 13; extras go to remaining.

Fields of DeprecatedCreateMasterEditionInstructionAccounts, in account order:

#FieldType
0editionPubkey
1mintPubkey
2printing_mintPubkey
3one_time_printing_authorization_mintPubkey
4update_authorityPubkey
5printing_mint_authorityPubkey
6mint_authorityPubkey
7metadataPubkey
8payerPubkey
9token_programPubkey
10system_programPubkey
11rentPubkey
12one_time_printing_authorization_mint_authorityPubkey
13…remainingVec<AccountMeta>

DeprecatedCreateReservationList#

Discriminator 06 · data DeprecatedCreateReservationList · accounts DeprecatedCreateReservationListInstructionAccounts.

No data fields.

Required accounts: 8; extras go to remaining.

Fields of DeprecatedCreateReservationListInstructionAccounts, in account order:

#FieldType
0reservation_listPubkey
1payerPubkey
2update_authorityPubkey
3master_editionPubkey
4resourcePubkey
5metadataPubkey
6system_programPubkey
7rentPubkey
8…remainingVec<AccountMeta>

DeprecatedMintNewEditionFromMasterEditionViaPrintingToken#

Discriminator 03 · data DeprecatedMintNewEditionFromMasterEditionViaPrintingToken · accounts DeprecatedMintNewEditionFromMasterEditionViaPrintingTokenInstructionAccounts.

No data fields.

Required accounts: 15 (16 listed); extras go to remaining.

Fields of DeprecatedMintNewEditionFromMasterEditionViaPrintingTokenInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1editionPubkey
2master_editionPubkey
3mintPubkey
4mint_authorityPubkey
5printing_mintPubkey
6master_token_accountPubkey
7edition_markerPubkey
8burn_authorityPubkey
9payerPubkey
10master_update_authorityPubkey
11master_metadataPubkey
12token_programPubkey
13system_programPubkey
14rentPubkey
15reservation_listOption<Pubkey>
16…remainingVec<AccountMeta>

DeprecatedMintPrintingTokens#

Discriminator 09 · data DeprecatedMintPrintingTokens · accounts DeprecatedMintPrintingTokensInstructionAccounts.

No data fields.

Required accounts: 7; extras go to remaining.

Fields of DeprecatedMintPrintingTokensInstructionAccounts, in account order:

#FieldType
0destinationPubkey
1printing_mintPubkey
2update_authorityPubkey
3metadataPubkey
4master_editionPubkey
5token_programPubkey
6rentPubkey
7…remainingVec<AccountMeta>

DeprecatedMintPrintingTokensViaToken#

Discriminator 08 · data DeprecatedMintPrintingTokensViaToken · accounts DeprecatedMintPrintingTokensViaTokenInstructionAccounts.

No data fields.

Required accounts: 9; extras go to remaining.

Fields of DeprecatedMintPrintingTokensViaTokenInstructionAccounts, in account order:

#FieldType
0destinationPubkey
1tokenPubkey
2one_time_printing_authorization_mintPubkey
3printing_mintPubkey
4burn_authorityPubkey
5metadataPubkey
6master_editionPubkey
7token_programPubkey
8rentPubkey
9…remainingVec<AccountMeta>

DeprecatedSetReservationList#

Discriminator 05 · data DeprecatedSetReservationList · accounts DeprecatedSetReservationListInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of DeprecatedSetReservationListInstructionAccounts, in account order:

#FieldType
0master_editionPubkey
1reservation_listPubkey
2resourcePubkey
3…remainingVec<AccountMeta>

FreezeDelegatedAccount#

Discriminator 1a · data FreezeDelegatedAccount · accounts FreezeDelegatedAccountInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of FreezeDelegatedAccountInstructionAccounts, in account order:

#FieldType
0delegatePubkey
1token_accountPubkey
2editionPubkey
3mintPubkey
4token_programPubkey
5…remainingVec<AccountMeta>

Lock#

Discriminator 2e · data Lock · accounts LockInstructionAccounts.

FieldType
lock_argsLockArgs

Required accounts: 10 (13 listed); extras go to remaining.

Fields of LockInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1token_ownerOption<Pubkey>
2tokenPubkey
3mintPubkey
4metadataPubkey
5editionOption<Pubkey>
6token_recordOption<Pubkey>
7payerPubkey
8system_programPubkey
9sysvar_instructionsPubkey
10spl_token_programOption<Pubkey>
11authorization_rules_programOption<Pubkey>
12authorization_rulesOption<Pubkey>
13…remainingVec<AccountMeta>

Migrate#

Discriminator 30 · data Migrate · accounts MigrateInstructionAccounts.

No data fields.

Required accounts: 13 (15 listed); extras go to remaining.

Fields of MigrateInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1editionPubkey
2tokenPubkey
3token_ownerPubkey
4mintPubkey
5payerPubkey
6authorityPubkey
7collection_metadataPubkey
8delegate_recordPubkey
9token_recordPubkey
10system_programPubkey
11sysvar_instructionsPubkey
12spl_token_programPubkey
13authorization_rules_programOption<Pubkey>
14authorization_rulesOption<Pubkey>
15…remainingVec<AccountMeta>

Mint#

Discriminator 2b · data Mint · accounts MintInstructionAccounts.

FieldType
mint_argsMintArgs

Required accounts: 13 (15 listed); extras go to remaining.

Fields of MintInstructionAccounts, in account order:

#FieldType
0tokenPubkey
1token_ownerOption<Pubkey>
2metadataPubkey
3master_editionOption<Pubkey>
4token_recordOption<Pubkey>
5mintPubkey
6authorityPubkey
7delegate_recordOption<Pubkey>
8payerPubkey
9system_programPubkey
10sysvar_instructionsPubkey
11spl_token_programPubkey
12spl_ata_programPubkey
13authorization_rules_programOption<Pubkey>
14authorization_rulesOption<Pubkey>
15…remainingVec<AccountMeta>

MintNewEditionFromMasterEditionViaToken#

Discriminator 0b · data MintNewEditionFromMasterEditionViaToken · accounts MintNewEditionFromMasterEditionViaTokenInstructionAccounts.

FieldType
mint_new_edition_from_master_edition_via_token_argsMintNewEditionFromMasterEditionViaTokenArgs

Required accounts: 13 (14 listed); extras go to remaining.

Fields of MintNewEditionFromMasterEditionViaTokenInstructionAccounts, in account order:

#FieldType
0new_metadataPubkey
1new_editionPubkey
2master_editionPubkey
3new_mintPubkey
4edition_mark_pdaPubkey
5new_mint_authorityPubkey
6payerPubkey
7token_account_ownerPubkey
8token_accountPubkey
9new_metadata_update_authorityPubkey
10metadataPubkey
11token_programPubkey
12system_programPubkey
13rentOption<Pubkey>
14…remainingVec<AccountMeta>

MintNewEditionFromMasterEditionViaVaultProxy#

Discriminator 0d · data MintNewEditionFromMasterEditionViaVaultProxy · accounts MintNewEditionFromMasterEditionViaVaultProxyInstructionAccounts.

FieldType
mint_new_edition_from_master_edition_via_token_argsMintNewEditionFromMasterEditionViaTokenArgs

Required accounts: 16 (17 listed); extras go to remaining.

Fields of MintNewEditionFromMasterEditionViaVaultProxyInstructionAccounts, in account order:

#FieldType
0new_metadataPubkey
1new_editionPubkey
2master_editionPubkey
3new_mintPubkey
4edition_mark_pdaPubkey
5new_mint_authorityPubkey
6payerPubkey
7vault_authorityPubkey
8safety_deposit_storePubkey
9safety_deposit_boxPubkey
10vaultPubkey
11new_metadata_update_authorityPubkey
12metadataPubkey
13token_programPubkey
14token_vault_programPubkey
15system_programPubkey
16rentOption<Pubkey>
17…remainingVec<AccountMeta>

Print#

Discriminator 37 · data Print · accounts PrintInstructionAccounts.

FieldType
print_argsPrintArgs

Required accounts: 18; extras go to remaining.

Fields of PrintInstructionAccounts, in account order:

#FieldType
0edition_metadataPubkey
1editionPubkey
2edition_mintPubkey
3edition_token_account_ownerPubkey
4edition_token_accountPubkey
5edition_mint_authorityPubkey
6edition_token_recordOption<Pubkey>
7master_editionPubkey
8edition_marker_pdaPubkey
9payerPubkey
10master_token_account_ownerPubkey
11master_token_accountPubkey
12master_metadataPubkey
13update_authorityPubkey
14spl_token_programPubkey
15spl_ata_programPubkey
16sysvar_instructionsPubkey
17system_programPubkey
18…remainingVec<AccountMeta>

PuffMetadata#

Discriminator 0e · data PuffMetadata · accounts PuffMetadataInstructionAccounts.

No data fields.

Required accounts: 1; extras go to remaining.

Fields of PuffMetadataInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1…remainingVec<AccountMeta>

RemoveCreatorVerification#

Discriminator 1c · data RemoveCreatorVerification · accounts RemoveCreatorVerificationInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of RemoveCreatorVerificationInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1creatorPubkey
2…remainingVec<AccountMeta>

Resize#

Discriminator 38 · data Resize · accounts ResizeInstructionAccounts.

No data fields.

Required accounts: 7; extras go to remaining.

Fields of ResizeInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1editionPubkey
2mintPubkey
3payerPubkey
4authorityOption<Pubkey>
5tokenOption<Pubkey>
6system_programPubkey
7…remainingVec<AccountMeta>

Revoke#

Discriminator 2d · data Revoke · accounts RevokeInstructionAccounts.

FieldType
revoke_argsRevokeArgs

Required accounts: 11 (14 listed); extras go to remaining.

Fields of RevokeInstructionAccounts, in account order:

#FieldType
0delegate_recordOption<Pubkey>
1delegatePubkey
2metadataPubkey
3master_editionOption<Pubkey>
4token_recordOption<Pubkey>
5mintPubkey
6tokenOption<Pubkey>
7authorityPubkey
8payerPubkey
9system_programPubkey
10sysvar_instructionsPubkey
11spl_token_programOption<Pubkey>
12authorization_rules_programOption<Pubkey>
13authorization_rulesOption<Pubkey>
14…remainingVec<AccountMeta>

RevokeCollectionAuthority#

Discriminator 18 · data RevokeCollectionAuthority · accounts RevokeCollectionAuthorityInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of RevokeCollectionAuthorityInstructionAccounts, in account order:

#FieldType
0collection_authority_recordPubkey
1delegate_authorityPubkey
2revoke_authorityPubkey
3metadataPubkey
4mintPubkey
5…remainingVec<AccountMeta>

RevokeUseAuthority#

Discriminator 15 · data RevokeUseAuthority · accounts RevokeUseAuthorityInstructionAccounts.

No data fields.

Required accounts: 8 (9 listed); extras go to remaining.

Fields of RevokeUseAuthorityInstructionAccounts, in account order:

#FieldType
0use_authority_recordPubkey
1ownerPubkey
2userPubkey
3owner_token_accountPubkey
4mintPubkey
5metadataPubkey
6token_programPubkey
7system_programPubkey
8rentOption<Pubkey>
9…remainingVec<AccountMeta>

SetAndVerifyCollection#

Discriminator 19 · data SetAndVerifyCollection · accounts SetAndVerifyCollectionInstructionAccounts.

No data fields.

Required accounts: 7 (8 listed); extras go to remaining.

Fields of SetAndVerifyCollectionInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1collection_authorityPubkey
2payerPubkey
3update_authorityPubkey
4collection_mintPubkey
5collectionPubkey
6collection_master_edition_accountPubkey
7collection_authority_recordOption<Pubkey>
8…remainingVec<AccountMeta>

SetAndVerifySizedCollectionItem#

Discriminator 20 · data SetAndVerifySizedCollectionItem · accounts SetAndVerifySizedCollectionItemInstructionAccounts.

No data fields.

Required accounts: 7 (8 listed); extras go to remaining.

Fields of SetAndVerifySizedCollectionItemInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1collection_authorityPubkey
2payerPubkey
3update_authorityPubkey
4collection_mintPubkey
5collectionPubkey
6collection_master_edition_accountPubkey
7collection_authority_recordOption<Pubkey>
8…remainingVec<AccountMeta>

SetCollectionSize#

Discriminator 22 · data SetCollectionSize · accounts SetCollectionSizeInstructionAccounts.

FieldType
set_collection_size_argsSetCollectionSizeArgs

Required accounts: 3 (4 listed); extras go to remaining.

Fields of SetCollectionSizeInstructionAccounts, in account order:

#FieldType
0collection_metadataPubkey
1collection_authorityPubkey
2collection_mintPubkey
3collection_authority_recordOption<Pubkey>
4…remainingVec<AccountMeta>

SetTokenStandard#

Discriminator 23 · data SetTokenStandard · accounts SetTokenStandardInstructionAccounts.

No data fields.

Required accounts: 3 (4 listed); extras go to remaining.

Fields of SetTokenStandardInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1update_authorityPubkey
2mintPubkey
3editionOption<Pubkey>
4…remainingVec<AccountMeta>

SignMetadata#

Discriminator 07 · data SignMetadata · accounts SignMetadataInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of SignMetadataInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1creatorPubkey
2…remainingVec<AccountMeta>

ThawDelegatedAccount#

Discriminator 1b · data ThawDelegatedAccount · accounts ThawDelegatedAccountInstructionAccounts.

No data fields.

Required accounts: 5; extras go to remaining.

Fields of ThawDelegatedAccountInstructionAccounts, in account order:

#FieldType
0delegatePubkey
1token_accountPubkey
2editionPubkey
3mintPubkey
4token_programPubkey
5…remainingVec<AccountMeta>

Transfer#

Discriminator 31 · data Transfer · accounts TransferInstructionAccounts.

FieldType
transfer_argsTransferArgs

Required accounts: 15 (17 listed); extras go to remaining.

Fields of TransferInstructionAccounts, in account order:

#FieldType
0tokenPubkey
1token_ownerPubkey
2destinationPubkey
3destination_ownerPubkey
4mintPubkey
5metadataPubkey
6editionOption<Pubkey>
7owner_token_recordOption<Pubkey>
8destination_token_recordOption<Pubkey>
9authorityPubkey
10payerPubkey
11system_programPubkey
12sysvar_instructionsPubkey
13spl_token_programPubkey
14spl_ata_programPubkey
15authorization_rules_programOption<Pubkey>
16authorization_rulesOption<Pubkey>
17…remainingVec<AccountMeta>

TransferOutOfEscrow#

Discriminator 28 · data TransferOutOfEscrow · accounts TransferOutOfEscrowInstructionAccounts.

FieldType
transfer_out_of_escrow_argsTransferOutOfEscrowArgs

Required accounts: 12 (13 listed); extras go to remaining.

Fields of TransferOutOfEscrowInstructionAccounts, in account order:

#FieldType
0escrowPubkey
1metadataPubkey
2payerPubkey
3attribute_mintPubkey
4attribute_srcPubkey
5attribute_dstPubkey
6escrow_mintPubkey
7escrow_accountPubkey
8system_programPubkey
9ata_programPubkey
10token_programPubkey
11sysvar_instructionsPubkey
12authorityOption<Pubkey>
13…remainingVec<AccountMeta>

Unlock#

Discriminator 2f · data Unlock · accounts UnlockInstructionAccounts.

FieldType
unlock_argsUnlockArgs

Required accounts: 10 (13 listed); extras go to remaining.

Fields of UnlockInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1token_ownerOption<Pubkey>
2tokenPubkey
3mintPubkey
4metadataPubkey
5editionOption<Pubkey>
6token_recordOption<Pubkey>
7payerPubkey
8system_programPubkey
9sysvar_instructionsPubkey
10spl_token_programOption<Pubkey>
11authorization_rules_programOption<Pubkey>
12authorization_rulesOption<Pubkey>
13…remainingVec<AccountMeta>

Unverify#

Discriminator 35 · data Unverify · accounts UnverifyInstructionAccounts.

FieldType
verification_argsVerificationArgs

Required accounts: 7; extras go to remaining.

Fields of UnverifyInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1delegate_recordOption<Pubkey>
2metadataPubkey
3collection_mintOption<Pubkey>
4collection_metadataOption<Pubkey>
5system_programPubkey
6sysvar_instructionsPubkey
7…remainingVec<AccountMeta>

UnverifyCollection#

Discriminator 16 · data UnverifyCollection · accounts UnverifyCollectionInstructionAccounts.

No data fields.

Required accounts: 5 (6 listed); extras go to remaining.

Fields of UnverifyCollectionInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1collection_authorityPubkey
2collection_mintPubkey
3collectionPubkey
4collection_master_edition_accountPubkey
5collection_authority_recordOption<Pubkey>
6…remainingVec<AccountMeta>

UnverifySizedCollectionItem#

Discriminator 1f · data UnverifySizedCollectionItem · accounts UnverifySizedCollectionItemInstructionAccounts.

No data fields.

Required accounts: 6 (7 listed); extras go to remaining.

Fields of UnverifySizedCollectionItemInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1collection_authorityPubkey
2payerPubkey
3collection_mintPubkey
4collectionPubkey
5collection_master_edition_accountPubkey
6collection_authority_recordOption<Pubkey>
7…remainingVec<AccountMeta>

Update#

Discriminator 32 · data Update · accounts UpdateInstructionAccounts.

FieldType
update_argsUpdateArgs

Required accounts: 9 (11 listed); extras go to remaining.

Fields of UpdateInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1delegate_recordOption<Pubkey>
2tokenOption<Pubkey>
3mintPubkey
4metadataPubkey
5editionOption<Pubkey>
6payerPubkey
7system_programPubkey
8sysvar_instructionsPubkey
9authorization_rules_programOption<Pubkey>
10authorization_rulesOption<Pubkey>
11…remainingVec<AccountMeta>

UpdateMetadataAccount#

Discriminator 01 · data UpdateMetadataAccount · accounts UpdateMetadataAccountInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of UpdateMetadataAccountInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1update_authorityPubkey
2…remainingVec<AccountMeta>

UpdateMetadataAccountV2#

Discriminator 0f · data UpdateMetadataAccountV2 · accounts UpdateMetadataAccountV2InstructionAccounts.

FieldType
update_metadata_account_args_v2UpdateMetadataAccountArgsV2

Required accounts: 2; extras go to remaining.

Fields of UpdateMetadataAccountV2InstructionAccounts, in account order:

#FieldType
0metadataPubkey
1update_authorityPubkey
2…remainingVec<AccountMeta>

UpdatePrimarySaleHappenedViaToken#

Discriminator 04 · data UpdatePrimarySaleHappenedViaToken · accounts UpdatePrimarySaleHappenedViaTokenInstructionAccounts.

No data fields.

Required accounts: 3; extras go to remaining.

Fields of UpdatePrimarySaleHappenedViaTokenInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1ownerPubkey
2tokenPubkey
3…remainingVec<AccountMeta>

Use#

Discriminator 33 · data Use · accounts UseInstructionAccounts.

FieldType
use_argsUseArgs

Required accounts: 9 (12 listed); extras go to remaining.

Fields of UseInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1delegate_recordOption<Pubkey>
2tokenOption<Pubkey>
3mintPubkey
4metadataPubkey
5editionOption<Pubkey>
6payerPubkey
7system_programPubkey
8sysvar_instructionsPubkey
9spl_token_programOption<Pubkey>
10authorization_rules_programOption<Pubkey>
11authorization_rulesOption<Pubkey>
12…remainingVec<AccountMeta>

Utilize#

Discriminator 13 · data Utilize · accounts UtilizeInstructionAccounts.

FieldType
utilize_argsUtilizeArgs

Required accounts: 9 (11 listed); extras go to remaining.

Fields of UtilizeInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1token_accountPubkey
2mintPubkey
3use_authorityPubkey
4ownerPubkey
5token_programPubkey
6ata_programPubkey
7system_programPubkey
8rentPubkey
9use_authority_recordOption<Pubkey>
10burnerOption<Pubkey>
11…remainingVec<AccountMeta>

Verify#

Discriminator 34 · data Verify · accounts VerifyInstructionAccounts.

FieldType
verification_argsVerificationArgs

Required accounts: 8; extras go to remaining.

Fields of VerifyInstructionAccounts, in account order:

#FieldType
0authorityPubkey
1delegate_recordOption<Pubkey>
2metadataPubkey
3collection_mintOption<Pubkey>
4collection_metadataOption<Pubkey>
5collection_master_editionOption<Pubkey>
6system_programPubkey
7sysvar_instructionsPubkey
8…remainingVec<AccountMeta>

VerifyCollection#

Discriminator 12 · data VerifyCollection · accounts VerifyCollectionInstructionAccounts.

No data fields.

Required accounts: 6 (7 listed); extras go to remaining.

Fields of VerifyCollectionInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1collection_authorityPubkey
2payerPubkey
3collection_mintPubkey
4collectionPubkey
5collection_master_edition_accountPubkey
6collection_authority_recordOption<Pubkey>
7…remainingVec<AccountMeta>

VerifySizedCollectionItem#

Discriminator 1e · data VerifySizedCollectionItem · accounts VerifySizedCollectionItemInstructionAccounts.

No data fields.

Required accounts: 6 (7 listed); extras go to remaining.

Fields of VerifySizedCollectionItemInstructionAccounts, in account order:

#FieldType
0metadataPubkey
1collection_authorityPubkey
2payerPubkey
3collection_mintPubkey
4collectionPubkey
5collection_master_edition_accountPubkey
6collection_authority_recordOption<Pubkey>
7…remainingVec<AccountMeta>

Accounts#

Variants of MplTokenMetadataAccount. Each wraps a boxed struct from carbon_mpl_token_metadata_decoder::accounts::<module>. decode_account only considers accounts owned by PROGRAM_ID and returns the first variant that matches.

CollectionAuthorityRecord#

No discriminator (matched by Borsh layout) · accounts::collection_authority_record::CollectionAuthorityRecord.

FieldType
keyKey
bumpu8
update_authorityOption<Pubkey>

Edition#

No discriminator (matched by Borsh layout) · accounts::edition::Edition.

FieldType
keyKey
parentPubkey
editionu64

EditionMarker#

No discriminator (matched by Borsh layout) · accounts::edition_marker::EditionMarker.

FieldType
keyKey
ledger[u8; 31]

EditionMarkerV2#

No discriminator (matched by Borsh layout) · accounts::edition_marker_v2::EditionMarkerV2.

FieldType
keyKey
ledgerVec<u8>

HolderDelegateRecord#

No discriminator (matched by Borsh layout) · accounts::holder_delegate_record::HolderDelegateRecord.

FieldType
keyKey
bumpu8
mintPubkey
delegatePubkey
update_authorityPubkey

MasterEditionV1#

No discriminator (matched by Borsh layout) · accounts::master_edition_v1::MasterEditionV1.

FieldType
keyKey
supplyu64
max_supplyOption<u64>
printing_mintPubkey
one_time_printing_authorization_mintPubkey

MasterEditionV2#

No discriminator (matched by Borsh layout) · accounts::master_edition_v2::MasterEditionV2.

FieldType
keyKey
supplyu64
max_supplyOption<u64>

Metadata#

No discriminator (matched by Borsh layout) · accounts::metadata::Metadata.

FieldType
keyKey
update_authorityPubkey
mintPubkey
dataData
primary_sale_happenedbool
is_mutablebool
edition_nonceOption<u8>
token_standardOption<TokenStandard>
collectionOption<Collection>
usesOption<Uses>
collection_detailsOption<CollectionDetails>
programmable_configOption<ProgrammableConfig>

MetadataDelegateRecord#

No discriminator (matched by Borsh layout) · accounts::metadata_delegate_record::MetadataDelegateRecord.

FieldType
keyKey
bumpu8
mintPubkey
delegatePubkey
update_authorityPubkey

ReservationListV1#

No discriminator (matched by Borsh layout) · accounts::reservation_list_v1::ReservationListV1.

FieldType
keyKey
master_editionPubkey
supply_snapshotOption<u64>
reservationsVec<ReservationV1>

ReservationListV2#

No discriminator (matched by Borsh layout) · accounts::reservation_list_v2::ReservationListV2.

FieldType
keyKey
master_editionPubkey
supply_snapshotOption<u64>
reservationsVec<Reservation>
total_reservation_spotsu64
current_reservation_spotsu64

TokenOwnedEscrow#

No discriminator (matched by Borsh layout) · accounts::token_owned_escrow::TokenOwnedEscrow.

FieldType
keyKey
base_tokenPubkey
authorityEscrowAuthority
bumpu8

TokenRecord#

No discriminator (matched by Borsh layout) · accounts::token_record::TokenRecord.

FieldType
keyKey
bumpu8
stateTokenState
rule_set_revisionOption<u64>
delegateOption<Pubkey>
delegate_roleOption<TokenDelegateRole>
locked_transferOption<Pubkey>

UseAuthorityRecord#

No discriminator (matched by Borsh layout) · accounts::use_authority_record::UseAuthorityRecord.

FieldType
keyKey
allowed_usesu64
bumpu8

Types#

Types used by the instructions, accounts and events above, exported from carbon_mpl_token_metadata_decoder::types.

ApproveUseAuthorityArgs#

Struct types::ApproveUseAuthorityArgs.

FieldType
number_of_usesu64

AssetData#

Struct types::AssetData.

FieldType
nameString
symbolString
uriString
seller_fee_basis_pointsu16
creatorsOption<Vec<Creator>>
primary_sale_happenedbool
is_mutablebool
token_standardTokenStandard
collectionOption<Collection>
usesOption<Uses>
collection_detailsOption<CollectionDetails>
rule_setOption<Pubkey>

AuthorityType#

Enum types::AuthorityType.

Variant
None
Metadata
Holder
MetadataDelegate
TokenDelegate

AuthorizationData#

Struct types::AuthorizationData.

FieldType
payloadPayload

BurnArgs#

Enum types::BurnArgs.

VariantFields
V1amount: u64

Collection#

Struct types::Collection.

FieldType
verifiedbool
keyPubkey

CollectionDetails#

Enum types::CollectionDetails.

VariantFields
V1size: u64
V2padding: [u8; 8]

CollectionDetailsToggle#

Enum types::CollectionDetailsToggle.

VariantFields
None
Clear
SetCollectionDetails

CollectionToggle#

Enum types::CollectionToggle.

VariantFields
None
Clear
SetCollection

CreateArgs#

Enum types::CreateArgs.

VariantFields
V1asset_data: AssetData, decimals: Option<u8>, print_supply: Option<PrintSupply>

CreateMasterEditionArgs#

Struct types::CreateMasterEditionArgs.

FieldType
max_supplyOption<u64>

CreateMetadataAccountArgsV3#

Struct types::CreateMetadataAccountArgsV3.

FieldType
dataDataV2
is_mutablebool
collection_detailsOption<CollectionDetails>

Creator#

Struct types::Creator.

FieldType
addressPubkey
verifiedbool
shareu8

Data#

Struct types::Data.

FieldType
nameString
symbolString
uriString
seller_fee_basis_pointsu16
creatorsOption<Vec<Creator>>

DataV2#

Struct types::DataV2.

FieldType
nameString
symbolString
uriString
seller_fee_basis_pointsu16
creatorsOption<Vec<Creator>>
collectionOption<Collection>
usesOption<Uses>

DelegateArgs#

Enum types::DelegateArgs.

VariantFields
CollectionV1authorization_data: Option<AuthorizationData>
SaleV1amount: u64, authorization_data: Option<AuthorizationData>
TransferV1amount: u64, authorization_data: Option<AuthorizationData>
DataV1authorization_data: Option<AuthorizationData>
UtilityV1amount: u64, authorization_data: Option<AuthorizationData>
StakingV1amount: u64, authorization_data: Option<AuthorizationData>
StandardV1amount: u64
LockedTransferV1amount: u64, locked_address: Pubkey, authorization_data: Option<AuthorizationData>
ProgrammableConfigV1authorization_data: Option<AuthorizationData>
AuthorityItemV1authorization_data: Option<AuthorizationData>
DataItemV1authorization_data: Option<AuthorizationData>
CollectionItemV1authorization_data: Option<AuthorizationData>
ProgrammableConfigItemV1authorization_data: Option<AuthorizationData>
PrintDelegateV1authorization_data: Option<AuthorizationData>

EscrowAuthority#

Enum types::EscrowAuthority.

VariantFields
TokenOwner
CreatorPubkey

HolderDelegateRole#

Enum types::HolderDelegateRole.

Variant
PrintDelegate

Key#

Enum types::Key.

Variant
Uninitialized
EditionV1
MasterEditionV1
ReservationListV1
MetadataV1
ReservationListV2
MasterEditionV2
EditionMarker
UseAuthorityRecord
CollectionAuthorityRecord
TokenOwnedEscrow
TokenRecord
MetadataDelegate
EditionMarkerV2
HolderDelegate

LockArgs#

Enum types::LockArgs.

VariantFields
V1authorization_data: Option<AuthorizationData>

MetadataDelegateRole#

Enum types::MetadataDelegateRole.

Variant
AuthorityItem
Collection
Use
Data
ProgrammableConfig
DataItem
CollectionItem
ProgrammableConfigItem

MigrationType#

Enum types::MigrationType.

Variant
CollectionV1
ProgrammableV1

MintArgs#

Enum types::MintArgs.

VariantFields
V1amount: u64, authorization_data: Option<AuthorizationData>

MintNewEditionFromMasterEditionViaTokenArgs#

Struct types::MintNewEditionFromMasterEditionViaTokenArgs.

FieldType
editionu64

Payload#

Struct types::Payload.

PayloadKey#

Enum types::PayloadKey.

Variant
Amount
Authority
AuthoritySeeds
Delegate
DelegateSeeds
Destination
DestinationSeeds
Holder
Source
SourceSeeds

PayloadType#

Enum types::PayloadType.

VariantFields
PubkeyPubkey
SeedsSeedsVec
MerkleProofProofInfo
Numberu64

PrintArgs#

Enum types::PrintArgs.

VariantFields
V1edition: u64
V2edition: u64

PrintSupply#

Enum types::PrintSupply.

VariantFields
Zero
Limitedu64
Unlimited

ProgrammableConfig#

Enum types::ProgrammableConfig.

VariantFields
V1rule_set: Option<Pubkey>

ProofInfo#

Struct types::ProofInfo.

FieldType
proofVec<[u8; 32]>

Reservation#

Struct types::Reservation.

FieldType
addressPubkey
spots_remainingu64
total_spotsu64

ReservationV1#

Struct types::ReservationV1.

FieldType
addressPubkey
spots_remainingu8
total_spotsu8

RevokeArgs#

Enum types::RevokeArgs.

Variant
CollectionV1
SaleV1
TransferV1
DataV1
UtilityV1
StakingV1
StandardV1
LockedTransferV1
ProgrammableConfigV1
MigrationV1
AuthorityItemV1
DataItemV1
CollectionItemV1
ProgrammableConfigItemV1
PrintDelegateV1

RuleSetToggle#

Enum types::RuleSetToggle.

VariantFields
None
Clear
SetPubkey

SeedsVec#

Struct types::SeedsVec.

FieldType
seedsVec<Vec<u8>>

SetCollectionSizeArgs#

Struct types::SetCollectionSizeArgs.

FieldType
sizeu64

TokenDelegateRole#

Enum types::TokenDelegateRole.

Variant
Sale
Transfer
Utility
Staking
Standard
LockedTransfer
Migration

TokenStandard#

Enum types::TokenStandard.

Variant
NonFungible
FungibleAsset
Fungible
NonFungibleEdition
ProgrammableNonFungible
ProgrammableNonFungibleEdition

TokenState#

Enum types::TokenState.

Variant
Unlocked
Locked
Listed

TransferArgs#

Enum types::TransferArgs.

VariantFields
V1amount: u64, authorization_data: Option<AuthorizationData>

TransferOutOfEscrowArgs#

Struct types::TransferOutOfEscrowArgs.

FieldType
amountu64

UnlockArgs#

Enum types::UnlockArgs.

VariantFields
V1authorization_data: Option<AuthorizationData>

UpdateArgs#

Enum types::UpdateArgs.

VariantFields
V1new_update_authority: Option<Pubkey>, data: Option<Data>, primary_sale_happened: Option<bool>, is_mutable: Option<bool>, collection: CollectionToggle, collection_details: CollectionDetailsToggle, uses: UsesToggle, rule_set: RuleSetToggle, authorization_data: Option<AuthorizationData>
AsUpdateAuthorityV2new_update_authority: Option<Pubkey>, data: Option<Data>, primary_sale_happened: Option<bool>, is_mutable: Option<bool>, collection: CollectionToggle, collection_details: CollectionDetailsToggle, uses: UsesToggle, rule_set: RuleSetToggle, token_standard: Option<TokenStandard>, authorization_data: Option<AuthorizationData>
AsAuthorityItemDelegateV2new_update_authority: Option<Pubkey>, primary_sale_happened: Option<bool>, is_mutable: Option<bool>, token_standard: Option<TokenStandard>, authorization_data: Option<AuthorizationData>
AsCollectionDelegateV2collection: CollectionToggle, authorization_data: Option<AuthorizationData>
AsDataDelegateV2data: Option<Data>, authorization_data: Option<AuthorizationData>
AsProgrammableConfigDelegateV2rule_set: RuleSetToggle, authorization_data: Option<AuthorizationData>
AsDataItemDelegateV2data: Option<Data>, authorization_data: Option<AuthorizationData>
AsCollectionItemDelegateV2collection: CollectionToggle, authorization_data: Option<AuthorizationData>
AsProgrammableConfigItemDelegateV2rule_set: RuleSetToggle, authorization_data: Option<AuthorizationData>

UpdateMetadataAccountArgsV2#

Struct types::UpdateMetadataAccountArgsV2.

FieldType
dataOption<DataV2>
update_authorityOption<Pubkey>
primary_sale_happenedOption<bool>
is_mutableOption<bool>

UseArgs#

Enum types::UseArgs.

VariantFields
V1authorization_data: Option<AuthorizationData>

UseMethod#

Enum types::UseMethod.

Variant
Burn
Multiple
Single

Uses#

Struct types::Uses.

FieldType
use_methodUseMethod
remainingu64
totalu64

UsesToggle#

Enum types::UsesToggle.

VariantFields
None
Clear
SetUses

UtilizeArgs#

Struct types::UtilizeArgs.

FieldType
number_of_usesu64

VerificationArgs#

Enum types::VerificationArgs.

Variant
CreatorV1
CollectionV1

Generated from the crate’s source at Carbon v2.0.0, so it always matches the published code. Spotted a problem? Report it; edits to this page itself are overwritten on the next release.

Your endpoints

Code samples use these instead of the placeholders, so you can copy and run them as they are. They’re stored only in this browser and never sent anywhere.