Metaplex Core decoder

Decode Metaplex Core instructions and accounts in Rust with carbon-mpl-core-decoder 2.0.0. Program ID CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d.

On this page

carbon-mpl-core-decoder decodes the instructions and accounts of the Metaplex Core program (CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d): 42 instructions, 6 account types. It is generated with Codama from the program's IDL; see decoders for how decoders plug into a pipeline.

Cratecarbon-mpl-core-decoder 2.0.0
Installcargo add carbon-mpl-core-decoder@2.0.0
Program IDCoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d (carbon_mpl_core_decoder::PROGRAM_ID)
CategoryNFTs & metadata
Decodercarbon_mpl_core_decoder::MplCoreDecoder
Instruction enuminstructions::MplCoreInstruction
Account enumaccounts::MplCoreAccount
Featuresserde, postgres, graphql (none enabled by default)
API docsdocs.rs/carbon-mpl-core-decoder/2.0.0
Sourcedecoders/mpl-core-decoder

Other NFT and metadata decoders: Bubblegum, Metaplex Token Metadata. 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 Core transactions from the public RPC and prints every decoded CreateV1 instruction. Add the dependencies:

Terminal
cargo add carbon-core@2.0.0 carbon-mpl-core-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_core_decoder::{instructions::MplCoreInstruction, MplCoreDecoder, 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(MplCoreDecoder, InstructionLogger)
        .build()?
        .run()
        .await
}

struct InstructionLogger;

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

Each CreateV1 instruction prints one line with the transaction signature and the decoded CreateV1 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 AssetV1 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_core_decoder::{accounts::MplCoreAccount, MplCoreDecoder, 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(MplCoreDecoder, AccountLogger)
        .build()?
        .run()
        .await
}

struct AccountLogger;

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

Each update to a AssetV1 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 MplCoreInstruction. Each is MplCoreInstruction::<Variant> { program_id, data, accounts }, where data and accounts are the types listed under the variant, exported from carbon_mpl_core_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 CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d.
  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.

AddAssetsToGroupV1#

Discriminator 23 · data AddAssetsToGroupV1 · accounts AddAssetsToGroupV1InstructionAccounts.

FieldType
add_assets_to_group_v1_argsAddAssetsToGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of AddAssetsToGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4…remainingVec<AccountMeta>

AddCollectionExternalPluginAdapterV1#

Discriminator 17 · data AddCollectionExternalPluginAdapterV1 · accounts AddCollectionExternalPluginAdapterV1InstructionAccounts.

FieldType
add_collection_external_plugin_adapter_v1_argsAddCollectionExternalPluginAdapterV1Args

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

Fields of AddCollectionExternalPluginAdapterV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

AddCollectionPluginV1#

Discriminator 03 · data AddCollectionPluginV1 · accounts AddCollectionPluginV1InstructionAccounts.

FieldType
add_collection_plugin_v1_argsAddCollectionPluginV1Args

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

Fields of AddCollectionPluginV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

AddCollectionsToGroupV1#

Discriminator 21 · data AddCollectionsToGroupV1 · accounts AddCollectionsToGroupV1InstructionAccounts.

FieldType
add_collections_to_group_v1_argsAddCollectionsToGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of AddCollectionsToGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4…remainingVec<AccountMeta>

AddExternalPluginAdapterV1#

Discriminator 16 · data AddExternalPluginAdapterV1 · accounts AddExternalPluginAdapterV1InstructionAccounts.

FieldType
add_external_plugin_adapter_v1_argsAddExternalPluginAdapterV1Args

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

Fields of AddExternalPluginAdapterV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

AddGroupsToGroupV1#

Discriminator 25 · data AddGroupsToGroupV1 · accounts AddGroupsToGroupV1InstructionAccounts.

FieldType
add_groups_to_group_v1_argsAddGroupsToGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of AddGroupsToGroupV1InstructionAccounts, in account order:

#FieldType
0parent_groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4…remainingVec<AccountMeta>

AddPluginV1#

Discriminator 02 · data AddPluginV1 · accounts AddPluginV1InstructionAccounts.

FieldType
add_plugin_v1_argsAddPluginV1Args

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

Fields of AddPluginV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

ApproveCollectionPluginAuthorityV1#

Discriminator 09 · data ApproveCollectionPluginAuthorityV1 · accounts ApproveCollectionPluginAuthorityV1InstructionAccounts.

FieldType
approve_collection_plugin_authority_v1_argsApproveCollectionPluginAuthorityV1Args

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

Fields of ApproveCollectionPluginAuthorityV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

