Files
khadhroony-bot3/docs/PROGRAM_REGISTRY_CONTROL.md

56 KiB

Contrôle du registre des programmes

Ce document transforme la liste de programmes fournie en registre contrôlable. Il ne valide pas encore chaque program_id sur chaîne ; il sert de base interne pour détecter les doublons, les aliases, les surfaces mal nommées et les crates manquantes.

Résumé

  • Entrées du registre : 150.
  • program_id distincts : 149.
  • Doublons exacts de program_id : 1.
  • Registre machine : registry/program_registry_seed.toml.
  • La colonne Canonique est la référence de tri et de migration.

Correction de principe

La table de contrôle est maintenant triée par Canonique, avec Canonique en première colonne. C'est le nom qui doit piloter les futures crates, les noms de surfaces et les tables de couverture.

Les programmes Solana/SPL de base ne sont plus mélangés avec les DEX, routers et protocoles applicatifs. Ils sont listés dans un tableau séparé parce qu'ils relèvent de la couche core : kb_decoder_solana_core, kb_decoder_spl_token, kb_decoder_spl_token_2022 et futurs décodeurs primitifs.

Pourquoi amm et pas damm en préfixe ?

Le préfixe doit représenter la fonction générique du programme. amm signifie Automated Market Maker. damm est un nom de surface Meteora, généralement interprété comme Dynamic AMM. Donc damm ne doit pas être utilisé comme préfixe fonctionnel général.

La forme recommandée est :

amm_meteora_damm_v1
amm_meteora_damm_v2

et non :

damm_meteora_v1
damm_meteora_v2

À l'inverse, dlmm, clmm, cpmm, stable_swap et weighted_swap sont des types de mécanismes et peuvent être utilisés comme préfixes fonctionnels quand ils décrivent mieux la surface.

Pourquoi supprimer program_ ?

Le préfixe program_ était un fallback technique. Il n'indique aucune fonction : ni AMM, ni router, ni lending, ni bridge, ni NFT. Il est donc insuffisant pour une nomenclature stable.

Nouvelle règle :

  • aucune nouvelle surface canonique ne doit commencer par program_ ;
  • une surface non classifiée utilise temporairement unknown_* ;
  • une surface unknown_* ne doit pas devenir une crate cible tant que sa fonction réelle n'est pas décidée ;
  • le statut attendu est needs_classification ou current_alias_needs_classification.

Programmes core Solana/SPL

Ces identifiants sont détaillés dans docs/CORE_PROGRAM_IDS.md. Ils sont couverts par les décodeurs core/primitifs ou par des crates spécialisées SPL futures, pas par une crate DEX dédiée.

