This commit is contained in:
2026-07-23 16:37:12 +02:00
parent 99c345f2f2
commit 0da75c1311
2159 changed files with 230833 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
<!-- file: kb_program_ids/README.md -->
<!-- version: 6 -->
# 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 dexé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 dun program ID vers ce code. Ce registre sert notamment aux sélecteurs de lapplication 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 à laudit. 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`. Lancien nom `STAKE_CONFIG_PROGRAM_ID` reste un alias déprécié de compatibilité, mais ladresse ne figure plus dans `native_program_ids()`.