ApprovePluginAuthorityV1#

Discriminator 08 · data ApprovePluginAuthorityV1 · accounts ApprovePluginAuthorityV1InstructionAccounts.

FieldType
approve_plugin_authority_v1_argsApprovePluginAuthorityV1Args

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

Fields of ApprovePluginAuthorityV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

BurnCollectionV1#

Discriminator 0d · data BurnCollectionV1 · accounts BurnCollectionV1InstructionAccounts.

FieldType
burn_collection_v1_argsBurnCollectionV1Args

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

Fields of BurnCollectionV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3log_wrapperOption<Pubkey>
4…remainingVec<AccountMeta>

BurnV1#

Discriminator 0c · data BurnV1 · accounts BurnV1InstructionAccounts.

FieldType
burn_v1_argsBurnV1Args

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

Fields of BurnV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programOption<Pubkey>
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

CloseGroupV1#

Discriminator 28 · data CloseGroupV1 · accounts CloseGroupV1InstructionAccounts.

FieldType
close_group_v1_argsCloseGroupV1Args

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

Fields of CloseGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3…remainingVec<AccountMeta>

Collect#

Discriminator 13 · data Collect · accounts CollectInstructionAccounts.

No data fields.

Required accounts: 2; extras go to remaining.

Fields of CollectInstructionAccounts, in account order:

#FieldType
0recipient1Pubkey
1recipient2Pubkey
2…remainingVec<AccountMeta>

CompressV1#

Discriminator 11 · data CompressV1 · accounts CompressV1InstructionAccounts.

FieldType
compress_v1_argsCompressV1Args

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

Fields of CompressV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

CreateCollectionV1#

Discriminator 01 · data CreateCollectionV1 · accounts CreateCollectionV1InstructionAccounts.

FieldType
create_collection_v1_argsCreateCollectionV1Args

Required accounts: 4; extras go to remaining.

Fields of CreateCollectionV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1update_authorityOption<Pubkey>
2payerPubkey
3system_programPubkey
4…remainingVec<AccountMeta>

CreateCollectionV2#

Discriminator 15 · data CreateCollectionV2 · accounts CreateCollectionV2InstructionAccounts.

FieldType
create_collection_v2_argsCreateCollectionV2Args

Required accounts: 4; extras go to remaining.

Fields of CreateCollectionV2InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1update_authorityOption<Pubkey>
2payerPubkey
3system_programPubkey
4…remainingVec<AccountMeta>

CreateGroupV1#

Discriminator 27 · data CreateGroupV1 · accounts CreateGroupV1InstructionAccounts.

FieldType
create_group_v1_argsCreateGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of CreateGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1update_authorityOption<Pubkey>
2payerPubkey
3system_programPubkey
4…remainingVec<AccountMeta>

CreateV1#

Discriminator 00 · data CreateV1 · accounts CreateV1InstructionAccounts.

FieldType
create_v1_argsCreateV1Args

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

Fields of CreateV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2authorityOption<Pubkey>
3payerPubkey
4ownerOption<Pubkey>
5update_authorityOption<Pubkey>
6system_programPubkey
7log_wrapperOption<Pubkey>
8…remainingVec<AccountMeta>

CreateV2#

Discriminator 14 · data CreateV2 · accounts CreateV2InstructionAccounts.

FieldType
create_v2_argsCreateV2Args

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

Fields of CreateV2InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2authorityOption<Pubkey>
3payerPubkey
4ownerOption<Pubkey>
5update_authorityOption<Pubkey>
6system_programPubkey
7log_wrapperOption<Pubkey>
8…remainingVec<AccountMeta>

DecompressV1#

Discriminator 12 · data DecompressV1 · accounts DecompressV1InstructionAccounts.

FieldType
decompress_v1_argsDecompressV1Args

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

Fields of DecompressV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

ExecuteV1#

Discriminator 1f · data ExecuteV1 · accounts ExecuteV1InstructionAccounts.

FieldType
execute_v1_argsExecuteV1Args

Required accounts: 7; extras go to remaining.

Fields of ExecuteV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2asset_signerPubkey
3payerPubkey
4authorityOption<Pubkey>
5system_programPubkey
6program_idPubkey
7…remainingVec<AccountMeta>

RemoveAssetsFromGroupV1#

Discriminator 24 · data RemoveAssetsFromGroupV1 · accounts RemoveAssetsFromGroupV1InstructionAccounts.

FieldType
remove_assets_from_group_v1_argsRemoveAssetsFromGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of RemoveAssetsFromGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4…remainingVec<AccountMeta>