Canonique Program ID Source Type Crate cible Statut
core_solana_address_lookup_table_v1 AddressLookupTab1e1111111111111111111111111 address_lookup_table program kb_decoder_solana_core core_handled
core_solana_bpf_loader_deprecated_v1 BPFLoader1111111111111111111111111111111111 bpf_loader_deprecated loader_program kb_decoder_solana_core core_handled
core_solana_bpf_loader_v2 BPFLoader2111111111111111111111111111111111 bpf_loader loader_program kb_decoder_solana_core core_handled
core_solana_bpf_loader_upgradeable_v1 BPFLoaderUpgradeab1e11111111111111111111111 bpf_loader_upgradeable loader_program kb_decoder_solana_core core_handled
core_solana_compute_budget_v1 ComputeBudget111111111111111111111111111111 compute_budget program kb_decoder_solana_core core_handled
core_solana_config_v1 Config1111111111111111111111111111111111111 config program kb_decoder_solana_core core_handled
core_solana_ed25519_v1 Ed25519SigVerify111111111111111111111111111 ed25519 program kb_decoder_solana_core core_handled
core_solana_feature_v1 Feature111111111111111111111111111111111111 feature program kb_decoder_solana_core core_handled
core_solana_incinerator_v1 1nc1nerator11111111111111111111111111111111 incinerator well_known_account kb_decoder_solana_core core_recognized_account
core_solana_loader_v4 LoaderV411111111111111111111111111111111111 loader_v4 loader_program kb_decoder_solana_core core_handled
core_solana_native_loader_v1 NativeLoader1111111111111111111111111111111 native_loader loader_program kb_decoder_solana_core core_handled
core_solana_secp256k1_v1 KeccakSecp256k11111111111111111111111111111 secp256k1 program kb_decoder_solana_core core_handled
core_solana_secp256r1_v1 Secp256r1SigVerify1111111111111111111111111 secp256r1 program kb_decoder_solana_core core_handled
core_solana_stake_config_v1 StakeConfig11111111111111111111111111111111 stake_config well_known_account kb_decoder_solana_core core_recognized_account
core_solana_stake_v1 Stake11111111111111111111111111111111111111 stake program kb_decoder_solana_core core_handled
core_solana_system_v1 11111111111111111111111111111111 system program kb_decoder_solana_core core_handled
core_solana_sysvar_clock_v1 SysvarC1ock11111111111111111111111111111111 sysvar_clock sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_epoch_rewards_v1 SysvarEpochRewards1111111111111111111111111 sysvar_epoch_rewards sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_epoch_schedule_v1 SysvarEpochSchedu1e111111111111111111111111 sysvar_epoch_schedule sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_fees_v1 SysvarFees111111111111111111111111111111111 sysvar_fees sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_instructions_v1 Sysvar1nstructions1111111111111111111111111 sysvar_instructions sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_last_restart_slot_v1 SysvarLastRestartS1ot1111111111111111111111 sysvar_last_restart_slot sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_recent_blockhashes_v1 SysvarRecentB1ockHashes11111111111111111111 sysvar_recent_blockhashes sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_rent_v1 SysvarRent111111111111111111111111111111111 sysvar_rent sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_rewards_v1 SysvarRewards111111111111111111111111111111 sysvar_rewards sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_slot_hashes_v1 SysvarS1otHashes111111111111111111111111111 sysvar_slot_hashes sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_slot_history_v1 SysvarS1otHistory11111111111111111111111111 sysvar_slot_history sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_stake_history_v1 SysvarStakeHistory1111111111111111111111111 sysvar_stake_history sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_sysvar_v1 Sysvar1111111111111111111111111111111111111 sysvar sysvar_account kb_decoder_solana_core core_recognized_account
core_solana_vote_v1 Vote111111111111111111111111111111111111111 vote program kb_decoder_solana_core core_handled
core_solana_zk_elgamal_proof_v1 ZkE1Gama1Proof11111111111111111111111111111 zk_elgamal_proof program kb_decoder_solana_core core_handled
core_solana_zk_token_proof_v1 ZkTokenProof1111111111111111111111111111111 zk_token_proof program kb_decoder_solana_core core_handled
core_spl_associated_token_account_v1 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL associated_token_account program kb_decoder_spl_associated_token_account core_handled
core_spl_account_compression_v1 cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK spl_account_compression program kb_decoder_spl_account_compression core_specialized_reserved_current
core_spl_memo_v1 Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo spl_memo_v1 program kb_decoder_spl_memo core_specialized_reserved_current
core_spl_memo_v3 MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr spl_memo_v3 program kb_decoder_spl_memo core_specialized_reserved_current
core_spl_memo_v4 Memo4c2pN8afCj432Lb7RMVKi9PbQnnW7ewFFaV3oAH spl_memo_v4 program kb_decoder_spl_memo core_specialized_reserved_current
core_spl_noop_v1 noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV spl_noop program kb_decoder_spl_noop core_specialized_reserved_current
core_spl_single_pool_v1 SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE spl_single_pool program kb_decoder_spl_single_pool core_specialized_reserved_current
core_spl_name_service_v1 namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX spl_name_service program kb_decoder_metadata_spl_name_service core_specialized_reserved_current
core_spl_stake_pool_v1 SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy stake_pool program kb_decoder_spl_stake_pool core_specialized_reserved_current
core_spl_token2022_v2022 TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb token2022 program kb_decoder_spl_token_2022 core_handled
core_spl_token2022_elgamal_registry_v1 regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg spl_token2022_elgamal_registry program kb_decoder_spl_token_2022 core_specialized_reserved_current
core_spl_token_v1 TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA token program kb_decoder_spl_token core_handled

