297 lines
11 KiB
Rust
297 lines
11 KiB
Rust
// 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,
|
|
},
|
|
];
|