RemoveCollectionExternalPluginAdapterV1#

Discriminator 19 · data RemoveCollectionExternalPluginAdapterV1 · accounts RemoveCollectionExternalPluginAdapterV1InstructionAccounts.

FieldType
remove_collection_external_plugin_adapter_v1_argsRemoveCollectionExternalPluginAdapterV1Args

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

Fields of RemoveCollectionExternalPluginAdapterV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

RemoveCollectionPluginV1#

Discriminator 05 · data RemoveCollectionPluginV1 · accounts RemoveCollectionPluginV1InstructionAccounts.

FieldType
remove_collection_plugin_v1_argsRemoveCollectionPluginV1Args

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

Fields of RemoveCollectionPluginV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

RemoveCollectionsFromGroupV1#

Discriminator 22 · data RemoveCollectionsFromGroupV1 · accounts RemoveCollectionsFromGroupV1InstructionAccounts.

FieldType
remove_collections_from_group_v1_argsRemoveCollectionsFromGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of RemoveCollectionsFromGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4…remainingVec<AccountMeta>

RemoveExternalPluginAdapterV1#

Discriminator 18 · data RemoveExternalPluginAdapterV1 · accounts RemoveExternalPluginAdapterV1InstructionAccounts.

FieldType
remove_external_plugin_adapter_v1_argsRemoveExternalPluginAdapterV1Args

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

Fields of RemoveExternalPluginAdapterV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

RemoveGroupsFromGroupV1#

Discriminator 26 · data RemoveGroupsFromGroupV1 · accounts RemoveGroupsFromGroupV1InstructionAccounts.

FieldType
remove_groups_from_group_v1_argsRemoveGroupsFromGroupV1Args

Required accounts: 4; extras go to remaining.

Fields of RemoveGroupsFromGroupV1InstructionAccounts, in account order:

#FieldType
0parent_groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4…remainingVec<AccountMeta>

RemovePluginV1#

Discriminator 04 · data RemovePluginV1 · accounts RemovePluginV1InstructionAccounts.

FieldType
remove_plugin_v1_argsRemovePluginV1Args

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

Fields of RemovePluginV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

RevokeCollectionPluginAuthorityV1#

Discriminator 0b · data RevokeCollectionPluginAuthorityV1 · accounts RevokeCollectionPluginAuthorityV1InstructionAccounts.

FieldType
revoke_collection_plugin_authority_v1_argsRevokeCollectionPluginAuthorityV1Args

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

Fields of RevokeCollectionPluginAuthorityV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

RevokePluginAuthorityV1#

Discriminator 0a · data RevokePluginAuthorityV1 · accounts RevokePluginAuthorityV1InstructionAccounts.

FieldType
revoke_plugin_authority_v1_argsRevokePluginAuthorityV1Args

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

Fields of RevokePluginAuthorityV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

TransferV1#

Discriminator 0e · data TransferV1 · accounts TransferV1InstructionAccounts.

FieldType
transfer_v1_argsTransferV1Args

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

Fields of TransferV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4new_ownerPubkey
5system_programOption<Pubkey>
6log_wrapperOption<Pubkey>
7…remainingVec<AccountMeta>

UpdateCollectionExternalPluginAdapterV1#

Discriminator 1b · data UpdateCollectionExternalPluginAdapterV1 · accounts UpdateCollectionExternalPluginAdapterV1InstructionAccounts.

FieldType
update_collection_external_plugin_adapter_v1_argsUpdateCollectionExternalPluginAdapterV1Args

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

Fields of UpdateCollectionExternalPluginAdapterV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

UpdateCollectionInfoV1#

Discriminator 20 · data UpdateCollectionInfoV1 · accounts UpdateCollectionInfoV1InstructionAccounts.

FieldType
update_collection_info_v1_argsUpdateCollectionInfoV1Args

Required accounts: 2; extras go to remaining.

Fields of UpdateCollectionInfoV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1bubblegum_signerPubkey
2…remainingVec<AccountMeta>

UpdateCollectionPluginV1#

Discriminator 07 · data UpdateCollectionPluginV1 · accounts UpdateCollectionPluginV1InstructionAccounts.

FieldType
update_collection_plugin_v1_argsUpdateCollectionPluginV1Args

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

Fields of UpdateCollectionPluginV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3system_programPubkey
4log_wrapperOption<Pubkey>
5…remainingVec<AccountMeta>

UpdateCollectionV1#

Discriminator 10 · data UpdateCollectionV1 · accounts UpdateCollectionV1InstructionAccounts.

FieldType
update_collection_v1_argsUpdateCollectionV1Args

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