DEX, AMM, CPMM, CLMM, DLMM, stable swap, weighted swap et orderbooks

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut
amm_aldrin_v1 AMM55ShdkoGRB5jVYPjWziwk8m5MpwyDgsMWHaMSQWH6 aldrin_amm_v1 aldrin_amm_v1 - kb_decoder_amm_aldrin_v1 reserved_missing
amm_aldrin_v2 CURVGoZn8zycx6FXwwevgBTB2gVvdbGTEpvMJDbgs2t4 aldrin_amm_v2 aldrin_amm_v2 - kb_decoder_amm_aldrin_v2 reserved_missing
amm_alphaq ALPHAQmeA7bjrVuccPsYPiCvsi428SNwte66Srvs4pHA alphaq alphaq kb_decoder_alphaq kb_decoder_amm_alphaq current_alias
amm_believe 5qWya6UjwWnGVhdSBL3hyZ7B45jbk6Byt1hwd7ohEGXE believe believe kb_decoder_believe kb_decoder_amm_believe current_alias
amm_bonk_swap BSwp6bEBihVLdqJRKGgzjcGLHkcTuzmSo1TQkHepzH8p bonk_swap bonk_swap kb_decoder_bonkswap kb_decoder_amm_bonk_swap current_alias
amm_cropper_finance CTMAxxk34HjKWxQ3QLZK1HpaLXmBveao3ESePXbiyfzh cropper_finance cropper_finance - kb_decoder_amm_cropper_finance reserved_missing
amm_dexlab_swap DSwpgjMvXhtGn6BsbqmacdBZyfLj6jSWf3HJpdJtmg6N dexlab_swap dexlab_swap - kb_decoder_amm_dexlab_swap reserved_missing
amm_fluxbeam FLUXubRmkEi2q6K3Y9kBPg9248ggaZVsoSFhtJHSrm1X fluxbeam fluxbeam kb_decoder_fluxbeam kb_decoder_amm_fluxbeam current_alias
amm_fusion fUSioN9YKKSa3CUC2YUc4tPkHJ5Y6XW1yz8y6F7qWz9 fusion_amm fusion_amm kb_decoder_fusion_amm kb_decoder_amm_fusion current_alias
amm_goon_fi goonERTdGsjnkZqWuVjs73BZ3Pb9qoCUdBUL17BnS5j goon_fi goon_fi kb_decoder_goonfi kb_decoder_amm_goon_fi current_alias
amm_goon_fi_v2 goonuddtQRrWqqn5nFyczVKaie28f3kDkHWkHtURSLE goon_fi_v2 goon_fi_v2 - kb_decoder_amm_goon_fi_v2 reserved_missing
amm_goosefx_gamma GAMMA7meSFWaBXF25oSUgmGRwaW6sCMFLmBNiMSdbHVT goose_fx_gamma goosefx_gamma kb_decoder_goosefx_gamma kb_decoder_amm_goosefx_gamma current_alias
amm_goosefx_v2 GFXsSL5sSaDfNFQUYsHekbWBW1TsFdjDYzACh62tEHxn goose_fx_v2 goosefx_v2 kb_decoder_goosefx_v2 kb_decoder_amm_goosefx_v2 current_alias
amm_guac_swap Gswppe6ERWKpUTXvRPfXdzHhiCyJvLadVvXGfdpBqcE1 guac_swap guac_swap kb_decoder_guacswap kb_decoder_amm_guac_swap current_alias
amm_heaven_dex HEAVENoP2qxoeuF8Dj2oT1GHEnu49U5mJYkdeC8BAX2o heaven_dex heaven_dex - kb_decoder_amm_heaven_dex reserved_missing
amm_hylo_exchange HYEXCHtHkBagdStcJCp3xbbb9B7sdMdWXFNj6mdsG4hn hylo_exchange hylo_exchange kb_decoder_hylo_exchange kb_decoder_amm_hylo_exchange current_alias
amm_invariant_swap HyaB3W9q6XdA5xwpU4XnSZV94htfmbmqJXZcEbRaJutt invariant_swap invariant_swap - kb_decoder_amm_invariant_swap reserved_missing
amm_lifinity_swap EewxydAPCCVuNEyrVN68PuSYdQ7wKn27V9Gjeoi8dy3S lifinity_swap lifinity_swap - kb_decoder_amm_lifinity_swap reserved_missing
amm_lifinity_swap_v2 2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c lifinity_swap_v2 lifinity_swap_v2 - kb_decoder_amm_lifinity_swap_v2 reserved_missing
amm_marcopolo_swap 9tKE7Mbmj4mxDjWatikzGAtkoWosiiZX9y6J4Hfm2R8H marcopolo_swap marcopolo_swap - kb_decoder_amm_marcopolo_swap reserved_missing
amm_metadao_futarchy_amm FUTARELBfJfQ8RDGhg1wdhddq1odMAJUePHFuBYfUxKq metadao_futarchy_amm metadao_futarchy_amm - kb_decoder_amm_metadao_futarchy_amm reserved_missing
amm_metadao_v0_5 AMMJdEiCCa8mdugg6JPF7gFirmmxisTfDJoSNSUi5zDJ metadao_amm_v0_5 metadao_amm_v0_5 kb_decoder_metadao_amm_v0_5 kb_decoder_amm_metadao_v0_5 current_alias
amm_meteora_damm_v1 Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB meteora_damm_v1 meteora_damm_v1 kb_decoder_meteora_damm_v1 kb_decoder_amm_meteora_damm_v1 current_alias
amm_meteora_damm_v2 cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG meteora_damm_v2 meteora_damm_v2 kb_decoder_meteora_damm_v2 kb_decoder_amm_meteora_damm_v2 current_alias
amm_obric_v2 obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y obric_v2 obric_v2 kb_decoder_obric_v2 kb_decoder_amm_obric_v2 current_alias
amm_one_dex DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm one_dex one_dex kb_decoder_one_dex kb_decoder_amm_one_dex current_alias
amm_orca_token_swap DjVE6JNiYqPL2QXyCUUh8rNjHrbz9hXHNYt99MQ59qw1 orca_token_swap orca_token_swap - kb_decoder_amm_orca_token_swap reserved_missing
amm_orca_token_swap_v2 9W959DqEETiGZocYWCQPaJ6sBmUzgfxXfqGeTEdp3aQP orca_token_swap_v2 orca_token_swap_v2 - kb_decoder_amm_orca_token_swap_v2 reserved_missing
amm_pancake_swap HpNfyc2Saw7RKkQd8nEL4khUcuPhQ7WwY1B2qjx8jxFq pancake_swap pancake_swap kb_decoder_pancake_swap kb_decoder_amm_pancake_swap current_alias
amm_pump_swap pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA pump_swap pump_swap kb_decoder_pump_swap kb_decoder_amm_pump_swap current_alias
amm_raydium_lp_amm 5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h raydium_lp_amm raydium_lp_amm - kb_decoder_amm_raydium_lp_amm reserved_missing
amm_raydium_lp_v2 RVKd61ztZW9GUwhRbbLoYVRE5Xf1B2tVscKqwZqXgEr raydium_lp_v2 raydium_lp_v2 - kb_decoder_amm_raydium_lp_v2 reserved_missing
amm_raydium_lp_v3 27haf8L6oxUeXrHrgEgsexjSY5hbVUWEmvv9Nyxg8vQv raydium_lp_v3 raydium_lp_v3 - kb_decoder_amm_raydium_lp_v3 reserved_missing
amm_raydium_lp_v4 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 raydium_lp_v4 raydium_lp_v4 - kb_decoder_amm_raydium_lp_v4 reserved_missing
amm_saros SSwapUtytfBdBn1b9NUGG6foMVPtcWgpRU32HToDUZr saros_amm saros_amm - kb_decoder_amm_saros reserved_missing
amm_solfi SoLFiHG9TfgtdUXUjWAxi3LtvYuFyDLVhBWxdMZxyCe solfi solfi kb_decoder_solfi kb_decoder_amm_solfi current_alias
amm_solfi_v2 SV2EYYJyRz2YhfXwXnhNAevDEui5Q6yrfyo13WtupPF solfi_v2 solfi_v2 kb_decoder_solfi_v2 kb_decoder_amm_solfi_v2 current_alias
amm_step_finance_swap SSwpMgqNDsyV7mAgN9ady4bDVu5ySjmmXejXvy2vLt1 step_finance_swap step_finance_swap - kb_decoder_amm_step_finance_swap reserved_missing
amm_stepn_dooar_swap Dooar9JkhdZ7J3LHN3A7YCuoGRUggXhQaG4kijfLGU2j stepn_dooar_swap stepn_dooar_swap - kb_decoder_amm_stepn_dooar_swap reserved_missing
amm_swap_v1 SwaPpA9LAaLfeLi3a68M4DjnLqgtticKg6CnyNwgAC8 swap swap - kb_decoder_amm_swap_v1 reserved_missing
amm_vertigo vrTGoBuy5rYSxAfV3jaRJWHH6nN9WK4NRExGxsk1bCJ vertigo vertigo kb_decoder_vertigo kb_decoder_amm_vertigo current_alias
amm_virtuals 5U3EU2ubXtK84QcRjWVmYt9RaDyA8gKxdUrPFXmZyaki virtuals virtuals kb_decoder_virtuals kb_decoder_amm_virtuals current_alias
amm_woofi WooFif76YGRNjk1pA8wCsN67aQsD9f9iLsz4NcJ1AVb woofi woofi kb_decoder_woofi kb_decoder_amm_woofi current_alias
amm_zero_fi ZERor4xhbUycZ6gb9ntrhqscUcZmAbQDjEAtCf4hbZY zero_fi zero_fi kb_decoder_zerofi kb_decoder_amm_zero_fi current_alias
amm_zora zoRabwLGd5zXaV7Gxacppw8tcceXEiTrSKyNLSaSTUc zora zora kb_decoder_zora kb_decoder_amm_zora current_alias
clmm_byreal REALQqNEomY6cQGZJUGwywTBD2UmDT32rZcNnfxQ5N2 byreal_clmm byreal_clmm kb_decoder_byreal_clmm kb_decoder_clmm_byreal current_alias
clmm_crema_finance CLMM9tUoggJu2wagPkkqs9eFG4BWhVBZWkP1qv3Sp7tR crema_finance crema_finance - kb_decoder_clmm_crema_finance reserved_missing
clmm_cropper_whirlpool H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt cropper_whirlpool cropper_whirlpool - kb_decoder_clmm_cropper_whirlpool reserved_missing
clmm_orca_whirlpool whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc orca_whirlpool orca_whirlpool kb_decoder_orca_whirlpool kb_decoder_clmm_orca_whirlpool duplicate_program_id
clmm_orca_whirlpool whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc orca_whirlpool orca_whirlpool kb_decoder_orca_whirlpool kb_decoder_clmm_orca_whirlpool duplicate_program_id
clmm_raydium CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK raydium_clmm raydium_clmm kb_decoder_raydium_clmm kb_decoder_clmm_raydium current_alias
clmm_stabble 6dMXqGZ3ga2dikrYS9ovDXgHGh5RUsb2RTUj6hrQXhk6 stabble_clmm stabble_clmm kb_decoder_stabble_clmm kb_decoder_clmm_stabble current_alias
cpmm_raydium CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C raydium_cpmm raydium_cpmm kb_decoder_raydium_cpmm kb_decoder_cpmm_raydium current_alias
dlmm_meteora LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo meteora_dlmm meteora_dlmm kb_decoder_meteora_dlmm kb_decoder_dlmm_meteora current_alias
orderbook_jupiter_limit_order jupoNjAxXgZ4rjzxzPMP4oxduvQsQtZzyknqvzYNrNu jupiter_limit_order jupiter_limit_order kb_decoder_jupiter_limit_order kb_decoder_orderbook_jupiter_limit_order current_alias
orderbook_jupiter_limit_order_v2 j1o2qRpjcyUwEvwtcfhEQefh773ZgjxcVRry7LDqg5X jupiter_limit_order_v2 jupiter_limit_order_v2 kb_decoder_jupiter_limit_order_v2 kb_decoder_orderbook_jupiter_limit_order_v2 current_alias
orderbook_manifest_v1 MNFSTqtC93rEfYHB6hF82sKdZpUDFWkViLByLd1k1Ms manifest manifest - kb_decoder_orderbook_manifest_v1 reserved_missing
orderbook_openbook_v2 opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb openbook_v2 openbook_v2 kb_decoder_openbook_v2 kb_decoder_orderbook_openbook_v2 current_alias
orderbook_phoenix_v1 PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY phoenix phoenix - kb_decoder_orderbook_phoenix_v1 reserved_missing
stable_swap_jupiter_stable JUPUSDecMzAVgztLe6eGhwUBj1Pn3j9WAXwmtHmfbRr jupiter_stable jupiter_stable kb_decoder_jupiter_stable kb_decoder_stable_swap_jupiter_stable current_alias
stable_swap_mercurial MERLuDFBMmsHnsBPZw2sDQZHvXFMwp8EdjudcU2HKky mercurial_stable_swap mercurial_stable_swap - kb_decoder_stable_swap_mercurial reserved_missing
stable_swap_saber SSwpkEEcbUqx4vtoEByFjSkhKdCT862DNVb52nZg1UZ sabre_statble_swap sabre_stable_swap - kb_decoder_stable_swap_saber reserved_missing
stable_swap_stabble swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ stabble_stable_swap stabble_stable_swap kb_decoder_stabble_stable_swap kb_decoder_stable_swap_stabble current_alias
weighted_swap_stabble swapFpHZwjELNnjvThjajtiVmkz3yPQEHjLtka2fwHW stabble_weighted_swap stabble_weighted_swap kb_decoder_stabble_weighted_swap kb_decoder_weighted_swap_stabble current_alias

