{ "schemaVersion": 1, "surface": "metadata.solana_program_metadata", "programId": "ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S", "stableProgramReleases": [ "program@v1.0.0", "program@v1.0.1" ], "sourceOfTruth": { "runtime": "solana-program/program-metadata program@v1.0.1 processor sources", "sdkContract": "Codama IDL version 0.0.0 and generated client", "localIdl": "idls/metadata.ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S.solana_program_metadata.V0_0_0.from_github_solana_program.json" }, "instructions": [ { "tag": 0, "code": "write", "stable": true, "body": "u32 offset followed by optional remainder bytes", "positionalAccounts": 3, "remainingAccountsAcceptedByRuntime": true, "runtimeCompatibility": "exactly one source: inline remainder bytes or source-buffer account" }, { "tag": 1, "code": "initialize", "stable": true, "body": "16-byte seed, encoding, compression, format, data-source, optional remainder bytes", "positionalAccounts": 5, "remainingAccountsAcceptedByRuntime": true, "runtimeCompatibility": "empty remainder is valid only when the metadata PDA is a preallocated Buffer" }, { "tag": 2, "code": "set_authority", "stable": true, "body": "u8 option flag followed by zero or 32 public-key bytes", "positionalAccounts": 4, "remainingAccountsAcceptedByRuntime": false, "runtimeCompatibility": "flag zero removes a canonical Metadata authority and ignores suffix bytes; Buffer authority removal fails at runtime" }, { "tag": 3, "code": "set_data", "stable": true, "body": "encoding, compression, format, optional data-source and optional remainder bytes", "positionalAccounts": 5, "remainingAccountsAcceptedByRuntime": true, "runtimeCompatibility": "three-byte processor form preserves existing data; otherwise exactly one source is selected between inline bytes and Buffer" }, { "tag": 4, "code": "set_immutable", "stable": true, "body": "no SDK arguments", "positionalAccounts": 4, "remainingAccountsAcceptedByRuntime": false, "runtimeCompatibility": "processor ignores instruction suffix bytes" }, { "tag": 5, "code": "trim", "stable": true, "body": "no SDK arguments", "positionalAccounts": 6, "remainingAccountsAcceptedByRuntime": false, "runtimeCompatibility": "processor ignores instruction suffix bytes" }, { "tag": 6, "code": "close", "stable": true, "body": "no SDK arguments", "positionalAccounts": 5, "remainingAccountsAcceptedByRuntime": false, "runtimeCompatibility": "processor ignores instruction suffix bytes" }, { "tag": 7, "code": "allocate", "stable": true, "body": "empty for a keypair Buffer or exactly one 16-byte PDA seed", "positionalAccounts": 5, "remainingAccountsAcceptedByRuntime": true, "runtimeCompatibility": "keypair form requires Buffer and authority to be the same account; PDA form requires distinct accounts" }, { "tag": 8, "code": "extend", "stable": true, "body": "u16 little-endian length", "positionalAccounts": 4, "remainingAccountsAcceptedByRuntime": true, "runtimeCompatibility": "current runtime contract" } ], "historyAudit": { "obsoleteUniqueDiscriminators": 0, "renamedTag5PreStable": "withdraw_excess_lamports", "renamedTag5Current": "trim", "tag5Discriminator": 5, "duplicateHistoricalCoverageEntry": false, "preStableWipWireLayouts": "not_declared_without_cluster_evidence", "decision": "decode tag 5 as the stable Trim contract and retain the pre-stable name only as provenance" }, "surfaceBoundaries": { "metaplexTokenMetadata": "separate program and decoder", "token2022TokenMetadata": "separate Token-2022 interface implementation", "offchainResolution": false } }