Fields of UpdateCollectionV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3new_update_authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

UpdateExternalPluginAdapterV1#

Discriminator 1a · data UpdateExternalPluginAdapterV1 · accounts UpdateExternalPluginAdapterV1InstructionAccounts.

FieldType
update_external_plugin_adapter_v1_argsUpdateExternalPluginAdapterV1Args

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

Fields of UpdateExternalPluginAdapterV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

UpdateGroupV1#

Discriminator 29 · data UpdateGroupV1 · accounts UpdateGroupV1InstructionAccounts.

FieldType
update_group_v1_argsUpdateGroupV1Args

Required accounts: 5; extras go to remaining.

Fields of UpdateGroupV1InstructionAccounts, in account order:

#FieldType
0groupPubkey
1payerPubkey
2authorityOption<Pubkey>
3new_update_authorityOption<Pubkey>
4system_programPubkey
5…remainingVec<AccountMeta>

UpdatePluginV1#

Discriminator 06 · data UpdatePluginV1 · accounts UpdatePluginV1InstructionAccounts.

FieldType
update_plugin_v1_argsUpdatePluginV1Args

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

Fields of UpdatePluginV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

UpdateV1#

Discriminator 0f · data UpdateV1 · accounts UpdateV1InstructionAccounts.

FieldType
update_v1_argsUpdateV1Args

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

Fields of UpdateV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

UpdateV2#

Discriminator 1e · data UpdateV2 · accounts UpdateV2InstructionAccounts.

FieldType
update_v2_argsUpdateV2Args

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

Fields of UpdateV2InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4new_collectionOption<Pubkey>
5system_programPubkey
6log_wrapperOption<Pubkey>
7…remainingVec<AccountMeta>

WriteCollectionExternalPluginAdapterDataV1#

Discriminator 1d · data WriteCollectionExternalPluginAdapterDataV1 · accounts WriteCollectionExternalPluginAdapterDataV1InstructionAccounts.

FieldType
write_collection_external_plugin_adapter_data_v1_argsWriteCollectionExternalPluginAdapterDataV1Args

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

Fields of WriteCollectionExternalPluginAdapterDataV1InstructionAccounts, in account order:

#FieldType
0collectionPubkey
1payerPubkey
2authorityOption<Pubkey>
3bufferOption<Pubkey>
4system_programPubkey
5log_wrapperOption<Pubkey>
6…remainingVec<AccountMeta>

WriteExternalPluginAdapterDataV1#

Discriminator 1c · data WriteExternalPluginAdapterDataV1 · accounts WriteExternalPluginAdapterDataV1InstructionAccounts.

FieldType
write_external_plugin_adapter_data_v1_argsWriteExternalPluginAdapterDataV1Args

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

Fields of WriteExternalPluginAdapterDataV1InstructionAccounts, in account order:

#FieldType
0assetPubkey
1collectionOption<Pubkey>
2payerPubkey
3authorityOption<Pubkey>
4bufferOption<Pubkey>
5system_programPubkey
6log_wrapperOption<Pubkey>
7…remainingVec<AccountMeta>

Accounts#

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

AssetV1#

No discriminator (matched by Borsh layout) · accounts::asset_v1::AssetV1.

FieldType
keyKey
ownerPubkey
update_authorityUpdateAuthority
nameString
uriString
seqOption<u64>

CollectionV1#

No discriminator (matched by Borsh layout) · accounts::collection_v1::CollectionV1.

FieldType
keyKey
update_authorityPubkey
nameString
uriString
num_mintedu32
current_sizeu32

GroupV1#

No discriminator (matched by Borsh layout) · accounts::group_v1::GroupV1.

FieldType
keyKey
update_authorityPubkey
nameString
uriString
collectionsVec<Pubkey>
groupsVec<Pubkey>
parent_groupsVec<Pubkey>
assetsVec<Pubkey>

HashedAssetV1#

No discriminator (matched by Borsh layout) · accounts::hashed_asset_v1::HashedAssetV1.

FieldType
keyKey
hash[u8; 32]

PluginHeaderV1#

No discriminator (matched by Borsh layout) · accounts::plugin_header_v1::PluginHeaderV1.

FieldType
keyKey
plugin_registry_offsetu64

PluginRegistryV1#

No discriminator (matched by Borsh layout) · accounts::plugin_registry_v1::PluginRegistryV1.

FieldType
keyKey
registryVec<RegistryRecord>
external_registryVec<ExternalRegistryRecord>

Types#

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

AddAssetsToGroupV1Args#

