kb_program_ids
Ce crate centralise les identifiants de programmes Solana utilisés par les décodeurs, exécuteurs, stores, applications et outils du workspace.
Rôle
Il fournit une source unique pour les program_id connus afin d’éviter les divergences entre les crates de lecture et les crates d’exécution.
Règle
Les crates spécialisés peuvent conserver un fichier constants.rs pour leurs constantes internes, mais les identifiants de programmes doivent être référencés via kb_program_ids::....
Registre énumérable
registered_program_ids() expose les identifiants connus avec un code stable en lower snake case. find_registered_program_id() permet la résolution inverse exacte d’un program ID vers ce code. Ce registre sert notamment aux sélecteurs de l’application de démonstration sans dupliquer la liste des constantes.
Registre natif
native_program_ids() expose séparément les dix-huit programmes exécutables runtime natifs, loaders, précompiles et surfaces historiques suivis par 0.4.x. native_well_known_account_ids() expose les comptes natifs non exécutables nécessaires au décodage et à l’audit. Cette liste inclut notamment vote, les loaders BPF v1/v2/upgradeable, loader-v4 et les précompiles Ed25519, Secp256k1 et Secp256r1, ainsi que le stateless Slashing Program S1ashing....
Registre SPL vérifié
Le registre distingue les trois générations Memo (v1, v3, v4) et conserve MEMO_PROGRAM_ID comme alias de compatibilité vers Memo v3. Il expose également Single Pool, Account Compression, Noop, le registre ElGamal de Token-2022 et un alias explicite pour SPL Name Service.
Stake Config
StakeConfig11111111111111111111111111111111 est exposé par STAKE_CONFIG_ACCOUNT_ID. L’ancien nom STAKE_CONFIG_PROGRAM_ID reste un alias déprécié de compatibilité, mais l’adresse ne figure plus dans native_program_ids().