Routers et surfaces de routing

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut
router_dflow_aggregator_v4 DF1ow4tspfHX9WJsAb9epbkA8hmpSEAtxXy1V27QBH dflow_agregator_v4 dflow_aggregator_v4 kb_decoder_dflow_aggregator_v4 kb_decoder_router_dflow_aggregator_v4 current_alias
router_jupiter_aggregator_v4 JUP4Fb2cqiRUcaTHdrPC8h2gNsA2ETXiPDD33WcGuJB jupiter_agregator_v4 jupiter_aggregator_v4 - kb_decoder_router_jupiter_aggregator_v4 reserved_missing
router_jupiter_aggregator_v6 JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 jupiter_agregator_v6 jupiter_aggregator_v6 - kb_decoder_router_jupiter_aggregator_v6 reserved_missing
router_jupiter_dca DCA265Vj8a9CEuX1eb1LWRnDT7uK6q1xMipnNyatn23M jupiter_dca jupiter_dca kb_decoder_jupiter_dca kb_decoder_router_jupiter_dca current_alias
router_okx_labs_v1 6m2CDdhRgxpH4WjvdzxAYbGxwdGUz5MziiL5jek2kBma okx_labs_v1 okx_labs_v1 kb_decoder_okx_lab_v1 kb_decoder_router_okx_labs_v1 current_alias
router_okx_labs_v2 proVF4pMXVaYqmy4NjniPh4pqKNfMmsihgd4wdkCX3u okx_labs_v2 okx_labs_v2 - kb_decoder_router_okx_labs_v2 reserved_missing
router_raydium_amm_routing routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS raydium_amm_routing raydium_amm_routing - kb_decoder_router_raydium_amm_routing reserved_missing
router_sanctum stkitrT1Uoy18Dk1fTrgPw8W6MVzoCfYoAFT4MLsmhq sanctum_router sanctum_router - kb_decoder_router_sanctum reserved_missing
router_tessera_v TessVdML9pBGgG9yGks7o4HewRaXVAMuoVj4x83GLQH tessera_v tessera_v - kb_decoder_router_tessera_v reserved_missing
router_titan_exchange_router T1TANpTeScyeqVzzgNViGDNrkQ6qHz9KrSBS4aNXvGT titan_exchange_router titan_exchange_router - kb_decoder_router_titan_exchange_router reserved_missing