Struct types::AddAssetsToGroupV1Args.

No fields.

AddBlocker#

Struct types::AddBlocker.

No fields.

AddCollectionExternalPluginAdapterV1Args#

Struct types::AddCollectionExternalPluginAdapterV1Args.

AddCollectionPluginV1Args#

Struct types::AddCollectionPluginV1Args.

FieldType
pluginPlugin
init_authorityOption<Authority>

AddCollectionsToGroupV1Args#

Struct types::AddCollectionsToGroupV1Args.

No fields.

AddExternalPluginAdapterV1Args#

Struct types::AddExternalPluginAdapterV1Args.

AddGroupsToGroupV1Args#

Struct types::AddGroupsToGroupV1Args.

FieldType
groupsVec<Pubkey>

AddPluginV1Args#

Struct types::AddPluginV1Args.

FieldType
pluginPlugin
init_authorityOption<Authority>

AgentIdentity#

Struct types::AgentIdentity.

FieldType
uriString

AgentIdentityInitInfo#

Struct types::AgentIdentityInitInfo.

FieldType
uriString
init_plugin_authorityOption<Authority>
lifecycle_checksVec<(HookableLifecycleEvent, ExternalCheckResult)>

AgentIdentityUpdateInfo#

Struct types::AgentIdentityUpdateInfo.

FieldType
uriOption<String>
lifecycle_checksOption<Vec<(HookableLifecycleEvent, ExternalCheckResult)>>

AppData#

Struct types::AppData.

FieldType
data_authorityAuthority
schemaExternalPluginAdapterSchema

AppDataInitInfo#

Struct types::AppDataInitInfo.

FieldType
data_authorityAuthority
init_plugin_authorityOption<Authority>
schemaOption<ExternalPluginAdapterSchema>

AppDataUpdateInfo#

Struct types::AppDataUpdateInfo.

ApproveCollectionPluginAuthorityV1Args#

Struct types::ApproveCollectionPluginAuthorityV1Args.

FieldType
plugin_typePluginType
new_authorityAuthority

ApprovePluginAuthorityV1Args#

Struct types::ApprovePluginAuthorityV1Args.

FieldType
plugin_typePluginType
new_authorityAuthority

Attribute#

Struct types::Attribute.

FieldType
keyString
valueString

Attributes#

Struct types::Attributes.

FieldType
attribute_listVec<Attribute>

Authority#

Enum types::Authority.

VariantFields
None
Owner
UpdateAuthority
Addressaddress: Pubkey

Autograph#

Struct types::Autograph.

FieldType
signaturesVec<AutographSignature>

AutographSignature#

Struct types::AutographSignature.

FieldType
addressPubkey
messageString

BubblegumV2#

Struct types::BubblegumV2.

No fields.

BurnCollectionV1Args#

Struct types::BurnCollectionV1Args.

FieldType
compression_proofOption<CompressionProof>

BurnDelegate#

Struct types::BurnDelegate.

No fields.

BurnV1Args#

Struct types::BurnV1Args.

FieldType
compression_proofOption<CompressionProof>

CloseGroupV1Args#

Struct types::CloseGroupV1Args.

No fields.

CompressionProof#

Struct types::CompressionProof.

FieldType
ownerPubkey
update_authorityUpdateAuthority
nameString
uriString
sequ64
pluginsVec<HashablePluginSchema>

CompressV1Args#

Struct types::CompressV1Args.

No fields.

CreateCollectionV1Args#

Struct types::CreateCollectionV1Args.

FieldType
nameString
uriString
pluginsOption<Vec<PluginAuthorityPair>>

CreateCollectionV2Args#

Struct types::CreateCollectionV2Args.

FieldType
nameString
uriString
pluginsOption<Vec<PluginAuthorityPair>>
external_plugin_adaptersOption<Vec<ExternalPluginAdapterInitInfo>>

CreateGroupV1Args#

Struct types::CreateGroupV1Args.

FieldType
nameString
uriString
relationshipsVec<RelationshipEntry>

CreateV1Args#

Struct types::CreateV1Args.

FieldType
data_stateDataState
nameString
uriString
pluginsOption<Vec<PluginAuthorityPair>>

CreateV2Args#

Struct types::CreateV2Args.

FieldType
data_stateDataState
nameString
uriString
pluginsOption<Vec<PluginAuthorityPair>>
external_plugin_adaptersOption<Vec<ExternalPluginAdapterInitInfo>>

Creator#

Struct types::Creator.

FieldType
addressPubkey
percentageu8

DataSection#

Struct types::DataSection.

DataSectionInitInfo#

