// file: kb-lib/src/decoder/metadata/metaplex_token_metadata/constants.rs // version: 30 //! Internal constants for Metaplex Token Metadata decoding. /// Stable decoder surface code. pub(crate) const DC_METADATA_MTM_SURFACE_CODE: &str = "metadata_metaplex_token_metadata"; /// Maximum retained instruction payload size. pub(crate) const DC_METADATA_MTM_MAX_INSTRUCTION_BYTES: usize = 16_384; /// Maximum encoded base64 instruction payload size. pub(crate) const DC_METADATA_MTM_MAX_BASE64_BYTES: usize = 21_852; /// Maximum number of instruction accounts accepted by this decoder. pub(crate) const DC_METADATA_MTM_MAX_INSTRUCTION_ACCOUNTS: usize = 64; /// Number of bytes retained in malformed-wire diagnostics. pub(crate) const DC_METADATA_MTM_DIAGNOSTIC_PREFIX_BYTES: usize = 32; /// Stable event payload contract version. pub(crate) const DC_METADATA_MTM_EVENT_VERSION: u32 = 1; /// Deprecated Create Master Edition discriminator. pub(crate) const DC_METADATA_MTM_DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR: u8 = 2; /// Deprecated Set Reservation List discriminator. pub(crate) const DC_METADATA_MTM_DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR: u8 = 5; /// Deprecated Create Reservation List discriminator. pub(crate) const DC_METADATA_MTM_DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR: u8 = 6; /// Deprecated Mint Printing Tokens Via Token discriminator. pub(crate) const DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR: u8 = 8; /// Deprecated Mint Printing Tokens discriminator. pub(crate) const DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR: u8 = 9; /// Historical Create Master Edition discriminator. pub(crate) const DC_METADATA_MTM_CREATE_MASTER_EDITION_DISCRIMINATOR: u8 = 10; /// Deprecated printing-token mint-new-edition discriminator. pub(crate) const DC_METADATA_MTM_DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR: u8 = 3; /// Historical Create Metadata Account discriminator. pub(crate) const DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_DISCRIMINATOR: u8 = 0; /// Historical Update Metadata Account discriminator. pub(crate) const DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_DISCRIMINATOR: u8 = 1; /// Historical Create Metadata Account V2 discriminator. pub(crate) const DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V2_DISCRIMINATOR: u8 = 16; /// Create Metadata Account V3 discriminator. pub(crate) const DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR: u8 = 33; /// Update Metadata Account V2 discriminator. pub(crate) const DC_METADATA_MTM_UPDATE_METADATA_ACCOUNT_V2_DISCRIMINATOR: u8 = 15; /// Verify Collection discriminator. pub(crate) const DC_METADATA_MTM_VERIFY_COLLECTION_DISCRIMINATOR: u8 = 18; /// Unverify Collection discriminator. pub(crate) const DC_METADATA_MTM_UNVERIFY_COLLECTION_DISCRIMINATOR: u8 = 22; /// Set And Verify Collection discriminator. pub(crate) const DC_METADATA_MTM_SET_AND_VERIFY_COLLECTION_DISCRIMINATOR: u8 = 25; /// Approve Collection Authority discriminator. pub(crate) const DC_METADATA_MTM_APPROVE_COLLECTION_AUTHORITY_DISCRIMINATOR: u8 = 23; /// Revoke Collection Authority discriminator. pub(crate) const DC_METADATA_MTM_REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR: u8 = 24; /// Verify Sized Collection Item discriminator. pub(crate) const DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 30; /// Unverify Sized Collection Item discriminator. pub(crate) const DC_METADATA_MTM_UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 31; /// Set And Verify Sized Collection Item discriminator. pub(crate) const DC_METADATA_MTM_SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR: u8 = 32; /// Sign Metadata discriminator. pub(crate) const DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR: u8 = 7; /// Update Primary Sale Happened Via Token discriminator. pub(crate) const DC_METADATA_MTM_UPDATE_PRIMARY_SALE_HAPPENED_VIA_TOKEN_DISCRIMINATOR: u8 = 4; /// Utilize discriminator. pub(crate) const DC_METADATA_MTM_UTILIZE_DISCRIMINATOR: u8 = 19; /// Approve Use Authority discriminator. pub(crate) const DC_METADATA_MTM_APPROVE_USE_AUTHORITY_DISCRIMINATOR: u8 = 20; /// Revoke Use Authority discriminator. pub(crate) const DC_METADATA_MTM_REVOKE_USE_AUTHORITY_DISCRIMINATOR: u8 = 21; /// Puff Metadata discriminator. pub(crate) const DC_METADATA_MTM_PUFF_METADATA_DISCRIMINATOR: u8 = 14; /// Freeze Delegated Account discriminator. pub(crate) const DC_METADATA_MTM_FREEZE_DELEGATED_ACCOUNT_DISCRIMINATOR: u8 = 26; /// Thaw Delegated Account discriminator. pub(crate) const DC_METADATA_MTM_THAW_DELEGATED_ACCOUNT_DISCRIMINATOR: u8 = 27; /// Remove Creator Verification discriminator. pub(crate) const DC_METADATA_MTM_REMOVE_CREATOR_VERIFICATION_DISCRIMINATOR: u8 = 28; /// Set Token Standard discriminator. pub(crate) const DC_METADATA_MTM_SET_TOKEN_STANDARD_DISCRIMINATOR: u8 = 35; /// Mint New Edition From Master Edition Via Token discriminator. 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 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 DC_METADATA_MTM_CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR: u8 = 12; /// Create Master Edition V3 discriminator. pub(crate) const DC_METADATA_MTM_CREATE_MASTER_EDITION_V3_DISCRIMINATOR: u8 = 17; /// Set Collection Size discriminator. pub(crate) const DC_METADATA_MTM_SET_COLLECTION_SIZE_DISCRIMINATOR: u8 = 34; /// Bubblegum Set Collection Size discriminator. pub(crate) const DC_METADATA_MTM_BUBBLEGUM_SET_COLLECTION_SIZE_DISCRIMINATOR: u8 = 36; /// Create Escrow Account discriminator. pub(crate) const DC_METADATA_MTM_CREATE_ESCROW_ACCOUNT_DISCRIMINATOR: u8 = 38; /// Close Escrow Account discriminator. pub(crate) const DC_METADATA_MTM_CLOSE_ESCROW_ACCOUNT_DISCRIMINATOR: u8 = 39; /// Transfer Out Of Escrow discriminator. pub(crate) const DC_METADATA_MTM_TRANSFER_OUT_OF_ESCROW_DISCRIMINATOR: u8 = 40; /// Collect discriminator. pub(crate) const DC_METADATA_MTM_COLLECT_DISCRIMINATOR: u8 = 54; /// Historical Burn NFT discriminator. pub(crate) const DC_METADATA_MTM_BURN_NFT_DISCRIMINATOR: u8 = 29; /// Historical Burn Edition NFT discriminator. pub(crate) const DC_METADATA_MTM_BURN_EDITION_NFT_DISCRIMINATOR: u8 = 37; /// Burn discriminator. pub(crate) const DC_METADATA_MTM_BURN_DISCRIMINATOR: u8 = 41; /// Lock discriminator. pub(crate) const DC_METADATA_MTM_LOCK_DISCRIMINATOR: u8 = 46; /// Unlock discriminator. pub(crate) const DC_METADATA_MTM_UNLOCK_DISCRIMINATOR: u8 = 47; /// Transfer discriminator. pub(crate) const DC_METADATA_MTM_TRANSFER_DISCRIMINATOR: u8 = 49; /// Close Accounts discriminator. pub(crate) const DC_METADATA_MTM_CLOSE_ACCOUNTS_DISCRIMINATOR: u8 = 57; /// Modern Create discriminator. pub(crate) const DC_METADATA_MTM_CREATE_DISCRIMINATOR: u8 = 42; /// Modern Mint discriminator. pub(crate) const DC_METADATA_MTM_MINT_DISCRIMINATOR: u8 = 43; /// Modern Print discriminator. pub(crate) const DC_METADATA_MTM_PRINT_DISCRIMINATOR: u8 = 55; /// Modern Update discriminator. pub(crate) const DC_METADATA_MTM_UPDATE_DISCRIMINATOR: u8 = 50; /// Modern Use discriminator. pub(crate) const DC_METADATA_MTM_USE_DISCRIMINATOR: u8 = 51; /// Modern Verify discriminator. pub(crate) const DC_METADATA_MTM_VERIFY_DISCRIMINATOR: u8 = 52; /// Modern Unverify discriminator. pub(crate) const DC_METADATA_MTM_UNVERIFY_DISCRIMINATOR: u8 = 53; /// Migrate discriminator. pub(crate) const DC_METADATA_MTM_MIGRATE_DISCRIMINATOR: u8 = 48; /// Resize discriminator. pub(crate) const DC_METADATA_MTM_RESIZE_DISCRIMINATOR: u8 = 56; /// Delegate discriminator. pub(crate) const DC_METADATA_MTM_DELEGATE_DISCRIMINATOR: u8 = 44; /// Revoke discriminator. pub(crate) const DC_METADATA_MTM_REVOKE_DISCRIMINATOR: u8 = 45; /// Current pre-release instruction inventory. pub(crate) const DC_METADATA_MTM_INSTRUCTION_ENTRIES: &[(u8, &str, bool)] = &[ ( DC_METADATA_MTM_CREATE_METADATA_ACCOUNT_DISCRIMINATOR, "create_metadata_account", true, ), ( DC_METADATA_MTM_DEPRECATED_CREATE_MASTER_EDITION_DISCRIMINATOR, "deprecated_create_master_edition", true, ), ( DC_METADATA_MTM_DEPRECATED_MINT_NEW_EDITION_VIA_PRINTING_TOKEN_DISCRIMINATOR, "deprecated_mint_new_edition_from_master_edition_via_printing_token", true, ), ( 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, ), ( DC_METADATA_MTM_DEPRECATED_SET_RESERVATION_LIST_DISCRIMINATOR, "deprecated_set_reservation_list", true, ), ( DC_METADATA_MTM_DEPRECATED_CREATE_RESERVATION_LIST_DISCRIMINATOR, "deprecated_create_reservation_list", true, ), (DC_METADATA_MTM_SIGN_METADATA_DISCRIMINATOR, "sign_metadata", false), ( DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_VIA_TOKEN_DISCRIMINATOR, "deprecated_mint_printing_tokens_via_token", true, ), ( DC_METADATA_MTM_DEPRECATED_MINT_PRINTING_TOKENS_DISCRIMINATOR, "deprecated_mint_printing_tokens", true, ), ( 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, ), ( DC_METADATA_MTM_MINT_NEW_EDITION_FROM_MASTER_EDITION_VIA_VAULT_PROXY_DISCRIMINATOR, "mint_new_edition_from_master_edition_via_vault_proxy", true, ), ( DC_METADATA_MTM_CONVERT_MASTER_EDITION_V1_TO_V2_DISCRIMINATOR, "convert_master_edition_v1_to_v2", true, ), ( 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, ), ( DC_METADATA_MTM_REVOKE_COLLECTION_AUTHORITY_DISCRIMINATOR, "revoke_collection_authority", false, ), ( DC_METADATA_MTM_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR, "verify_sized_collection_item", false, ), ( DC_METADATA_MTM_UNVERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR, "unverify_sized_collection_item", false, ), ( DC_METADATA_MTM_SET_AND_VERIFY_SIZED_COLLECTION_ITEM_DISCRIMINATOR, "set_and_verify_sized_collection_item", false, ), (DC_METADATA_MTM_UTILIZE_DISCRIMINATOR, "utilize", false), ( 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, ), ( 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_DECODER_METADATA_METAPLEX_TOKEN_METADATA: &str = "kb-lib.decoder.metadata.metaplex_token_metadata";