# Audit des constantes `PROGRAM_ID` des décodeurs Ce document décrit la correction appliquée aux crates de décodeurs classifiés. Chaque décodeur associé à un `program_id` dans `registry/program_registry_seed.toml` doit exposer ce `program_id` via `src/constants.rs`, le réexporter depuis `src/lib.rs`, puis l’utiliser dans `program_ids()` via `crate::XXX_PROGRAM_ID`. ## Règle retenue - `src/constants.rs` contient les identifiants stables du programme, puis plus tard les discriminants, sélecteurs, discriminators Anchor, codes d’instruction et constantes de décodage. - `src/lib.rs` réexporte les constantes publiques nécessaires. - `src/decoder.rs` ne doit pas contenir de literal de `program_id` dans `program_ids()`. - Les décodeurs génériques comme `kb_decoder_anchor` ne doivent pas inventer de `program_id`. ## Portée La correction couvre les décodeurs classifiés présents dans le workspace et associés à un `program_id` non vide dans le registre. Les crates core Solana/SPL disposaient déjà de `constants.rs`.