{ "schema_version": 2, "milestone": "0.1.0-pre.009", "surface_code": "metadata_metaplex_token_metadata", "program_id": "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s", "program_family": "independent_metaplex_foundation_program", "decode_status": "instruction_inventory_exhaustive_0_through_57_and_account_key_inventory_exhaustive_0_through_14", "runtime_registration": "enabled_in_kb_lib_pre_009", "official_sources": [ { "kind": "repository", "value": "metaplex-foundation/mpl-token-metadata", "ref": "main", "status": "verified_2026-07-20" }, { "kind": "rust_sdk", "value": "mpl-token-metadata", "version_requirement": "^5.1", "observed_release": "5.1.1" }, { "kind": "idl", "value": "idls/token_metadata.json", "idl_version": "1.14.0", "sha": "5df4a24f62c2743125be096cc174680790c92c18" }, { "kind": "generated_instruction_inventory", "value": "clients/rust/src/generated/instructions/mod.rs", "sha": "3c42eec629f82e44ba690a7c4bd2177cc78f1d49" } ], "wire_contract": { "instruction_discriminator": "u8", "argument_encoding": "borsh", "unknown_discriminator": "unsupported", "truncated_payload": "failed", "non_canonical_suffix": "pending_per_variant", "foreign_program_id": "incompatible" }, "bounds": { "max_instruction_bytes": 65536, "max_accounts": 256, "max_string_bytes": 4096, "max_uri_bytes": 4096, "max_creators": 64, "max_authorization_payload_bytes": 65536, "max_diagnostics": 64, "instruction_payload_bytes_max": 16384, "instruction_accounts_max": 64, "name_bytes_max": 32, "symbol_bytes_max": 10, "uri_bytes_max": 200, "creators_max": 5, "seller_fee_basis_points_max": 10000 }, "current_sdk_instruction_modules": [ "approve_collection_authority", "approve_use_authority", "bubblegum_set_collection_size", "burn", "burn_edition_nft", "burn_nft", "burn_v1", "close_accounts", "close_escrow_account", "collect", "convert_master_edition_v1_to_v2", "create", "create_escrow_account", "create_master_edition_v3", "create_metadata_account_v3", "create_v1", "delegate", "delegate_authority_item_v1", "delegate_collection_item_v1", "delegate_collection_v1", "delegate_data_item_v1", "delegate_data_v1", "delegate_locked_transfer_v1", "delegate_print_delegate_v1", "delegate_programmable_config_item_v1", "delegate_programmable_config_v1", "delegate_sale_v1", "delegate_staking_v1", "delegate_standard_v1", "delegate_transfer_v1", "delegate_utility_v1", "deprecated_mint_new_edition_from_master_edition_via_printing_token", "freeze_delegated_account", "lock", "lock_v1", "migrate", "mint", "mint_new_edition_from_master_edition_via_token", "mint_new_edition_from_master_edition_via_vault_proxy", "mint_v1", "print", "print_v1", "print_v2", "puff_metadata", "remove_creator_verification", "resize", "revoke", "revoke_authority_item_v1", "revoke_collection_authority", "revoke_collection_item_v1", "revoke_collection_v1", "revoke_data_item_v1", "revoke_data_v1", "revoke_locked_transfer_v1", "revoke_migration_v1", "revoke_print_delegate_v1", "revoke_programmable_config_item_v1", "revoke_programmable_config_v1", "revoke_sale_v1", "revoke_staking_v1", "revoke_standard_v1", "revoke_transfer_v1", "revoke_use_authority", "revoke_utility_v1", "set_and_verify_collection", "set_and_verify_sized_collection_item", "set_collection_size", "set_token_standard", "sign_metadata", "thaw_delegated_account", "transfer", "transfer_out_of_escrow", "transfer_v1", "unlock", "unlock_v1", "unverify", "unverify_collection", "unverify_collection_v1", "unverify_creator_v1", "unverify_sized_collection_item", "update", "update_as_authority_item_delegate_v2", "update_as_collection_delegate_v2", "update_as_collection_item_delegate_v2", "update_as_data_delegate_v2", "update_as_data_item_delegate_v2", "update_as_programmable_config_delegate_v2", "update_as_programmable_config_item_delegate_v2", "update_as_update_authority_v2", "update_metadata_account_v2", "update_primary_sale_happened_via_token", "update_v1", "use", "use_v1", "utilize", "verify", "verify_collection", "verify_collection_v1", "verify_creator_v1", "verify_sized_collection_item" ], "historical_idl": { "instruction_count": 58, "discriminator_range": "0..57", "status": "names_accounts_arguments_and_legacy_optional_rules_pending_exhaustive_extraction" }, "pda_families": [ { "code": "metadata", "seed_shape": [ "metadata", "program_id", "mint" ], "status": "implemented_pre_025" }, { "code": "edition_or_master_edition", "seed_shape": [ "metadata", "program_id", "mint", "edition" ], "status": "implemented_pre_026" }, { "code": "edition_marker", "status": "implemented_pre_027" }, { "code": "collection_authority_record", "status": "implemented_pre_029" }, { "code": "use_authority_record", "status": "implemented_pre_029" }, { "code": "token_record", "status": "implemented_pre_028" }, { "code": "metadata_delegate_record", "status": "implemented_pre_029", "seeds": [ "metadata", "program_id", "mint", "metadata_delegate_role_seed", "update_authority", "delegate" ] }, { "code": "token_owned_escrow", "status": "implemented_pre_030", "token_owner_seeds": [ "metadata", "program_id", "base_token", "0", "escrow" ], "creator_seeds": [ "metadata", "program_id", "base_token", "1", "creator", "escrow" ] }, { "code": "reservation_list_historical", "status": "implemented_pre_031" }, { "code": "holder_delegate_record", "status": "implemented_pre_029", "seeds": [ "metadata", "program_id", "mint", "holder_delegate_role_seed", "owner", "delegate" ] } ], "account_layouts": [ { "name": "Metadata", "status": "implemented_pre_025" }, { "name": "MasterEditionV1", "status": "implemented_pre_026_historical_decode_only" }, { "name": "MasterEditionV2", "status": "implemented_pre_026" }, { "name": "Edition", "status": "implemented_pre_026" }, { "name": "EditionMarker", "status": "implemented_pre_027" }, { "name": "EditionMarkerV2", "status": "implemented_pre_027_experimental" }, { "name": "TokenRecord", "status": "implemented_pre_028" }, { "name": "MetadataDelegateRecord", "status": "implemented_pre_029" }, { "name": "HolderDelegateRecord", "status": "implemented_pre_029" }, { "name": "CollectionAuthorityRecord", "status": "implemented_pre_029" }, { "name": "UseAuthorityRecord", "status": "implemented_pre_029" }, { "name": "TokenOwnedEscrow", "status": "implemented_pre_030" }, { "name": "ReservationListV1V2", "status": "implemented_pre_031_decode_only", "max_entries": 200, "v1_max_bytes": 6949, "v2_max_bytes": 9749, "pda_seeds": [ "metadata", "program_id", "master_edition", "reservation", "resource" ], "execution": "historical_never_execute" } ], "provenance_boundaries": [ "metaplex_token_metadata", "token_2022_embedded_metadata", "metaplex_core", "metaplex_bubblegum" ], "external_json": { "enabled": false, "canonical_replay_dependency": false, "status": "contract_reserved", "ssrf_policy": "required_before_activation" }, "execution": { "enabled": false, "reason": "builders_accounts_preconditions_and_postconditions_not_yet_exhaustively_proved" }, "next_proofs": [ "materialize Metadata facts with one canonical owner per fact and no duplication", "materialize historical account state with explicit lifecycle and provenance" ], "implemented_instruction_groups": [ { "pre_release": "0.4.7-pre.002", "group": "metadata_create_update_v2_v3", "instructions": [ { "name": "UpdateMetadataAccountV2", "code": "update_metadata_account_v2", "discriminator": 15, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" }, { "name": "CreateMetadataAccountV3", "code": "create_metadata_account_v3", "discriminator": 33, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" } ], "wire": "official_borsh_mpl_token_metadata_5_1_1", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.003", "group": "collection_verification_legacy_current", "instructions": [ { "name": "VerifyCollection", "code": "verify_collection", "discriminator": 18, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" }, { "name": "UnverifyCollection", "code": "unverify_collection", "discriminator": 22, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" }, { "name": "SetAndVerifyCollection", "code": "set_and_verify_collection", "discriminator": 25, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" } ], "wire": "single_u8_discriminator_official_mpl_token_metadata_5_1_1", "account_contract": "ordered_required_accounts_plus_optional_collection_authority_record_and_bounded_remaining_accounts", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.004", "group": "sized_collection_item_verification", "instructions": [ { "name": "VerifySizedCollectionItem", "code": "verify_sized_collection_item", "discriminator": 30, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" }, { "name": "UnverifySizedCollectionItem", "code": "unverify_sized_collection_item", "discriminator": 31, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" }, { "name": "SetAndVerifySizedCollectionItem", "code": "set_and_verify_sized_collection_item", "discriminator": 32, "status": "current", "decode": "implemented", "materialize": "pending", "execute": "pending" } ], "wire": "single_u8_discriminator_official_mpl_token_metadata_5_1_1", "account_contract": "ordered_required_accounts_plus_optional_collection_authority_record; collection metadata is writable and collection authority is readonly signer", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.005", "group": "collection_authority_administration", "instructions": [ { "name": "ApproveCollectionAuthority", "code": "approve_collection_authority", "discriminator": 23, "status": "current", "wire": "u8 discriminator only", "required_accounts": 7, "optional_accounts": [ "rent" ], "defaulted_accounts": [ "system_program" ], "execution_policy": "future_current_surface" }, { "name": "RevokeCollectionAuthority", "code": "revoke_collection_authority", "discriminator": 24, "status": "current", "wire": "u8 discriminator only", "required_accounts": 5, "optional_accounts": [], "execution_policy": "future_current_surface" } ], "provenance": "mpl-token-metadata 5.1.1 generated builders", "materialization": "reserved_for_admin_and_lifecycle_pre_release" }, { "pre_release": "0.4.7-pre.006", "group": "use_authority_and_utilization", "instructions": [ { "name": "Utilize", "code": "utilize", "discriminator": 19, "status": "current", "wire": "u8 discriminator + u64 number_of_uses", "required_accounts": 9, "optional_accounts": [ "use_authority_record", "burner" ], "execution_policy": "future_current_surface" }, { "name": "ApproveUseAuthority", "code": "approve_use_authority", "discriminator": 20, "status": "current", "wire": "u8 discriminator + u64 number_of_uses", "required_accounts": 10, "optional_accounts": [ "rent" ], "defaulted_accounts": [ "token_program", "system_program" ], "execution_policy": "future_current_surface" }, { "name": "RevokeUseAuthority", "code": "revoke_use_authority", "discriminator": 21, "status": "current", "wire": "u8 discriminator only", "required_accounts": 8, "optional_accounts": [ "rent" ], "defaulted_accounts": [ "token_program", "system_program" ], "execution_policy": "future_current_surface" } ], "provenance": "mpl-token-metadata 5.1.1 generated builders", "materialization": "reserved_for_metadata_admin_lifecycle_and_risk_audit" }, { "pre_release": "0.4.7-pre.007", "group": "creator_signature_and_primary_sale", "instructions": [ { "name": "UpdatePrimarySaleHappenedViaToken", "code": "update_primary_sale_happened_via_token", "discriminator": 4, "status": "current", "wire": "u8 discriminator only", "required_accounts": 3, "execution_policy": "future_current_surface" }, { "name": "SignMetadata", "code": "sign_metadata", "discriminator": 7, "status": "current", "wire": "u8 discriminator only", "required_accounts": 2, "execution_policy": "future_current_surface" } ], "provenance": "mpl-token-metadata 5.1.1 generated builders", "materialization": "reserved_for_metadata_and_creator_state_pre_release" }, { "pre_release": "0.4.7-pre.008", "group": "metadata_normalization_and_creator_unverification", "instructions": [ { "name": "PuffMetadata", "code": "puff_metadata", "discriminator": 14, "status": "current", "wire": "u8 discriminator only", "required_accounts": 1, "execution_policy": "future_current_surface" }, { "name": "RemoveCreatorVerification", "code": "remove_creator_verification", "discriminator": 28, "status": "current", "wire": "u8 discriminator only", "required_accounts": 2, "execution_policy": "future_current_surface" }, { "name": "SetTokenStandard", "code": "set_token_standard", "discriminator": 35, "status": "current", "wire": "u8 discriminator only", "required_accounts": 3, "optional_accounts": [ "edition" ], "execution_policy": "future_current_surface" } ], "provenance": "mpl-token-metadata 5.1.1 generated builders", "materialization": "reserved_for_metadata_creator_and_asset_classification_pre_release" }, { "pre_release": "0.4.7-pre.009", "group": "historical_metadata_create_v2", "instructions": [ { "name": "CreateMetadataAccountV2", "code": "create_metadata_account_v2", "discriminator": 16, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" } ], "wire": "u8 discriminator + historical DataV2 + bool is_mutable using Borsh 0.10", "account_contract": "metadata, mint, mint_authority signer, payer writable signer, update_authority, system_program, optional rent", "provenance": "historical Metaplex Token Metadata instruction surface; current SDK DataV2 type reused only for exact compatible wire fields", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.010", "group": "historical_metadata_v1_create_update", "instructions": [ { "name": "CreateMetadataAccount", "code": "create_metadata_account", "discriminator": 0, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" }, { "name": "UpdateMetadataAccount", "code": "update_metadata_account", "discriminator": 1, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" } ], "wire": "u8 discriminator + historical Data/Option fields using Borsh 0.10", "provenance": "historical generated Metaplex Token Metadata surface", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.011", "group": "master_edition_creation_and_v1_conversion", "instructions": [ { "name": "CreateMasterEditionV3", "code": "create_master_edition_v3", "discriminator": 17, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "ConvertMasterEditionV1ToV2", "code": "convert_master_edition_v1_to_v2", "discriminator": 12, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" } ], "wire": "CreateMasterEditionV3: u8 discriminator + Option max_supply; conversion: u8 discriminator only", "account_contract": "exact generated Rust SDK account order and signer/writable flags; optional rent accepted for CreateMasterEditionV3", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.012", "group": "printed_edition_mint_token_and_vault_proxy", "instructions": [ { "name": "MintNewEditionFromMasterEditionViaToken", "code": "mint_new_edition_from_master_edition_via_token", "discriminator": 11, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "MintNewEditionFromMasterEditionViaVaultProxy", "code": "mint_new_edition_from_master_edition_via_vault_proxy", "discriminator": 13, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" } ], "wire": "u8 discriminator + MintNewEditionFromMasterEditionViaTokenArgs { edition: u64 }", "account_contract": "exact generated Rust SDK account order and signer/writable flags; optional rent accepted after the required program accounts", "edition_marker_contract": "edition marker PDA is writable and corresponds to floor(edition / EDITION_MARKER_BIT_SIZE); PDA derivation validation remains planned with account decoding", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.013", "group": "collection_size_and_bubblegum_bridge", "instructions": [ { "name": "SetCollectionSize", "code": "set_collection_size", "discriminator": 34, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "BubblegumSetCollectionSize", "code": "bubblegum_set_collection_size", "discriminator": 36, "status": "bridge_current", "decode": "implemented", "materialize": "planned", "execute": "forbidden_until_bubblegum_boundary_proof" } ], "wire": "u8 discriminator + SetCollectionSizeArgs { size: u64 }", "account_contract": "exact generated Rust SDK account order and signer/writable flags; optional collection authority record accepted", "provenance_boundary": "BubblegumSetCollectionSize is decoded as a Token Metadata bridge instruction and does not claim complete Bubblegum coverage", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.014", "group": "programmable_delegate_and_revoke", "instructions": [ { "name": "Delegate", "code": "delegate", "discriminator": 44, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_and_authorization_rules_proof" }, { "name": "Revoke", "code": "revoke", "discriminator": 45, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_and_authorization_rules_proof" } ], "wire": "u8 discriminator + DelegateArgs or RevokeArgs Borsh enum; DelegateArgs may contain optional AuthorizationData", "account_contract": "14 positional accounts with Metaplex program placeholders for absent optional accounts; exact signer/writable invariants on authority, payer, metadata and optional writable records", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.015", "group": "programmable_transfer_lock_unlock_burn_close", "instructions": [ { "name": "Burn", "code": "burn", "discriminator": 41, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Lock", "code": "lock", "discriminator": 46, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Unlock", "code": "unlock", "discriminator": 47, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Transfer", "code": "transfer", "discriminator": 49, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "CloseAccounts", "code": "close_accounts", "discriminator": 57, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "Borsh enums TransferArgs/LockArgs/UnlockArgs/BurnArgs; CloseAccounts discriminator only", "account_contract": "exact generated Rust SDK positional accounts and signer/writable invariants; Metaplex program placeholders accepted for absent optional programmable accounts", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.016", "group": "legacy_delegated_freeze_thaw_and_inventory_audit", "instructions": [ { "name": "FreezeDelegatedAccount", "code": "freeze_delegated_account", "discriminator": 26, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" }, { "name": "ThawDelegatedAccount", "code": "thaw_delegated_account", "discriminator": 27, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" } ], "wire": "u8 discriminator only", "account_contract": "delegate writable signer, token account writable, edition/mint/token program readonly", "inventory_audit": "official generated Rust SDK instruction module index audited; remaining modules are tracked before account-state decoding", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.017", "group": "legacy_nft_burn_and_printing_token_mint", "instructions": [ { "name": "BurnNft", "code": "burn_nft", "discriminator": 29, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" }, { "name": "BurnEditionNft", "code": "burn_edition_nft", "discriminator": 37, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" }, { "name": "DeprecatedMintNewEditionFromMasterEditionViaPrintingToken", "code": "deprecated_mint_new_edition_from_master_edition_via_printing_token", "discriminator": 3, "status": "deprecated_historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden_historical" } ], "wire": "u8 discriminator only", "account_contract": "exact generated Rust SDK positional signer/writable contracts; BurnNft collection metadata, deprecated printing-token reservation list are optional trailing accounts", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.018", "group": "escrow_transfer_and_collect", "instructions": [ { "name": "CreateEscrowAccount", "code": "create_escrow_account", "discriminator": 38, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "CloseEscrowAccount", "code": "close_escrow_account", "discriminator": 39, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "TransferOutOfEscrow", "code": "transfer_out_of_escrow", "discriminator": 40, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Collect", "code": "collect", "discriminator": 54, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_authority_proof" } ], "wire": "Create/Close/Collect discriminator only; TransferOutOfEscrow discriminator + amount u64", "account_contract": "exact generated Rust SDK signer/writable contracts with optional trailing authority on create and transfer", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.019", "group": "modern_create_wrapper", "instructions": [ { "name": "Create", "code": "create", "discriminator": 42, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "u8 discriminator + CreateArgs enum", "account_contract": "nine positional accounts with Metaplex placeholders for optional master edition and SPL Token Program", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.020", "group": "modern_mint_wrapper", "instructions": [ { "name": "Mint", "code": "mint", "discriminator": 43, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "u8 discriminator + MintArgs::V1 { amount: u64, authorization_data: Option }", "account_contract": "fifteen positional accounts with Metaplex placeholders for optional token owner, master edition, token record, delegate record and authorization-rule accounts", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.021", "group": "modern_print_wrapper", "instructions": [ { "name": "Print", "code": "print", "discriminator": 55, "variants": [ "V1", "V2" ], "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "u8 discriminator + PrintArgs::{V1,V2} { edition: u64 }", "account_contract": "eighteen positional accounts with a Metaplex placeholder or writable Token Record at position 6", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.022", "group": "modern_update_wrapper", "instructions": [ { "name": "Update", "code": "update", "discriminator": 50, "variants": [ "V1", "AsUpdateAuthorityV2", "AsAuthorityItemDelegateV2", "AsCollectionDelegateV2", "AsDataDelegateV2", "AsProgrammableConfigDelegateV2", "AsDataItemDelegateV2", "AsCollectionItemDelegateV2", "AsProgrammableConfigItemDelegateV2" ], "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "u8 discriminator + UpdateArgs enum", "account_contract": "eleven positional accounts with Metaplex placeholders for optional delegate record, token, edition and authorization-rule accounts", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.023", "group": "modern_use_verify_unverify_wrappers", "instructions": [ { "name": "Use", "code": "use", "discriminator": 51, "variants": [ "V1" ], "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Verify", "code": "verify", "discriminator": 52, "variants": [ "CreatorV1", "CollectionV1" ], "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Unverify", "code": "unverify", "discriminator": 53, "variants": [ "CreatorV1", "CollectionV1" ], "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "u8 discriminator + UseArgs or VerificationArgs enum", "account_contract": "twelve positional accounts for Use; eight positional accounts for Verify/Unverify, with Metaplex placeholders for optional accounts", "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "pre_release": "0.4.7-pre.024", "group": "final_instruction_inventory_resize_migrate_and_legacy_gaps", "instructions": [ { "name": "DeprecatedCreateMasterEdition", "code": "deprecated_create_master_edition", "discriminator": 2, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden" }, { "name": "DeprecatedSetReservationList", "code": "deprecated_set_reservation_list", "discriminator": 5, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden" }, { "name": "DeprecatedCreateReservationList", "code": "deprecated_create_reservation_list", "discriminator": 6, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden" }, { "name": "DeprecatedMintPrintingTokensViaToken", "code": "deprecated_mint_printing_tokens_via_token", "discriminator": 8, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden" }, { "name": "DeprecatedMintPrintingTokens", "code": "deprecated_mint_printing_tokens", "discriminator": 9, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden" }, { "name": "CreateMasterEdition", "code": "create_master_edition", "discriminator": 10, "status": "historical", "decode": "implemented", "materialize": "planned", "execute": "forbidden" }, { "name": "Migrate", "code": "migrate", "discriminator": 48, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" }, { "name": "Resize", "code": "resize", "discriminator": 56, "status": "current", "decode": "implemented", "materialize": "planned", "execute": "planned_after_stateful_proof" } ], "wire": "u8 discriminator only", "account_contract": "exact IDL/generated positional signer and writable flags", "runtime_registration": "enabled_in_kb_lib_pre_009", "inventory_proof": { "covered_discriminators": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 ], "missing_discriminators": [], "coverage_entries": 58 } } ], "implemented_account_groups": [ { "group": "metadata_account_v1", "layouts": [ "MetadataV1" ], "owner_validation": "exact_metaplex_token_metadata_program", "pda_seeds": [ "metadata", "program_id", "mint" ], "bounds": { "account_bytes": 1024, "name_bytes": 32, "symbol_bytes": 10, "uri_bytes": 200, "creators": 5 }, "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "group": "edition_and_master_edition_accounts", "status": "implemented_pre_026", "layouts": [ "DeprecatedMasterEditionV1", "MasterEditionV2", "EditionV1" ], "owner": "mpl_token_metadata_program", "pda_seeds": [ "metadata", "program_id", "mint", "edition" ], "bounds": { "max_account_bytes": 128, "edition_v1_exact_bytes": 41 }, "policy": { "DeprecatedMasterEditionV1": "historical_decode_only", "MasterEditionV2": "active_state", "EditionV1": "active_state" } }, { "group": "edition_marker_accounts", "status": "implemented_pre_027", "layouts": [ "EditionMarker", "EditionMarkerV2" ], "owner": "mpl_token_metadata_program", "pda_seeds": { "EditionMarker": [ "metadata", "program_id", "mint", "edition", "edition_div_248_decimal" ], "EditionMarkerV2": [ "metadata", "program_id", "mint", "edition", "marker" ] }, "bitmap": { "EditionMarker": { "ledger_bytes": 31, "editions_per_group": 248, "bit_order": "most_significant_bit_first" }, "EditionMarkerV2": { "ledger": "borsh_vec_u8", "max_decoder_ledger_bytes": 1048576, "bit_order": "most_significant_bit_first" } }, "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "group": "token_record_account", "status": "implemented_pre_028", "layouts": [ "TokenRecord" ], "owner": "mpl_token_metadata_program", "length": 80, "pda_seeds": [ "metadata", "program_id", "mint", "token_record", "token_account" ], "fields": [ "bump", "state", "rule_set_revision", "delegate", "delegate_role", "locked_transfer" ], "token_states": [ "Unlocked", "Locked", "Listed" ], "delegate_roles": [ "Sale", "Transfer", "Utility", "Staking", "Standard", "LockedTransfer", "Migration" ], "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "group": "delegate_and_authority_records", "status": "implemented_pre_029", "layouts": [ "MetadataDelegateRecord", "HolderDelegateRecord", "CollectionAuthorityRecord", "UseAuthorityRecord" ], "owner": "mpl_token_metadata_program", "lengths": { "MetadataDelegateRecord": 98, "HolderDelegateRecord": 98, "CollectionAuthorityRecord": "3_or_35", "UseAuthorityRecord": 10 }, "pda_seeds": { "MetadataDelegateRecord": [ "metadata", "program_id", "mint", "metadata_delegate_role_seed", "update_authority", "delegate" ], "HolderDelegateRecord": [ "metadata", "program_id", "mint", "holder_delegate_role_seed", "owner", "delegate" ], "CollectionAuthorityRecord": [ "metadata", "program_id", "mint", "collection_authority", "authority" ], "UseAuthorityRecord": [ "metadata", "program_id", "mint", "user", "authority" ] }, "metadata_delegate_role_seeds": [ "authority_item_delegate", "collection_delegate", "use_delegate", "data_delegate", "programmable_config_delegate", "data_item_delegate", "collection_item_delegate", "prog_config_item_delegate" ], "holder_delegate_role_seeds": [ "print_delegate" ], "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "group": "token_owned_escrow_account", "status": "implemented_pre_030", "layouts": [ "TokenOwnedEscrow" ], "owner": "mpl_token_metadata_program", "lengths": { "TokenOwner": 35, "Creator": 67 }, "fields": [ "base_token", "authority", "bump" ], "pda_seeds": { "TokenOwner": [ "metadata", "program_id", "base_token", "0", "escrow" ], "Creator": [ "metadata", "program_id", "base_token", "1", "creator", "escrow" ] }, "stateful_instruction_effects": { "CreateEscrowAccount": "creates canonical escrow snapshot", "CloseEscrowAccount": "closes canonical escrow snapshot", "TransferOutOfEscrow": "changes escrow-held attribute state without changing account identity", "Migrate": "may create or update related programmable records; correlation pending", "Resize": "changes allocated account bytes without changing canonical identity" }, "runtime_registration": "enabled_in_kb_lib_pre_009" }, { "group": "historical_reservation_lists", "status": "implemented_pre_031_decode_only", "layouts": [ "ReservationListV1", "ReservationListV2" ], "max_entries": 200, "padding_policy": "zero_only" }, { "release": "0.4.7-pre.032", "name": "exhaustive_account_key_audit", "status": "implemented", "published_discriminants": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ], "missing": [], "future_unknown_policy": "fail_closed" } ], "account_key_inventory": [ { "key": "Uninitialized", "discriminant": 0, "decoder": "reject_uninitialized", "lifecycle": "sentinel" }, { "key": "EditionV1", "discriminant": 1, "decoder": "decode_edition_account", "lifecycle": "active" }, { "key": "MasterEditionV1", "discriminant": 2, "decoder": "decode_edition_account", "lifecycle": "historical_materializable" }, { "key": "ReservationListV1", "discriminant": 3, "decoder": "decode_reservation_list_account", "lifecycle": "historical_materializable" }, { "key": "MetadataV1", "discriminant": 4, "decoder": "decode_metadata_account", "lifecycle": "active" }, { "key": "ReservationListV2", "discriminant": 5, "decoder": "decode_reservation_list_account", "lifecycle": "historical_materializable" }, { "key": "MasterEditionV2", "discriminant": 6, "decoder": "decode_edition_account", "lifecycle": "active" }, { "key": "EditionMarker", "discriminant": 7, "decoder": "decode_edition_marker_account", "lifecycle": "active" }, { "key": "UseAuthorityRecord", "discriminant": 8, "decoder": "decode_use_authority_record_account", "lifecycle": "active" }, { "key": "CollectionAuthorityRecord", "discriminant": 9, "decoder": "decode_collection_authority_record_account", "lifecycle": "active" }, { "key": "TokenOwnedEscrow", "discriminant": 10, "decoder": "decode_token_owned_escrow_account", "lifecycle": "active" }, { "key": "TokenRecord", "discriminant": 11, "decoder": "decode_token_record_account", "lifecycle": "active" }, { "key": "MetadataDelegate", "discriminant": 12, "decoder": "decode_metadata_delegate_record_account", "lifecycle": "active" }, { "key": "EditionMarkerV2", "discriminant": 13, "decoder": "decode_edition_marker_account", "lifecycle": "active_experimental" }, { "key": "HolderDelegate", "discriminant": 14, "decoder": "decode_holder_delegate_record_account", "lifecycle": "active" } ], "account_inventory_proof": { "published_key_discriminants": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ], "missing_discriminants": [], "published_variants": 15, "decoded_layout_variants": 14, "explicit_sentinel_rejections": 1, "unknown_future_policy": "fail_closed_until_inventory_and_decoder_are_updated", "status": "implemented_pre_032" }, "canonical_account_model": { "status": "implemented_pre_033", "canonical_version": 1, "stable_identity": "program_id:account_address", "lifecycle_classes": [ "active", "active_experimental", "historical" ], "materialization_policies": { "active": "active_state", "active_experimental": "active_state", "historical": "historical_state" }, "execution_policies": { "active": "current_candidate", "active_experimental": "experimental_candidate", "historical": "never_historical" }, "provenance_fields": [ "source", "slot", "write_version", "signature", "instruction_index", "inner_instruction_index", "committed" ], "observation_sources": [ "live", "replay", "backfill", "repair", "synthetic" ], "historical_policy": "historical layouts remain materializable during backfill/replay but are never executable" }, "materialization_policy": { "decoder_rule": "decode every identifiable historical/current/experimental published wire and account layout", "materializer_rule": "materialize every stable proven fact including historical/deprecated state with explicit lifecycle and provenance", "executor_rule": "execute current or experimental callable operations only; historical and obsolete operations are never executable", "state_authority": "owned account snapshots are authoritative for final state; instruction observations do not duplicate the same state", "implemented_pre_034": [ "MetadataV1 canonical active-state projection", "creator/collection/uses/token-standard/programmable-config bounded payload retention", "committed provenance requirement", "stable account-based output identity" ] }, "next_proof": "edition, marker, delegate, token-record, escrow and historical-state materialization without duplicates" }