Launchpads et bonding curves

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut
launchpad_boop_fun boop8hVGQGqehUK2iVEMEnMrL5RbjywRzHKBmBE7ry4 boop_fun boop_fun kb_decoder_boop_fun kb_decoder_launchpad_boop_fun current_alias
launchpad_letsbonk_fun FfYek5vEz23cMkWsdJwG2oa6EphsvXSHrGpdALN4g6W1 letsbonk_fun letsbonk_fun - kb_decoder_launchpad_letsbonk_fun reserved_missing
launchpad_metadao_ico moontUzsdepotRGe5xsfip7vLPTJnVuafqdUWexVnPM metadao_ico metadao_ico - kb_decoder_launchpad_metadao_ico reserved_missing
launchpad_meteora_dbc dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN meteora_dbc meteora_dbc kb_decoder_meteora_dbc kb_decoder_launchpad_meteora_dbc current_alias
launchpad_moonit MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG moonit moonit kb_decoder_moonit kb_decoder_launchpad_moonit current_alias
launchpad_moonshot_token_authority 7rtiKSUDLBm59b1SBmD9oajcP8xE64vAGSMbAN5CXy1q moonshot_token_authority moonshot_token_authority - kb_decoder_launchpad_moonshot_token_authority reserved_missing
launchpad_orca_wavebreak waveQX2yP3H1pVU8djGvEHmYg8uamQ84AuyGtpsrXTF orca_wavebreak orca_wavebreak kb_decoder_orca_wavebreak kb_decoder_launchpad_orca_wavebreak current_alias
launchpad_printr T8HsGYv7sMk3kTnyaRqZrbRPuntYzdh12evXBkprint printr printr kb_decoder_printr kb_decoder_launchpad_printr current_alias
launchpad_pump_fun 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P pump_fun pump_fun kb_decoder_pump_fun kb_decoder_launchpad_pump_fun current_alias
launchpad_pump_pumpup_ai PdMDrKEMaX8q7CCJb7NvUCxerBCcsFUa4LjBEynTtEd pumpup_ai pumpup_ai - kb_decoder_launchpad_pump_pumpup_ai reserved_missing
launchpad_raydium_launchlab LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj raydium_launchlab raydium_launchlab - kb_decoder_launchpad_raydium_launchlab reserved_missing