Struct types::DataSectionInitInfo.

DataSectionUpdateInfo#

Struct types::DataSectionUpdateInfo.

No fields.

DataState#

Enum types::DataState.

Variant
AccountState
LedgerState

DecompressV1Args#

Struct types::DecompressV1Args.

FieldType
compression_proofCompressionProof

Edition#

Struct types::Edition.

FieldType
numberu32

ExecuteV1Args#

Struct types::ExecuteV1Args.

FieldType
instruction_dataVec<u8>

ExternalCheckResult#

Struct types::ExternalCheckResult.

FieldType
flagsu32

ExternalPluginAdapter#

Enum types::ExternalPluginAdapter.

VariantFields
LifecycleHookLifecycleHook
OracleOracle
AppDataAppData
LinkedLifecycleHookLinkedLifecycleHook
LinkedAppDataLinkedAppData
DataSectionDataSection
AgentIdentityAgentIdentity

ExternalPluginAdapterInitInfo#

Enum types::ExternalPluginAdapterInitInfo.

VariantFields
LifecycleHookLifecycleHookInitInfo
OracleOracleInitInfo
AppDataAppDataInitInfo
LinkedLifecycleHookLinkedLifecycleHookInitInfo
LinkedAppDataLinkedAppDataInitInfo
DataSectionDataSectionInitInfo
AgentIdentityAgentIdentityInitInfo

ExternalPluginAdapterKey#

Enum types::ExternalPluginAdapterKey.

VariantFields
LifecycleHookPubkey
OraclePubkey
AppDataAuthority
LinkedLifecycleHookPubkey
LinkedAppDataAuthority
DataSectionLinkedDataKey
AgentIdentity

ExternalPluginAdapterSchema#

Enum types::ExternalPluginAdapterSchema.

Variant
Binary
Json
MsgPack

ExternalPluginAdapterType#

Enum types::ExternalPluginAdapterType.

Variant
LifecycleHook
Oracle
AppData
LinkedLifecycleHook
LinkedAppData
DataSection
AgentIdentity

ExternalPluginAdapterUpdateInfo#

Enum types::ExternalPluginAdapterUpdateInfo.

ExternalRegistryRecord#

Struct types::ExternalRegistryRecord.

FieldType
plugin_typeExternalPluginAdapterType
authorityAuthority
lifecycle_checksOption<Vec<(HookableLifecycleEvent, ExternalCheckResult)>>
offsetu64
data_offsetOption<u64>
data_lenOption<u64>

ExternalValidationResult#

Enum types::ExternalValidationResult.

Variant
Approved
Rejected
Pass

ExtraAccount#

Enum types::ExtraAccount.

VariantFields
PreconfiguredProgramis_signer: bool, is_writable: bool
PreconfiguredCollectionis_signer: bool, is_writable: bool
PreconfiguredOwneris_signer: bool, is_writable: bool
PreconfiguredRecipientis_signer: bool, is_writable: bool
PreconfiguredAssetis_signer: bool, is_writable: bool
CustomPdaseeds: Vec<Seed>, custom_program_id: Option<Pubkey>, is_signer: bool, is_writable: bool
Addressaddress: Pubkey, is_signer: bool, is_writable: bool

FreezeDelegate#

Struct types::FreezeDelegate.

FieldType
frozenbool

FreezeExecute#

Struct types::FreezeExecute.

FieldType
frozenbool

Groups#

Struct types::Groups.

FieldType
groupsVec<Pubkey>

HashablePluginSchema#

Struct types::HashablePluginSchema.

FieldType
indexu64
authorityAuthority
pluginPlugin

HashedAssetSchema#

Struct types::HashedAssetSchema.

FieldType
asset_hash[u8; 32]
plugin_hashesVec<[u8; 32]>

HookableLifecycleEvent#

Enum types::HookableLifecycleEvent.

Variant
Create
Transfer
Burn
Update
Execute

ImmutableMetadata#

Struct types::ImmutableMetadata.

No fields.

Key#

Enum types::Key.

Variant
Uninitialized
AssetV1
HashedAssetV1
PluginHeaderV1
PluginRegistryV1
CollectionV1
GroupV1

LifecycleHook#

Struct types::LifecycleHook.

FieldType
hooked_programPubkey
extra_accountsOption<Vec<ExtraAccount>>
data_authorityOption<Authority>
schemaExternalPluginAdapterSchema

LifecycleHookInitInfo#

Struct types::LifecycleHookInitInfo.

