v0.1.0-pre.011

This commit is contained in:
2026-07-24 14:23:58 +02:00
parent 62bc0ffb44
commit 42e8a203ec
460 changed files with 12005 additions and 7020 deletions

View File

@@ -4,254 +4,325 @@
//! Internal constants for Metaplex Token Metadata decoding.
/// Stable decoder surface code.
pub(crate) const SURFACE_CODE: &str = "metadata_metaplex_token_metadata";
pub(crate) const DC_METADATA_MTM_SURFACE_CODE: &str = "metadata_metaplex_token_metadata";
/// Maximum retained instruction payload size.
pub(crate) const MAX_INSTRUCTION_BYTES: usize = 16_384;
pub(crate) const DC_METADATA_MTM_MAX_INSTRUCTION_BYTES: usize = 16_384;
/// Maximum encoded base64 instruction payload size.
pub(crate) const MAX_BASE64_BYTES: usize = 21_852;
pub(crate) const DC_METADATA_MTM_MAX_BASE64_BYTES: usize = 21_852;
/// Maximum number of instruction accounts accepted by this decoder.
pub(crate) const MAX_INSTRUCTION_ACCOUNTS: usize = 64;
pub(crate) const DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS: usize = 64;
/// Number of bytes retained in malformed-wire diagnostics.
pub(crate) const DIAGNOSTIC_PREFIX_BYTES: usize = 32;
pub(crate) const DC_METADATA_MTM_DIAGNOSTIC_PREFIX_BYTES: usize = 32;
/// Stable event payload contract version.
pub(crate) const EVENT_VERSION: u32 = 1;
pub(crate) const DC_METADATA_MTM_EVENT_VERSION: u32 = 1;
/// Deprecated Create Master Edition discriminator.
pub(crate) const DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR: u8 = 2;
pub(crate) const DC_METADATA_MTM_DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR: u8 = 2;
/// Deprecated Set Reservation List discriminator.
pub(crate) const DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR: u8 = 5;
pub(crate) const DC_METADATA_MTM_DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR: u8 = 5;
/// Deprecated Create Reservation List discriminator.
pub(crate) const DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR: u8 = 6;
pub(crate) const DC_METADATA_MTM_DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR: u8 = 6;
/// Deprecated Mint Printing Tokens Via Token discriminator.
pub(crate) const DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR: u8 = 8;
pub(crate) const DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR: u8 = 8;
/// Deprecated Mint Printing Tokens discriminator.
pub(crate) const DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR: u8 = 9;
pub(crate) const DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR: u8 = 9;
/// Historical Create Master Edition discriminator.
pub(crate) const CREATE_MASTER_EDITION_DISCRIMINATOR: u8 = 10;
pub(crate) const DC_METADATA_MTM_CREATE_MASTER_EDITION_DISCRIMINATOR: u8 = 10;
/// Deprecated printing-token mint-new-edition discriminator.
pub(crate) const DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR: u8 = 3;
pub(crate) const DC_METADATA_MTM_DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR: u8 =
3;
/// Historical Create Metadata Account discriminator.
pub(crate) const CREATE_METADATA_ACCOUNT_DISCRIMINATOR: u8 = 0;
pub(crate) const DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_DISCRIMINATOR: u8 = 0;
/// Historical Update Metadata Account discriminator.
pub(crate) const UPDATE_METADATA_ACCOUNT_DISCRIMINATOR: u8 = 1;
pub(crate) const DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_DISCRIMINATOR: u8 = 1;
/// Historical Create Metadata Account V2 discriminator.
pub(crate) const CREATE_METADATA_ACCOUNT_V2_DISCRIMINATOR: u8 = 16;
pub(crate) const DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V2_DISCRIMINATOR: u8 = 16;
/// Create Metadata Account V3 discriminator.
pub(crate) const CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR: u8 = 33;
pub(crate) const DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR: u8 = 33;
/// Update Metadata Account V2 discriminator.
pub(crate) const UPDATE_METADATA_ACCOUNT_V2_DISCRIMINATOR: u8 = 15;
pub(crate) const DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_V2_DISCRIMINATOR: u8 = 15;
/// Verify Collection discriminator.
pub(crate) const VERIFY_COLLECTION_DISCRIMINATOR: u8 = 18;
pub(crate) const DC_METADATA_MTM_VERIFY_COLLECTION_DISCRIMINATOR: u8 = 18;
/// Unverify Collection discriminator.
pub(crate) const UNVERIFY_COLLECTION_DISCRIMINATOR: u8 = 22;
pub(crate) const DC_METADATA_MTM_UNVERIFY_COLLECTION_DISCRIMINATOR: u8 = 22;
/// Set And Verify Collection discriminator.
pub(crate) const SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: u8 = 25;
pub(crate) const DC_METADATA_MTM_SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: u8 = 25;
/// Approve Collection Authority discriminator.
pub(crate) const APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR: u8 = 23;
pub(crate) const DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR: u8 = 23;
/// Revoke Collection Authority discriminator.
pub(crate) const REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR: u8 = 24;
pub(crate) const DC_METADATA_MTM_REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR: u8 = 24;
/// Verify Sized Collection Item discriminator.
pub(crate) const VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 30;
pub(crate) const DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 30;
/// Unverify Sized Collection Item discriminator.
pub(crate) const UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 31;
pub(crate) const DC_METADATA_MTM_UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 31;
/// Set And Verify Sized Collection Item discriminator.
pub(crate) const SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 32;
pub(crate) const DC_METADATA_MTM_SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 32;
/// Sign Metadata discriminator.
pub(crate) const SIGN_METADATA_DISCRIMINATOR: u8 = 7;
pub(crate) const DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR: u8 = 7;
/// Update Primary Sale Happened Via Token discriminator.
pub(crate) const UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_DISCRIMINATOR: u8 = 4;
pub(crate) const DC_METADATA_MTM_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_DISCRIMINATOR: u8 = 4;
/// Utilize discriminator.
pub(crate) const UTILIZE_DISCRIMINATOR: u8 = 19;
pub(crate) const DC_METADATA_MTM_UTILIZE_DISCRIMINATOR: u8 = 19;
/// Approve Use Authority discriminator.
pub(crate) const APPROVE_USE_AUTHORITY_DISCRIMINATOR: u8 = 20;
pub(crate) const DC_METADATA_MTM_APPROVE_USE_AUTHORITY_DISCRIMINATOR: u8 = 20;
/// Revoke Use Authority discriminator.
pub(crate) const REVOKE_USE_AUTHORITY_DISCRIMINATOR: u8 = 21;
pub(crate) const DC_METADATA_MTM_REVOKE_USE_AUTHORITY_DISCRIMINATOR: u8 = 21;
/// Puff Metadata discriminator.
pub(crate) const PUFF_METADATA_DISCRIMINATOR: u8 = 14;
pub(crate) const DC_METADATA_MTM_PUFF_METADATA_DISCRIMINATOR: u8 = 14;
/// Freeze Delegated Account discriminator.
pub(crate) const FREEZE_DELEGATED_ACCOUNT_DISCRIMINATOR: u8 = 26;
pub(crate) const DC_METADATA_MTM_FREEZE_DELEGATED_ACCOUNT_DISCRIMINATOR: u8 = 26;
/// Thaw Delegated Account discriminator.
pub(crate) const THAW_DELEGATED_ACCOUNT_DISCRIMINATOR: u8 = 27;
pub(crate) const DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR: u8 = 27;
/// Remove Creator Verification discriminator.
pub(crate) const REMOVE_CREATOR_VERIFICATION_DISCRIMINATOR: u8 = 28;
pub(crate) const DC_METADATA_MTM_REMOVE_CREATOR_VERIFICATION_DISCRIMINATOR: u8 = 28;
/// Set Token Standard discriminator.
pub(crate) const SET_TOKEN_STANDARD_DISCRIMINATOR: u8 = 35;
pub(crate) const DC_METADATA_MTM_SET_TOKEN_STANDARD_DISCRIMINATOR: u8 = 35;
/// Mint New Edition From Master Edition Via Token discriminator.
pub(crate) const MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_TOKEN_DISCRIMINATOR: u8 = 11;
pub(crate) const DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_TOKEN_DISCRIMINATOR: u8 =
11;
/// Mint New Edition From Master Edition Via Vault Proxy discriminator.
pub(crate) const MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_DISCRIMINATOR: u8 = 13;
pub(crate) const DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_DISCRIMINATOR: u8 = 13;
/// Convert Master Edition V1 to V2 discriminator.
pub(crate) const CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR: u8 = 12;
pub(crate) const DC_METADATA_MTM_CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR: u8 = 12;
/// Create Master Edition V3 discriminator.
pub(crate) const CREATE_MASTER_EDITION_V3_DISCRIMINATOR: u8 = 17;
pub(crate) const DC_METADATA_MTM_CREATE_MASTER_EDITION_V3_DISCRIMINATOR: u8 = 17;
/// Set Collection Size discriminator.
pub(crate) const SET_COLLECTION_SIZE_DISCRIMINATOR: u8 = 34;
pub(crate) const DC_METADATA_MTM_SET_COLLECTION_SIZE_DISCRIMINATOR: u8 = 34;
/// Bubblegum Set Collection Size discriminator.
pub(crate) const BUBBLEGUM_SET_COLLECTION_SIZE_DISCRIMINATOR: u8 = 36;
pub(crate) const DC_METADATA_MTM_BUBBLEGUM_SET_COLLECTION_SIZE_DISCRIMINATOR: u8 = 36;
/// Create Escrow Account discriminator.
pub(crate) const CREATE_ESCROW_ACCOUNT_DISCRIMINATOR: u8 = 38;
pub(crate) const DC_METADATA_MTM_CREATE_ESCROW_ACCOUNT_DISCRIMINATOR: u8 = 38;
/// Close Escrow Account discriminator.
pub(crate) const CLOSE_ESCROW_ACCOUNT_DISCRIMINATOR: u8 = 39;
pub(crate) const DC_METADATA_MTM_CLOSE_ESCROW_ACCOUNT_DISCRIMINATOR: u8 = 39;
/// Transfer Out Of Escrow discriminator.
pub(crate) const TRANSFER_OUT_OF_ESCROW_DISCRIMINATOR: u8 = 40;
pub(crate) const DC_METADATA_MTM_TRANSFER_OUT_OF_ESCROW_DISCRIMINATOR: u8 = 40;
/// Collect discriminator.
pub(crate) const COLLECT_DISCRIMINATOR: u8 = 54;
pub(crate) const DC_METADATA_MTM_COLLECT_DISCRIMINATOR: u8 = 54;
/// Historical Burn NFT discriminator.
pub(crate) const BURN_NFT_DISCRIMINATOR: u8 = 29;
pub(crate) const DC_METADATA_MTM_BURN_NFT_DISCRIMINATOR: u8 = 29;
/// Historical Burn Edition NFT discriminator.
pub(crate) const BURN_EDITION_NFT_DISCRIMINATOR: u8 = 37;
pub(crate) const DC_METADATA_MTM_BURN_EDITION_NFT_DISCRIMINATOR: u8 = 37;
/// Burn discriminator.
pub(crate) const BURN_DISCRIMINATOR: u8 = 41;
pub(crate) const DC_METADATA_MTM_BURN_DISCRIMINATOR: u8 = 41;
/// Lock discriminator.
pub(crate) const LOCK_DISCRIMINATOR: u8 = 46;
pub(crate) const DC_METADATA_MTM_LOCK_DISCRIMINATOR: u8 = 46;
/// Unlock discriminator.
pub(crate) const UNLOCK_DISCRIMINATOR: u8 = 47;
pub(crate) const DC_METADATA_MTM_UNLOCK_DISCRIMINATOR: u8 = 47;
/// Transfer discriminator.
pub(crate) const TRANSFER_DISCRIMINATOR: u8 = 49;
pub(crate) const DC_METADATA_MTM_TRANSFER_DISCRIMINATOR: u8 = 49;
/// Close Accounts discriminator.
pub(crate) const CLOSE_ACCOUNTS_DISCRIMINATOR: u8 = 57;
pub(crate) const DC_METADATA_MTM_CLOSE_ACCOUNTS_DISCRIMINATOR: u8 = 57;
/// Modern Create discriminator.
pub(crate) const CREATE_DISCRIMINATOR: u8 = 42;
pub(crate) const DC_METADATA_MTM_CREATE_DISCRIMINATOR: u8 = 42;
/// Modern Mint discriminator.
pub(crate) const MINT_DISCRIMINATOR: u8 = 43;
pub(crate) const DC_METADATA_MTM_MINT_DISCRIMINATOR: u8 = 43;
/// Modern Print discriminator.
pub(crate) const PRINT_DISCRIMINATOR: u8 = 55;
pub(crate) const DC_METADATA_MTM_PRINT_DISCRIMINATOR: u8 = 55;
/// Modern Update discriminator.
pub(crate) const UPDATE_DISCRIMINATOR: u8 = 50;
pub(crate) const DC_METADATA_MTM_UPDATE_DISCRIMINATOR: u8 = 50;
/// Modern Use discriminator.
pub(crate) const USE_DISCRIMINATOR: u8 = 51;
pub(crate) const DC_METADATA_MTM_USE_DISCRIMINATOR: u8 = 51;
/// Modern Verify discriminator.
pub(crate) const VERIFY_DISCRIMINATOR: u8 = 52;
pub(crate) const DC_METADATA_MTM_VERIFY_DISCRIMINATOR: u8 = 52;
/// Modern Unverify discriminator.
pub(crate) const UNVERIFY_DISCRIMINATOR: u8 = 53;
pub(crate) const DC_METADATA_MTM_UNVERIFY_DISCRIMINATOR: u8 = 53;
/// Migrate discriminator.
pub(crate) const MIGRATE_DISCRIMINATOR: u8 = 48;
pub(crate) const DC_METADATA_MTM_MIGRATE_DISCRIMINATOR: u8 = 48;
/// Resize discriminator.
pub(crate) const RESIZE_DISCRIMINATOR: u8 = 56;
pub(crate) const DC_METADATA_MTM_RESIZE_DISCRIMINATOR: u8 = 56;
/// Delegate discriminator.
pub(crate) const DELEGATE_DISCRIMINATOR: u8 = 44;
pub(crate) const DC_METADATA_MTM_DELEGATE_DISCRIMINATOR: u8 = 44;
/// Revoke discriminator.
pub(crate) const REVOKE_DISCRIMINATOR: u8 = 45;
pub(crate) const DC_METADATA_MTM_REVOKE_DISCRIMINATOR: u8 = 45;
/// Current pre-release instruction inventory.
pub(crate) const INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[
(CREATE_METADATA_ACCOUNT_DISCRIMINATOR, "create_metadata_account", true),
pub(crate) const DC_METADATA_MTM_INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[
(
DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR,
DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_DISCRIMINATOR,
"create_metadata_account",
true,
),
(
DC_METADATA_MTM_DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR,
"deprecated_create_master_edition",
true,
),
(
DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR,
DC_METADATA_MTM_DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR,
"deprecated_mint_new_edition_from_master_edition_via_printing_token",
true,
),
(UPDATE_METADATA_ACCOUNT_DISCRIMINATOR, "update_metadata_account", true),
(
UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_DISCRIMINATOR,
DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_DISCRIMINATOR,
"update_metadata_account",
true,
),
(
DC_METADATA_MTM_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_DISCRIMINATOR,
"update_primary_sale_happened_via_token",
false,
),
(
DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR,
DC_METADATA_MTM_DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR,
"deprecated_set_reservation_list",
true,
),
(
DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR,
DC_METADATA_MTM_DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR,
"deprecated_create_reservation_list",
true,
),
(SIGN_METADATA_DISCRIMINATOR, "sign_metadata", false),
(DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR, "sign_metadata", false),
(
DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR,
DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR,
"deprecated_mint_printing_tokens_via_token",
true,
),
(
DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR,
DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR,
"deprecated_mint_printing_tokens",
true,
),
(CREATE_MASTER_EDITION_DISCRIMINATOR, "create_master_edition", true),
(PUFF_METADATA_DISCRIMINATOR, "puff_metadata", false),
(
MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_TOKEN_DISCRIMINATOR,
DC_METADATA_MTM_CREATE_MASTER_EDITION_DISCRIMINATOR,
"create_master_edition",
true,
),
(DC_METADATA_MTM_PUFF_METADATA_DISCRIMINATOR, "puff_metadata", false),
(
DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_TOKEN_DISCRIMINATOR,
"mint_new_edition_from_master_edition_via_token",
false,
),
(
MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_DISCRIMINATOR,
DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_DISCRIMINATOR,
"mint_new_edition_from_master_edition_via_vault_proxy",
true,
),
(
CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR,
DC_METADATA_MTM_CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR,
"convert_master_edition_v1_to_v2",
true,
),
(UPDATE_METADATA_ACCOUNT_V2_DISCRIMINATOR, "update_metadata_account_v2", false),
(CREATE_METADATA_ACCOUNT_V2_DISCRIMINATOR, "create_metadata_account_v2", true),
(CREATE_MASTER_EDITION_V3_DISCRIMINATOR, "create_master_edition_v3", false),
(CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR, "create_metadata_account_v3", false),
(VERIFY_COLLECTION_DISCRIMINATOR, "verify_collection", false),
(UNVERIFY_COLLECTION_DISCRIMINATOR, "unverify_collection", false),
(SET_AND_VERIFY_COLLECTION_DISCRIMINATOR, "set_and_verify_collection", false),
(
APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR,
DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_V2_DISCRIMINATOR,
"update_metadata_account_v2",
false,
),
(
DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V2_DISCRIMINATOR,
"create_metadata_account_v2",
true,
),
(
DC_METADATA_MTM_CREATE_MASTER_EDITION_V3_DISCRIMINATOR,
"create_master_edition_v3",
false,
),
(
DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR,
"create_metadata_account_v3",
false,
),
(DC_METADATA_MTM_VERIFY_COLLECTION_DISCRIMINATOR, "verify_collection", false),
(DC_METADATA_MTM_UNVERIFY_COLLECTION_DISCRIMINATOR, "unverify_collection", false),
(
DC_METADATA_MTM_SET_AND_VERIFY_COLLECTION_DISCRIMINATOR,
"set_and_verify_collection",
false,
),
(
DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR,
"approve_collection_authority",
false,
),
(REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR, "revoke_collection_authority", false),
(
VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR,
DC_METADATA_MTM_REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR,
"revoke_collection_authority",
false,
),
(
DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR,
"verify_sized_collection_item",
false,
),
(
UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR,
DC_METADATA_MTM_UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR,
"unverify_sized_collection_item",
false,
),
(
SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR,
DC_METADATA_MTM_SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR,
"set_and_verify_sized_collection_item",
false,
),
(UTILIZE_DISCRIMINATOR, "utilize", false),
(APPROVE_USE_AUTHORITY_DISCRIMINATOR, "approve_use_authority", false),
(REVOKE_USE_AUTHORITY_DISCRIMINATOR, "revoke_use_authority", false),
(FREEZE_DELEGATED_ACCOUNT_DISCRIMINATOR, "freeze_delegated_account", true),
(THAW_DELEGATED_ACCOUNT_DISCRIMINATOR, "thaw_delegated_account", true),
(REMOVE_CREATOR_VERIFICATION_DISCRIMINATOR, "remove_creator_verification", false),
(SET_TOKEN_STANDARD_DISCRIMINATOR, "set_token_standard", false),
(SET_COLLECTION_SIZE_DISCRIMINATOR, "set_collection_size", false),
(DC_METADATA_MTM_UTILIZE_DISCRIMINATOR, "utilize", false),
(
BUBBLEGUM_SET_COLLECTION_SIZE_DISCRIMINATOR,
DC_METADATA_MTM_APPROVE_USE_AUTHORITY_DISCRIMINATOR,
"approve_use_authority",
false,
),
(
DC_METADATA_MTM_REVOKE_USE_AUTHORITY_DISCRIMINATOR,
"revoke_use_authority",
false,
),
(
DC_METADATA_MTM_FREEZE_DELEGATED_ACCOUNT_DISCRIMINATOR,
"freeze_delegated_account",
true,
),
(
DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR,
"thaw_delegated_account",
true,
),
(
DC_METADATA_MTM_REMOVE_CREATOR_VERIFICATION_DISCRIMINATOR,
"remove_creator_verification",
false,
),
(DC_METADATA_MTM_SET_TOKEN_STANDARD_DISCRIMINATOR, "set_token_standard", false),
(DC_METADATA_MTM_SET_COLLECTION_SIZE_DISCRIMINATOR, "set_collection_size", false),
(
DC_METADATA_MTM_BUBBLEGUM_SET_COLLECTION_SIZE_DISCRIMINATOR,
"bubblegum_set_collection_size",
false,
),
(CREATE_ESCROW_ACCOUNT_DISCRIMINATOR, "create_escrow_account", false),
(CLOSE_ESCROW_ACCOUNT_DISCRIMINATOR, "close_escrow_account", false),
(TRANSFER_OUT_OF_ESCROW_DISCRIMINATOR, "transfer_out_of_escrow", false),
(BURN_NFT_DISCRIMINATOR, "burn_nft", true),
(BURN_EDITION_NFT_DISCRIMINATOR, "burn_edition_nft", true),
(BURN_DISCRIMINATOR, "burn", false),
(CREATE_DISCRIMINATOR, "create", false),
(MINT_DISCRIMINATOR, "mint", false),
(LOCK_DISCRIMINATOR, "lock", false),
(UNLOCK_DISCRIMINATOR, "unlock", false),
(TRANSFER_DISCRIMINATOR, "transfer", false),
(COLLECT_DISCRIMINATOR, "collect", false),
(PRINT_DISCRIMINATOR, "print", false),
(UPDATE_DISCRIMINATOR, "update", false),
(USE_DISCRIMINATOR, "use", false),
(VERIFY_DISCRIMINATOR, "verify", false),
(UNVERIFY_DISCRIMINATOR, "unverify", false),
(MIGRATE_DISCRIMINATOR, "migrate", false),
(RESIZE_DISCRIMINATOR, "resize", false),
(CLOSE_ACCOUNTS_DISCRIMINATOR, "close_accounts", false),
(DELEGATE_DISCRIMINATOR, "delegate", false),
(REVOKE_DISCRIMINATOR, "revoke", false),
(
DC_METADATA_MTM_CREATE_ESCROW_ACCOUNT_DISCRIMINATOR,
"create_escrow_account",
false,
),
(
DC_METADATA_MTM_CLOSE_ESCROW_ACCOUNT_DISCRIMINATOR,
"close_escrow_account",
false,
),
(
DC_METADATA_MTM_TRANSFER_OUT_OF_ESCROW_DISCRIMINATOR,
"transfer_out_of_escrow",
false,
),
(DC_METADATA_MTM_BURN_NFT_DISCRIMINATOR, "burn_nft", true),
(DC_METADATA_MTM_BURN_EDITION_NFT_DISCRIMINATOR, "burn_edition_nft", true),
(DC_METADATA_MTM_BURN_DISCRIMINATOR, "burn", false),
(DC_METADATA_MTM_CREATE_DISCRIMINATOR, "create", false),
(DC_METADATA_MTM_MINT_DISCRIMINATOR, "mint", false),
(DC_METADATA_MTM_LOCK_DISCRIMINATOR, "lock", false),
(DC_METADATA_MTM_UNLOCK_DISCRIMINATOR, "unlock", false),
(DC_METADATA_MTM_TRANSFER_DISCRIMINATOR, "transfer", false),
(DC_METADATA_MTM_COLLECT_DISCRIMINATOR, "collect", false),
(DC_METADATA_MTM_PRINT_DISCRIMINATOR, "print", false),
(DC_METADATA_MTM_UPDATE_DISCRIMINATOR, "update", false),
(DC_METADATA_MTM_USE_DISCRIMINATOR, "use", false),
(DC_METADATA_MTM_VERIFY_DISCRIMINATOR, "verify", false),
(DC_METADATA_MTM_UNVERIFY_DISCRIMINATOR, "unverify", false),
(DC_METADATA_MTM_MIGRATE_DISCRIMINATOR, "migrate", false),
(DC_METADATA_MTM_RESIZE_DISCRIMINATOR, "resize", false),
(DC_METADATA_MTM_CLOSE_ACCOUNTS_DISCRIMINATOR, "close_accounts", false),
(DC_METADATA_MTM_DELEGATE_DISCRIMINATOR, "delegate", false),
(DC_METADATA_MTM_REVOKE_DISCRIMINATOR, "revoke", false),
];
/// Canonical tracing target for this decoder.
pub(crate) const TRACING_TARGET: &str = "kb-lib.decoder.metadata.metaplex_token_metadata";
pub(crate) const DC_METADATA_MTM_TRACING_TARGET: &str =
"kb-lib.decoder.metadata.metaplex_token_metadata";