Lending, vault, staking, bridge, perps, oracle et treasury

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut
bridge_circle_cctp_token_messenger_minter CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3 cctp_token_messenger_minter cctp_token_messenger_minter - kb_decoder_bridge_circle_cctp_token_messenger_minter reserved_missing
bridge_circle_cctp_token_messenger_minter_v2 CCTPV2vPZJS2u2BBsUoscuikbYjnpFmbFsvVuJdgUMQe cctp_token_messenger_minter_v2 cctp_token_messenger_minter_v2 - kb_decoder_bridge_circle_cctp_token_messenger_minter_v2 reserved_missing
bridge_de_bridge_destination dst5MGcFPoBeREFAA5E3tU5ij8m5uVYwkzkSAbsLbNo de_bridge_destination de_bridge_destination - kb_decoder_bridge_de_bridge_destination reserved_missing
bridge_de_bridge_source src5qyZHqTqecJV4aY6Cb6zDZLMDzrDKKezs22MPHr4 de_bridge_source de_bridge_source - kb_decoder_bridge_de_bridge_source reserved_missing
bridge_layer_zero_endpoint 76y77prsiCMvXMjuoZ5VRrhG5qYBrUMYTE5WgHqgjEn6 layer_zero_endpoint layer_zero_endpoint - kb_decoder_bridge_layer_zero_endpoint reserved_missing
bridge_layer_zero_executor 6doghB248px58JSSwG4qejQ46kFMW4AMj7vzJnWZHNZn layer_zero_executor layer_zero_executor - kb_decoder_bridge_layer_zero_executor reserved_missing
bridge_wormhole wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb whormhole_bridge wormhole_bridge - kb_decoder_bridge_wormhole reserved_missing
lending_jupiter_lend_borrow jupr81YtYssSyPt8jbnGuiWon5f6x9TcDEFxYe3Bdzi jupiter_lend_borrow jupiter_lend_borrow - kb_decoder_lending_jupiter_lend_borrow reserved_missing
lending_jupiter_lend_earn jup3YeL8QhtSx1e253b2FDvsMNC87fDrgQZivbrndc9 jupiter_lend_earn jupiter_lend_earn - kb_decoder_lending_jupiter_lend_earn reserved_missing
lending_jupiter_lend_flash_loan jupgfSgfuAXv4B6R2Uxu85Z1qdzgju79s6MfZekN6XS jupiter_lend_flash_loan jupiter_lend_flash_loan - kb_decoder_lending_jupiter_lend_flash_loan reserved_missing
lending_jupiter_lend_liquidity jupeiUmn818Jg1ekPURTpr4mFo29p46vygyykFJ3wZC jupiter_lend_liquidity jupiter_lend_liquidity - kb_decoder_lending_jupiter_lend_liquidity reserved_missing
lending_kamino KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD kamino_lending kamino_lending - kb_decoder_lending_kamino reserved_missing
lending_marginfi MFLQPPPPjNinkdKoy2odNFBhvpY43XtCDZjBwG2fwn5 marginfi marginfi - kb_decoder_lending_marginfi reserved_missing
lending_marginfi_v2 MFv2hWf31Z9kbCa1snEPYctwafyhdvnV7FZnsebVacA marginfi_v2 marginfi_v2 - kb_decoder_lending_marginfi_v2 reserved_missing
lending_sharky_fi SHARKobtfF1bHhxD2eqftjHBdVSCbKo9JtgK71FhELP sharky_fi sharky_fi - kb_decoder_lending_sharky_fi reserved_missing
lending_solend_protocol So1endDq2YkqhipRh3WViPa8hdiSpxWy6z3Z6tMCpAo solend_protocol solend_protocol - kb_decoder_lending_solend_protocol reserved_missing
oracle_jupiter_prediction_market 3ZZuTbwC6aJbvteyVxXUS7gtFYdf7AuXeitx6VyvjvUp jupiter_prediction_market jupiter_prediction_market - kb_decoder_oracle_jupiter_prediction_market reserved_missing
perpetuals_drift_v2 dRiftyHA39MWEi3m9aunc5MzRF1JYuBsbn6VPcn33UH drift_v2 drift_v2 kb_decoder_drift_v2 kb_decoder_perpetuals_drift_v2 current_alias
perpetuals_jupiter PERPHjGBqRHArX4DySjwM6UJHiR3sWAatqfdBS2qQJu jupiter_perpetuals jupiter_perpetuals kb_decoder_jupiter_perpetuals kb_decoder_perpetuals_jupiter current_alias
perpetuals_zeta ZETAxsqBRek56DhiGXrn75yj2NHU3aYUnxvHXpkf3aD zeta zeta kb_decoder_zeta kb_decoder_perpetuals_zeta current_alias
perpetuals_zeta_matching_engine zDEXqXEG7gAyxb1Kg9mK5fPnUdENCGKzWrM21RMdWRq zeta_matching_engine zeta_matching_engine - kb_decoder_perpetuals_zeta_matching_engine reserved_missing
staking_jito_tip_distribution 4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7 jito_tip_distribution jito_tip_distribution - kb_decoder_staking_jito_tip_distribution reserved_missing
staking_kamino_farm FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr kamino_farm kamino_farm - kb_decoder_staking_kamino_farm reserved_missing
staking_marinade_finance MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD marinade_finance marinade_finance - kb_decoder_staking_marinade_finance reserved_missing
staking_sanctum_multi_validator_spl_stake_pool SPMBzsVUuoHA4Jm6KunbsotaahvVikZs1JyTW6iJvbn sanctum_multi_validator_spl_stake_pool sanctum_multi_validator_spl_stake_pool - kb_decoder_staking_sanctum_multi_validator_spl_stake_pool reserved_missing
staking_sanctum_single_validator_spl_stake_pool SP12tWFxD9oJsVWNavTTBZvMbA6gkAmxtVgxdqvyvhY sanctum_single_validator_spl_stake_pool sanctum_single_validator_spl_stake_pool - kb_decoder_staking_sanctum_single_validator_spl_stake_pool reserved_missing
staking_solayer sSo1iU21jBrU9VaJ8PJib1MtorefUV4fzC9GURa2KNn solayer solayer kb_decoder_solayer kb_decoder_staking_solayer current_alias
treasury_helium_treasury_management treaf4wWBBty3fHdyBpo35Mz84M8k3heKXmjmi9vFt5 helium_treasury_management helium_treasury_management - kb_decoder_treasury_helium_treasury_management reserved_missing
vault_kamino kvauTFR8qm1dhniz6pYuBZkuene3Hfrs1VQhVRgCNrr kamino_vault kamino_vault - kb_decoder_vault_kamino reserved_missing
vault_kamino_v2 KvauGMspG5k6rtzrqqn7WNn3oZdyKqLKwK2XWQ8FLjd kamino_vault_v2 kamino_vault_v2 - kb_decoder_vault_kamino_v2 reserved_missing
vault_meteora 24Uqj9JCLxUeoC3hGfh5W3s9FM9uCHDS2SG3LYwBpyTi meteora_vault meteora_vault kb_decoder_meteora_vault kb_decoder_vault_meteora current_alias
vesting_streamflow strmRqUCoQUgGUan5YhzUZa6KqdzwX5L6FpUxfmKg5m streamflow streamflow - kb_decoder_vesting_streamflow reserved_missing