FieldType
hooked_programPubkey
init_plugin_authorityOption<Authority>
lifecycle_checksVec<(HookableLifecycleEvent, ExternalCheckResult)>
extra_accountsOption<Vec<ExtraAccount>>
data_authorityOption<Authority>
schemaOption<ExternalPluginAdapterSchema>

LifecycleHookUpdateInfo#

Struct types::LifecycleHookUpdateInfo.

LinkedAppData#

Struct types::LinkedAppData.

FieldType
data_authorityAuthority
schemaExternalPluginAdapterSchema

LinkedAppDataInitInfo#

Struct types::LinkedAppDataInitInfo.

FieldType
data_authorityAuthority
init_plugin_authorityOption<Authority>
schemaOption<ExternalPluginAdapterSchema>

LinkedAppDataUpdateInfo#

Struct types::LinkedAppDataUpdateInfo.

LinkedDataKey#

Enum types::LinkedDataKey.

VariantFields
LinkedLifecycleHookPubkey
LinkedAppDataAuthority

LinkedLifecycleHook#

Struct types::LinkedLifecycleHook.

FieldType
hooked_programPubkey
extra_accountsOption<Vec<ExtraAccount>>
data_authorityOption<Authority>
schemaExternalPluginAdapterSchema

LinkedLifecycleHookInitInfo#

Struct types::LinkedLifecycleHookInitInfo.

FieldType
hooked_programPubkey
init_plugin_authorityOption<Authority>
lifecycle_checksVec<(HookableLifecycleEvent, ExternalCheckResult)>
extra_accountsOption<Vec<ExtraAccount>>
data_authorityOption<Authority>
schemaOption<ExternalPluginAdapterSchema>

LinkedLifecycleHookUpdateInfo#

Struct types::LinkedLifecycleHookUpdateInfo.

MasterEdition#

Struct types::MasterEdition.

FieldType
max_supplyOption<u32>
nameOption<String>
uriOption<String>

Oracle#

Struct types::Oracle.

FieldType
base_addressPubkey
base_address_configOption<ExtraAccount>
results_offsetValidationResultsOffset

OracleInitInfo#

Struct types::OracleInitInfo.

FieldType
base_addressPubkey
init_plugin_authorityOption<Authority>
lifecycle_checksVec<(HookableLifecycleEvent, ExternalCheckResult)>
base_address_configOption<ExtraAccount>
results_offsetOption<ValidationResultsOffset>

OracleUpdateInfo#

Struct types::OracleUpdateInfo.

OracleValidation#

Enum types::OracleValidation.

VariantFields
Uninitialized
V1create: ExternalValidationResult, transfer: ExternalValidationResult, burn: ExternalValidationResult, update: ExternalValidationResult

PermanentBurnDelegate#

Struct types::PermanentBurnDelegate.

No fields.

PermanentFreezeDelegate#

Struct types::PermanentFreezeDelegate.

FieldType
frozenbool

PermanentFreezeExecute#

Struct types::PermanentFreezeExecute.

FieldType
frozenbool

PermanentTransferDelegate#

Struct types::PermanentTransferDelegate.

No fields.

Plugin#

Enum types::Plugin.

VariantFields
RoyaltiesRoyalties
FreezeDelegateFreezeDelegate
BurnDelegateBurnDelegate
TransferDelegateTransferDelegate
UpdateDelegateUpdateDelegate
PermanentFreezeDelegatePermanentFreezeDelegate
AttributesAttributes
PermanentTransferDelegatePermanentTransferDelegate
PermanentBurnDelegatePermanentBurnDelegate
EditionEdition
MasterEditionMasterEdition
AddBlockerAddBlocker
ImmutableMetadataImmutableMetadata
VerifiedCreatorsVerifiedCreators
AutographAutograph
BubblegumV2BubblegumV2
FreezeExecuteFreezeExecute
PermanentFreezeExecutePermanentFreezeExecute
GroupsGroups

PluginAuthorityPair#

Struct types::PluginAuthorityPair.

FieldType
pluginPlugin
authorityOption<Authority>

PluginType#

Enum types::PluginType.

Variant
Royalties
FreezeDelegate
BurnDelegate
TransferDelegate
UpdateDelegate
PermanentFreezeDelegate
Attributes
PermanentTransferDelegate
PermanentBurnDelegate
Edition
MasterEdition
AddBlocker
ImmutableMetadata
VerifiedCreators
Autograph
BubblegumV2
FreezeExecute
PermanentFreezeExecute
Groups

RegistryRecord#

Struct types::RegistryRecord.

FieldType
plugin_typePluginType
authorityAuthority
offsetu64

RelationshipEntry#

