// file: kb-program-ids/src/constants.rs // version: 5 //! Canonical Solana program and well-known account identifiers. /// SPL Associated Token Account program identifier. pub const ASSOCIATED_TOKEN_PROGRAM_ID: &str = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"; /// Address Lookup Table program identifier. pub const ADDRESS_LOOKUP_TABLE_PROGRAM_ID: &str = "AddressLookupTab1e1111111111111111111111111"; /// Deprecated BPF Loader program identifier. pub const BPF_LOADER_DEPRECATED_PROGRAM_ID: &str = "BPFLoader1111111111111111111111111111111111"; /// BPF Loader version 2 program identifier. pub const BPF_LOADER_PROGRAM_ID: &str = "BPFLoader2111111111111111111111111111111111"; /// Upgradeable BPF Loader program identifier. pub const BPF_LOADER_UPGRADEABLE_PROGRAM_ID: &str = "BPFLoaderUpgradeab1e11111111111111111111111"; /// Compute Budget program identifier. pub const COMPUTE_BUDGET_PROGRAM_ID: &str = "ComputeBudget111111111111111111111111111111"; /// Config program identifier. pub const CONFIG_PROGRAM_ID: &str = "Config1111111111111111111111111111111111111"; /// Ed25519 precompile program identifier. pub const ED25519_PROGRAM_ID: &str = "Ed25519SigVerify111111111111111111111111111"; /// Feature program identifier. pub const FEATURE_PROGRAM_ID: &str = "Feature111111111111111111111111111111111111"; /// Incinerator well-known account identifier. pub const INCINERATOR_PROGRAM_ID: &str = "1nc1nerator11111111111111111111111111111111"; /// Loader version 4 program identifier. pub const LOADER_V4_PROGRAM_ID: &str = "LoaderV411111111111111111111111111111111111"; /// Native Loader program identifier. pub const NATIVE_LOADER_PROGRAM_ID: &str = "NativeLoader1111111111111111111111111111111"; /// Metaplex Token Metadata program identifier. pub const METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID: &str = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s"; /// Secp256k1 precompile program identifier. pub const SECP256K1_PROGRAM_ID: &str = "KeccakSecp256k11111111111111111111111111111"; /// Secp256r1 precompile program identifier. pub const SECP256R1_PROGRAM_ID: &str = "Secp256r1SigVerify1111111111111111111111111"; /// Enshrined stateless Slashing program identifier. pub const SLASHING_PROGRAM_ID: &str = "S1ashing11111111111111111111111111111111111"; /// Historical SPL Memo v1 program identifier. pub const SPL_MEMO_V1_PROGRAM_ID: &str = "Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo"; /// Historical SPL Memo v3 program identifier. pub const SPL_MEMO_V3_PROGRAM_ID: &str = "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"; /// Current SPL Memo v4 program identifier. pub const SPL_MEMO_V4_PROGRAM_ID: &str = "Memo4c2pN8afCj432Lb7RMVKi9PbQnnW7ewFFaV3oAH"; /// Classic SPL Token program identifier. pub const SPL_TOKEN_PROGRAM_ID: &str = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"; /// SPL Token-2022 program identifier. pub const SPL_TOKEN2022_PROGRAM_ID: &str = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"; /// SPL Token-2022 ElGamal public-key registry program identifier. pub const SPL_TOKEN2022_ELGAMAL_REGISTRY_PROGRAM_ID: &str = "regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg"; /// Historical Stake configuration account identifier. pub const STAKE_CONFIG_ACCOUNT_ID: &str = "StakeConfig11111111111111111111111111111111"; /// Compatibility alias for the historical Stake configuration account identifier. pub const STAKE_CONFIG_PROGRAM_ID: &str = crate::STAKE_CONFIG_ACCOUNT_ID; /// Stake program identifier. pub const STAKE_PROGRAM_ID: &str = "Stake11111111111111111111111111111111111111"; /// System program identifier. pub const SYSTEM_PROGRAM_ID: &str = "11111111111111111111111111111111"; /// Clock sysvar account identifier. pub const SYSVAR_CLOCK_PROGRAM_ID: &str = "SysvarC1ock11111111111111111111111111111111"; /// Instructions sysvar account identifier. pub const SYSVAR_INSTRUCTIONS_PROGRAM_ID: &str = "Sysvar1nstructions1111111111111111111111111"; /// Rent sysvar account identifier. pub const SYSVAR_RENT_PROGRAM_ID: &str = "SysvarRent111111111111111111111111111111111"; /// Slot Hashes sysvar account identifier. pub const SYSVAR_SLOT_HASHES_PROGRAM_ID: &str = "SysvarS1otHashes111111111111111111111111111"; /// Stake History sysvar account identifier. pub const SYSVAR_STAKE_HISTORY_PROGRAM_ID: &str = "SysvarStakeHistory1111111111111111111111111"; /// Vote program identifier. pub const VOTE_PROGRAM_ID: &str = "Vote111111111111111111111111111111111111111"; /// ZK ElGamal Proof program identifier. pub const ZK_ELGAMAL_PROOF_PROGRAM_ID: &str = "ZkE1Gama1Proof11111111111111111111111111111"; /// ZK Token Proof program identifier. pub const ZK_TOKEN_PROOF_PROGRAM_ID: &str = "ZkTokenProof1111111111111111111111111111111"; pub(crate) const NATIVE_PROGRAM_ID_ENTRIES: &[crate::ProgramIdEntry] = &[ crate::ProgramIdEntry { name: "address_lookup_table", address: crate::ADDRESS_LOOKUP_TABLE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "bpf_loader_deprecated", address: crate::BPF_LOADER_DEPRECATED_PROGRAM_ID, }, crate::ProgramIdEntry { name: "bpf_loader", address: crate::BPF_LOADER_PROGRAM_ID, }, crate::ProgramIdEntry { name: "bpf_loader_upgradeable", address: crate::BPF_LOADER_UPGRADEABLE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "compute_budget", address: crate::COMPUTE_BUDGET_PROGRAM_ID, }, crate::ProgramIdEntry { name: "config", address: crate::CONFIG_PROGRAM_ID, }, crate::ProgramIdEntry { name: "ed25519", address: crate::ED25519_PROGRAM_ID, }, crate::ProgramIdEntry { name: "feature", address: crate::FEATURE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "loader_v4", address: crate::LOADER_V4_PROGRAM_ID, }, crate::ProgramIdEntry { name: "native_loader", address: crate::NATIVE_LOADER_PROGRAM_ID, }, crate::ProgramIdEntry { name: "secp256k1", address: crate::SECP256K1_PROGRAM_ID, }, crate::ProgramIdEntry { name: "secp256r1", address: crate::SECP256R1_PROGRAM_ID, }, crate::ProgramIdEntry { name: "slashing", address: crate::SLASHING_PROGRAM_ID, }, crate::ProgramIdEntry { name: "stake", address: crate::STAKE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "system", address: crate::SYSTEM_PROGRAM_ID, }, crate::ProgramIdEntry { name: "vote", address: crate::VOTE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "zk_elgamal_proof", address: crate::ZK_ELGAMAL_PROOF_PROGRAM_ID, }, crate::ProgramIdEntry { name: "zk_token_proof", address: crate::ZK_TOKEN_PROOF_PROGRAM_ID, }, ]; pub(crate) const NATIVE_WELL_KNOWN_ACCOUNT_ID_ENTRIES: &[crate::ProgramIdEntry] = &[ crate::ProgramIdEntry { name: "incinerator", address: crate::INCINERATOR_PROGRAM_ID, }, crate::ProgramIdEntry { name: "stake_config", address: crate::STAKE_CONFIG_ACCOUNT_ID, }, ]; pub(crate) const PROGRAM_ID_ENTRIES: &[crate::ProgramIdEntry] = &[ crate::ProgramIdEntry { name: "associated_token_account", address: crate::ASSOCIATED_TOKEN_PROGRAM_ID, }, crate::ProgramIdEntry { name: "address_lookup_table", address: crate::ADDRESS_LOOKUP_TABLE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "bpf_loader_deprecated", address: crate::BPF_LOADER_DEPRECATED_PROGRAM_ID, }, crate::ProgramIdEntry { name: "bpf_loader", address: crate::BPF_LOADER_PROGRAM_ID, }, crate::ProgramIdEntry { name: "bpf_loader_upgradeable", address: crate::BPF_LOADER_UPGRADEABLE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "compute_budget", address: crate::COMPUTE_BUDGET_PROGRAM_ID, }, crate::ProgramIdEntry { name: "config", address: crate::CONFIG_PROGRAM_ID, }, crate::ProgramIdEntry { name: "ed25519", address: crate::ED25519_PROGRAM_ID, }, crate::ProgramIdEntry { name: "feature", address: crate::FEATURE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "incinerator", address: crate::INCINERATOR_PROGRAM_ID, }, crate::ProgramIdEntry { name: "metadata_metaplex_token_metadata", address: crate::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID, }, crate::ProgramIdEntry { name: "loader_v4", address: crate::LOADER_V4_PROGRAM_ID, }, crate::ProgramIdEntry { name: "native_loader", address: crate::NATIVE_LOADER_PROGRAM_ID, }, crate::ProgramIdEntry { name: "secp256k1", address: crate::SECP256K1_PROGRAM_ID, }, crate::ProgramIdEntry { name: "secp256r1", address: crate::SECP256R1_PROGRAM_ID, }, crate::ProgramIdEntry { name: "slashing", address: crate::SLASHING_PROGRAM_ID, }, crate::ProgramIdEntry { name: "spl_memo_v1", address: crate::SPL_MEMO_V1_PROGRAM_ID, }, crate::ProgramIdEntry { name: "spl_memo_v3", address: crate::SPL_MEMO_V3_PROGRAM_ID, }, crate::ProgramIdEntry { name: "spl_memo_v4", address: crate::SPL_MEMO_V4_PROGRAM_ID, }, crate::ProgramIdEntry { name: "spl_token", address: crate::SPL_TOKEN_PROGRAM_ID, }, crate::ProgramIdEntry { name: "spl_token2022", address: crate::SPL_TOKEN2022_PROGRAM_ID, }, crate::ProgramIdEntry { name: "spl_token2022_elgamal_registry", address: crate::SPL_TOKEN2022_ELGAMAL_REGISTRY_PROGRAM_ID, }, crate::ProgramIdEntry { name: "stake_config", address: crate::STAKE_CONFIG_ACCOUNT_ID, }, crate::ProgramIdEntry { name: "stake", address: crate::STAKE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "system", address: crate::SYSTEM_PROGRAM_ID, }, crate::ProgramIdEntry { name: "sysvar_clock", address: crate::SYSVAR_CLOCK_PROGRAM_ID, }, crate::ProgramIdEntry { name: "sysvar_instructions", address: crate::SYSVAR_INSTRUCTIONS_PROGRAM_ID, }, crate::ProgramIdEntry { name: "sysvar_rent", address: crate::SYSVAR_RENT_PROGRAM_ID, }, crate::ProgramIdEntry { name: "sysvar_slot_hashes", address: crate::SYSVAR_SLOT_HASHES_PROGRAM_ID, }, crate::ProgramIdEntry { name: "sysvar_stake_history", address: crate::SYSVAR_STAKE_HISTORY_PROGRAM_ID, }, crate::ProgramIdEntry { name: "vote", address: crate::VOTE_PROGRAM_ID, }, crate::ProgramIdEntry { name: "zk_elgamal_proof", address: crate::ZK_ELGAMAL_PROOF_PROGRAM_ID, }, crate::ProgramIdEntry { name: "zk_token_proof", address: crate::ZK_TOKEN_PROOF_PROGRAM_ID, }, ];