NFT, metadata, admin, governance et locks

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut
lock_raydium_lp LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE raydium_lock_lp raydium_lock_lp - kb_decoder_lock_raydium_lp reserved_missing
admin_jupiter_lock LocpQgucEQHbqNABEYvBvwoxCPsSbG91A1QaQhQQqjn jupiter_lock jupiter_lock - kb_decoder_admin_jupiter_lock reserved_missing
admin_pump_fees pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ pump_fees pump_fees kb_decoder_pump_fees kb_decoder_admin_pump_fees current_alias
metadata_metaplex_token_metadata metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s metaplex_token_metadata metaplex_token_metadata - kb_lib::decoder::metadata::metaplex_token_metadata current_migrated
metadata_name_service namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX name_service name_service - kb_decoder_metadata_spl_name_service reserved_missing
nft_metaplex_bubblegum BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY bubblegum bubblegum - kb_decoder_nft_metaplex_bubblegum reserved_missing
nft_metaplex_mpl_core CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d mpl_core mpl_core - kb_decoder_nft_metaplex_mpl_core reserved_missing

Surfaces à classifier

Ces entrées ont un program_id, mais leur fonction réelle n'est pas encore assez claire pour créer une crate canonique. Elles doivent être étudiées avant renommage.

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut
unknown_aquifer AQU1FRd7papthgdrwPTTq5JacJh8YtwEXaBfKU3bTz45 aquifer aquifer - - needs_classification
unknown_axiom_trade FLASHX8DrLbgeR8FcfNV1F5krxYcYMUdBkrP1EPBtxB9 axiom_trade axiom_trade - - needs_classification
unknown_bison_fi BiSoNHVpsVZW2F7rx2eQ59yQwKxzU5NvBcmKshCSUypi bison_fi bison_fi kb_decoder_bisonfi - current_alias_needs_classification
unknown_carrot_defi CarrotwivhMpDnm27EHmRLeQ683Z1PufuqEmBZvD282s carrot_defi carrot_defi - - needs_classification
unknown_clone C1onEW2kPetmHmwe74YC1ESx3LnFEpVau6g2pg4fHycr clone clone kb_decoder_clone - current_alias_needs_classification
unknown_gavel srAMMzfVHVAtgSJc8iH6CfKzuWuUTzLHVCE81QU1rgi gavel gavel kb_decoder_gavel - current_alias_needs_classification
unknown_hawk_fi FqGg2Y1FNxMiGd51Q6UETixQWkF5fB92MysbYogRJb3P hawk_fi hawk_fi - - needs_classification
unknown_humidi_fi 9H6tua7jkLhdm3w8BvgpTn5LZNU7g4ZynDmCiNN3q6Rp humidi_fi humidi_fi - - needs_classification
unknown_hylo_stability_pool HysTabVUfmQBFcmzu1ctRd1Y1fxd66RBpboy1bmtDSQQ hylo_stability_pool hylo_stability_pool kb_decoder_hylo_stability_pool - current_alias_needs_classification
unknown_jup_studio_authority 8rE9CtCjwhSmbwL5fbJBtRFsS3ohfMcDFeTTC7t4ciUA jup_studio_authority jup_studio_authority - - needs_classification
unknown_jupiter_apepro_smart_wallet JSW99DKmxNyREQM14SQLDykeBvEUG63TeohrvmofEiw jupiter_apepro_smart_wallet jupiter_apepro_smart_wallet - - needs_classification
unknown_kamino 6LtLpnUFNByNXLyCoK9wA2MykKAmQNZKBdY8s47dehDc kamino kamino - - needs_classification
unknown_metadao_bid_wall WALL8ucBuUyL46QYxwYJjidaFYhdvxUFrgvBxPshERx metadao_bid_wall metadao_bid_wall - - needs_classification
unknown_numeraire NUMERUNsFCP3kuNmWZuXtm1AaQCPj9uw6Guv2Ekoi5P numeraire numeraire kb_decoder_numeraire - current_alias_needs_classification
unknown_ondo_global_markets XzTT4XB8m7sLD2xi6snefSasaswsKCxx5Tifjondogm ondo_global_markets ondo_global_markets - - needs_classification
unknown_ore_v3 oreV3EG1i9BEgiAJ8b177Z2S2rMarzak4NMv1kULvWv ore_v3 ore_v3 - - needs_classification
unknown_penguin_finance PSwapMdSai8tjrEXcxFeQth87xC4rRsa4VA5mhGhXkP pinguin_finance penguin_finance - - needs_classification
unknown_sabre_decimal_wrapper DecZY86MU5Gj7kppfUCEmd4LbXXuyZH1yHaP2NTqdiZB sabre_decimal_wrapper sabre_decimal_wrapper - - needs_classification
unknown_sanctum_s_controller 5ocnV1qiCgaQR8Jb8xWnVbApfaygJ8tNoZfgPwsgx9kx sanctum_s_controller sanctum_s_controller - - needs_classification
unknown_scorch SCoRcH8c2dpjvcJD6FiPbCSQyQgu3PcUAWj2Xxx3mqn scorch scorch kb_decoder_scorch - current_alias_needs_classification
unknown_swig swigypWHEksbC64pWKwah1WTeh9JXwx8H1rJHLdbQMB swig swig - - needs_classification