Struct types::RelationshipEntry.

FieldType
kindRelationshipKind
keyPubkey

RelationshipKind#

Enum types::RelationshipKind.

Variant
Collection
ChildGroup
ParentGroup
Asset

RemoveAssetsFromGroupV1Args#

Struct types::RemoveAssetsFromGroupV1Args.

FieldType
assetsVec<Pubkey>

RemoveCollectionExternalPluginAdapterV1Args#

Struct types::RemoveCollectionExternalPluginAdapterV1Args.

RemoveCollectionPluginV1Args#

Struct types::RemoveCollectionPluginV1Args.

FieldType
plugin_typePluginType

RemoveCollectionsFromGroupV1Args#

Struct types::RemoveCollectionsFromGroupV1Args.

FieldType
collectionsVec<Pubkey>

RemoveExternalPluginAdapterV1Args#

Struct types::RemoveExternalPluginAdapterV1Args.

RemoveGroupsFromGroupV1Args#

Struct types::RemoveGroupsFromGroupV1Args.

FieldType
groupsVec<Pubkey>

RemovePluginV1Args#

Struct types::RemovePluginV1Args.

FieldType
plugin_typePluginType

RevokeCollectionPluginAuthorityV1Args#

Struct types::RevokeCollectionPluginAuthorityV1Args.

FieldType
plugin_typePluginType

RevokePluginAuthorityV1Args#

Struct types::RevokePluginAuthorityV1Args.

FieldType
plugin_typePluginType

Royalties#

Struct types::Royalties.

FieldType
basis_pointsu16
creatorsVec<Creator>
rule_setRuleSet

RuleSet#

Enum types::RuleSet.

VariantFields
None
ProgramAllowListVec<Pubkey>
ProgramDenyListVec<Pubkey>

Seed#

Enum types::Seed.

VariantFields
Collection
Owner
Recipient
Asset
AddressPubkey
BytesVec<u8>

TransferDelegate#

Struct types::TransferDelegate.

No fields.

TransferV1Args#

Struct types::TransferV1Args.

FieldType
compression_proofOption<CompressionProof>

UpdateAuthority#

Enum types::UpdateAuthority.

VariantFields
None
AddressPubkey
CollectionPubkey

UpdateCollectionExternalPluginAdapterV1Args#

Struct types::UpdateCollectionExternalPluginAdapterV1Args.

UpdateCollectionInfoV1Args#

Struct types::UpdateCollectionInfoV1Args.

FieldType
update_typeUpdateType
amountu32

UpdateCollectionPluginV1Args#

Struct types::UpdateCollectionPluginV1Args.

FieldType
pluginPlugin

UpdateCollectionV1Args#

Struct types::UpdateCollectionV1Args.

FieldType
new_nameOption<String>
new_uriOption<String>

UpdateDelegate#

Struct types::UpdateDelegate.

FieldType
additional_delegatesVec<Pubkey>

UpdateExternalPluginAdapterV1Args#

Struct types::UpdateExternalPluginAdapterV1Args.

UpdateGroupV1Args#

Struct types::UpdateGroupV1Args.

FieldType
new_nameOption<String>
new_uriOption<String>

UpdatePluginV1Args#

Struct types::UpdatePluginV1Args.

FieldType
pluginPlugin

UpdateType#

Enum types::UpdateType.

Variant
Mint
Add
Remove

UpdateV1Args#

Struct types::UpdateV1Args.

FieldType
new_nameOption<String>
new_uriOption<String>
new_update_authorityOption<UpdateAuthority>

UpdateV2Args#

Struct types::UpdateV2Args.

FieldType
new_nameOption<String>
new_uriOption<String>
new_update_authorityOption<UpdateAuthority>

ValidationResult#

Enum types::ValidationResult.

Variant
Approved
Rejected
Pass
ForceApproved

ValidationResultsOffset#

Enum types::ValidationResultsOffset.

VariantFields
NoOffset
Anchor
Customu64

VerifiedCreators#

Struct types::VerifiedCreators.

VerifiedCreatorsSignature#

Struct types::VerifiedCreatorsSignature.

FieldType
addressPubkey
verifiedbool

WriteCollectionExternalPluginAdapterDataV1Args#

Struct types::WriteCollectionExternalPluginAdapterDataV1Args.

FieldType
keyExternalPluginAdapterKey
dataOption<Vec<u8>>

WriteExternalPluginAdapterDataV1Args#

Struct types::WriteExternalPluginAdapterDataV1Args.

FieldType
keyExternalPluginAdapterKey
dataOption<Vec<u8>>

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.