Autres surfaces

Canonique Program ID Source Normalisé Crate actuelle Crate cible Statut

Doublons et aliases à surveiller

  • Les noms okx_v1, okx_v2, onchain_labs_dex_v1, onchain_labs_dex_v2 ne doivent pas être retenus comme noms canoniques tant que les program_id prouvés sont okx_labs_v1 et okx_labs_v2.
  • goosefx_gamma et goosefx_v2 ne doivent pas être fusionnés tant que les program_id restent distincts.
  • raydium_pool_v4 doit être traité comme alias de documentation de amm_raydium_lp_v4 si le program_id est 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8.
  • meteora_pools_amm est un alias documentaire probable de amm_meteora_damm_v1 si le program_id est Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB.

Règle de migration

Aucun renommage physique massif ne doit être fait dans un delta général. Pour chaque surface :

  1. confirmer le program_id ;
  2. confirmer la fonction réelle ;
  3. choisir le canonical_surface_code ;
  4. créer ou renommer une seule crate ;
  5. mettre à jour Cargo.toml ;
  6. exécuter cargo build ;
  7. mettre à jour le registre ;
  8. supprimer l'ancien alias seulement après validation.

Comptes qui ne sont pas des programmes

Les comptes qui ne sont pas prouvés comme programmes exécutables doivent rester hors du registre de surfaces. Le cas BAGSB9TpGrZxQbEsrEznv5jXXdwyP6AXerN8aVRiAmcv est documenté dans docs/ACCOUNT_ONLY_CANDIDATES.md.

Index hexadécimal optionnel

Un préfixe 00 à ff ne doit pas remplacer le nom canonique. Il peut être ajouté comme champ registry_code dans le registre, mais les crates doivent rester descriptives. Voir docs/PROGRAM_CODE_INDEX.md.

Bags Fee Share

Canonique Program id Source Fonction Crate cible Statut
fees_bags_fee_share_v1 FEEhPbKVKnco9EXnaY3i4R5rQVUx91wgVfu8qokixywi Bags Fee Share V1 fees kb_decoder_fees_bags_fee_share_v1 canonical_current
fees_bags_fee_share_v2 FEE2tBhCKAt7shrod19QttSVREUYPiyMzoku1mL1gqVK Bags Fee Share V2 fees kb_decoder_fees_bags_fee_share_v2 canonical_current