Files
khadhroony-bobobot/DEX_DECODER_MATRIX.md
2026-05-31 16:43:19 +02:00

25 KiB
Raw Blame History

DEX Decoder Matrix — khadhroony-bobobot 0.7.47-1FE5

Cette matrice complète kb_lib/src/dex_support_matrix.rs. Elle documente ce qui est fait, ce qui reste à faire, et le niveau de preuve attendu par DEX/version.

Règle de lecture

Statut Sens
supported Decoder local actif et matérialisation métier possible sur corpus validé.
partial Decoder partiel ou surface partielle : des events existent, mais la couverture nest pas complète.
audit-only Decoder local spécialisé, mais aucun trade/candle/matérialisation marché.
planned Program id ou surface connue, mais decoder non prioritaire ou non activé.
to_verify Source externe ou candidat : aucun statut vérifié sans corpus local.
ignored/historical À conserver pour historique ou compatibilité, mais non prioritaire.

Sources upstream à comparer

  • Carbon decoders : https://github.com/sevenlabs-hq/carbon/tree/main/decoders
  • Solana Streamer : https://github.com/0xfnzero/solana-streamer
  • Sol Parser SDK IDLs : https://github.com/0xfnzero/sol-parser-sdk/tree/main/idl
  • Pinax Substreams Solana IDLs : https://github.com/pinax-network/substreams-solana-idls/tree/main/src
  • HODL Warden Solana Tx Parser : https://github.com/hodlwarden/solana-tx-parser/tree/main/src
  • OpenBook v2 : https://github.com/openbook-dex/openbook-v2
  • Phoenix on-chain MM : https://github.com/all-in-one-blockchain/phoenix-onchain-mm
  • Vybe DEX/AMM support list : https://docs.vybenetwork.com/docs/available-dexs-amms

Matrice prioritaire DEX/version

Ordre DEX/version État actuel Fait Reste à faire
1 raydium_cpmm supported Swaps matérialisés ; premiers non-swaps prouvés (initialize, withdraw, collect_creator_fee) ; trades/candles OK. Comparer tous les discriminants Carbon/IDL ; compléter fees/admin/lifecycle ; rejouer sur base dédiée ; vérifier absence daudits orphelins.
2 raydium_clmm supported Swaps swap/swap_v2 ; events positions/liquidité prouvés ; matérialisation non-trade existante. Repasser tous les events Carbon/IDL : open/close position, rewards, protocol fees, Token-2022 ; compléter audit → materialized si corpus.
3 pump_swap supported buy/sell décodés et matérialisés ; trade/candle OK. Ajouter tous les events Carbon/Solana Streamer : cashback, fee, volume accumulator, admin/config ; conserver les non-trades hors candles.
4 pump_fun partial / launch_surface Création/token launch partiellement décodée ; intégrée au pipeline de listings. Traiter tous les events Pump.fun disponibles : buy/sell/migrate/create/update ; séparer bonding/launch de DEX effectif ; valider migration vers PumpSwap.
5 meteora_dbc partial Swaps/instruction audits observés ; Demo3 donne du corpus. Couverture complète DBC : launch/bonding curve, swap, migration, config/admin, fees ; matérialiser seulement ce qui est prouvé.
6 meteora_dlmm supported Couverture avancée validée en 0.7.45 : swaps, liquidity, positions, lifecycle, fees ; non-trade matérialisé. Résoudre les audits résiduels non mappés ; comparer Carbon/IDL pour events rewards/admin restants ; revalidation base neuve.
7 meteora_damm_v1 supported / partial events Couverture 0.7.46 : swap, create_pool, add/remove liquidity, claim_fee, create_lock_escrow, lock_liquidity. Vérifier les surfaces upstream non observées ; améliorer rattachement pool/pair pour remove_liquidity non matérialisés ; revalidation stricte.
8 meteora_damm_v2 partial swap, instruction_audit, registry/discriminants et corpus Demo3 existent. Couvrir tous les events Carbon/source : create pool, liquidity, fees, dynamic config, admin ; déterminer actionability des swaps ; matérialiser si montants fiables.
9 phoenix_v1 audit-only Decoder local audit-only ; log_audit, order place/cancel, withdraw ; parsing strict 0x0f; events Reduce, Place, TimeInForce observés ; trade_count=0. Terminer tous les events Git : Fill, FillSummary, Fee, Evict, ExpiredOrder, etc. ; ajouter counts/flags audit ; seulement ensuite étudier trade materialization.
10 openbook_v2 audit-only Decoder local audit-only ; instructions order/cancel/consume/settle ; Program data mappé : FillLog, OpenOrdersPositionLog, TotalOrderFillEvent, SettleFundsLog; trade_count=0. Vérifier layouts fill/out et sens maker/taker/base/quote ; ajouter table audit éventuelle ; ne matérialiser trades quaprès validation du sens économique.
11 orca_whirlpools partial Premier decoder historique présent ; swaps/create_pool partiels. Comparer Carbon/IDL complet ; couvrir liquidity, positions, fees/rewards, tick arrays ; valider swaps exploitables et non-trades.
12 raydium_launchlab planned launch Entrée canonique locale LaunchLab/Launchpad ; program id connu localement. Décoder launch/migration ; ne pas confondre avec CPMM/CLMM/AMM v4 ; rattacher aux pools tradables.
13 meteora_vault to_verify Présent comme indice upstream / compte associé. Corpus direct obligatoire ; decoder séparé si events vault réels ; aucune promotion via DAMM indirect.
14 fluxbeam partial/to_verify Decoder initial existant ; Demo3 peut produire des candidats. Vérifier source/IDL ; compléter swap, pool, liquidity, fees/admin ; matérialisation uniquement après corpus.
15 dexlab partial/to_verify Decoder initial historique ; ancienne entrée beta supprimée. Reconfirmer program id/source ; décoder events disponibles ; distinguer DexLab natif et liens OpenBook/market.
16 lifinity_amm_v2 to_verify Program id listé par sources externes/Vybe ; pas de corpus concluant. Trouver IDL/source ; Demo3 par program/market ; audit-only dabord.
17 stabble_stable_swap / stabble_weighted_swap to_verify Program ids/indices via sources externes ; candidats Demo3 observables. Source/IDL + corpus + decoder audit-only ; déterminer surface AMM et montants exploitables.
18 bonkswap to_verify Program id/Carbon/Vybe selon registre ; swaps candidats possibles. Vérifier program id, source et corpus ; décoder tous events ; pas de trade sans montants.
19 boop / boop_fun to_verify / launch Entrée de découverte. Séparer launch surface et swap effectif ; corpus + source obligatoire.
20 moonshot / moonit to_verify / launch Moonshot buy/sell observés via upstream candidates ; Moonit launch attribution historique. Source/IDL + migration + rattachement pools ; éviter heuristiques seules.
21 heaven to_verify Program id/candidat ajouté en matrice. Vérifier sil est launch, AMM ou les deux ; corpus dédié.
22 printr to_verify Preset Demo3 ajouté ; candidats observables. Source/IDL, discriminants, corpus, decoder audit-only.
23 metadao_* to_verify Presets spécifiques : launchpad, bid wall, futarchy, AMM. Traiter par programme séparé ; ne pas utiliser mint ids comme program ids ; corpus obligatoire.
24 raydium_stable_swap planned/historical Entrée conservée. Reprendre uniquement si corpus réel ; stable AMM séparé de CPMM/CLMM.
25 jupiter_*, dflow_aggregator_v4, okx_dex aggregator_router Registry/discovery pour contexte transactionnel. Ne pas matérialiser en DEX direct ; utiliser pour routeSource/routing/context.

Checklist obligatoire par DEX/version

Pour chaque DEX ou version, la tranche doit fermer les points suivants :

  • Source Git/IDL recensée.
  • Tous les program_id vérifiés localement ou marqués to_verify.
  • Tous les discriminants dinstructions listés.
  • Tous les discriminants devents/logs listés.
  • Demo3 corpus constitué.
  • Demo2 backfill de signatures réussies.
  • Replay forcé sur base 0.7.47+.
  • SQL : decoded events par kind.
  • SQL : trade_count=0 pour audit-only.
  • SQL : trade/candle uniquement si montants exploitables.
  • Cleanup upstream_git.instruction_match si decoder spécialisé local.
  • Décision finale : audit-only, materialized, partial, ou to_verify.

Notes de matérialisation

Un event peut devenir materialized uniquement si :

  1. la transaction est OK ;
  2. les comptes nécessaires sont identifiés ;
  3. les mints sont fiables ;
  4. les montants sont fiables ;
  5. le sens base/quote est validé ;
  6. les requêtes SQL prouvent labsence de faux trades/candles ;
  7. les tests et clippy sont verts.

Annexe — snapshot de kb_lib/src/dex_support_matrix.rs (1FE5)

Code Rôle Surface Program id status Observed Decoded Materialized Status Skip reason
pump_fun launch_surface launch known non oui oui partial launch_surface_requires_migration_linking_before_live_trading
pump_swap dex_effective AMM known oui oui oui supported
raydium_cpmm dex_effective AMM known oui oui oui supported
raydium_clmm dex_effective CLMM known oui oui oui supported
raydium_amm_v4 dex_effective AMM known oui oui oui supported
raydium_launchlab launch_surface launch known non non non planned decoder_and_materialization_not_enabled
raydium_liquidity_locking to_verify liquidity_locking to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
raydium_router aggregator_router router known non non non partial router_not_materialized_as_direct_trade_surface
raydium_stable_swap dex_effective AMM known non non non planned deprecated_program_not_prioritized
meteora_dlmm dex_effective DLMM known oui oui oui supported
meteora_dlc to_verify unknown to_verify non non non to_verify surface_and_program_id_to_verify
meteora_damm_v1 dex_effective AMM known oui oui non partial meteora_damm_v1_swap_without_amount_payload
meteora_damm_v2 dex_effective AMM known non oui oui partial not_observed_in_0_7_28_replay
meteora_dbc dex_effective bonding_curve known non oui oui partial not_observed_in_0_7_28_replay
orca_whirlpools dex_effective CLMM known non oui oui partial not_observed_in_0_7_28_replay
fluxbeam dex_effective AMM known non oui oui partial not_observed_in_0_7_28_replay
dexlab dex_effective AMM known non oui oui partial not_observed_in_0_7_28_replay
bags launch_surface launch unknown non non non planned program_id_to_verify
letsbonk launch_surface launch unknown non non non planned program_id_to_verify
bonk launch_surface launch unknown non non non planned program_id_to_verify
bonk_fun launch_surface launch unknown non non non planned program_id_to_verify
okx_dex aggregator_router aggregator to_verify non non non planned program_id_to_verify
boop_fun launch_surface launch to_verify non non non planned program_id_to_verify
moonshot launch_surface launch to_verify non non non planned historical_entities_py_program_id_requires_corpus_verification
believe launch_surface launch unknown non non non planned program_id_to_verify
metadao to_verify unknown to_verify non non non to_verify umbrella_surface_programs_split_into_specific_discovery_targets
metadao_launchpad_v0_7_0 to_verify launch to_verify non non non to_verify official_metadao_program_id_requires_local_corpus_verification
metadao_bid_wall_v0_7_0 to_verify unknown to_verify non non non to_verify official_metadao_program_id_requires_local_corpus_verification
metadao_futarchy_v0_6_0 to_verify unknown to_verify non non non to_verify official_metadao_program_id_requires_local_corpus_verification
metadao_amm_v0_5_0 to_verify AMM to_verify non non non to_verify official_metadao_program_id_requires_local_corpus_verification
printr to_verify unknown to_verify non non non to_verify solscan_program_label_requires_local_corpus_verification
zora to_verify unknown to_verify non non non to_verify solscan_program_label_requires_local_corpus_verification
moonit launch_surface launch unknown non non non planned program_id_to_verify
launchbeam launch_surface launch unknown non non non planned program_id_to_verify
heaven launch_surface launch to_verify non non non planned program_id_to_verify
gavel to_verify auction to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
pump_fees to_verify fee_program to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
meteora_pools dex_effective AMM alias_of_meteora_damm_v1 non non non to_verify program_id_alias_held_by_meteora_damm_v1
dflow_aggregator_v4 aggregator_router aggregator to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
drift_v2 to_verify perps to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
jupiter_swap aggregator_router aggregator to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
jupiter_dca aggregator_router dca to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
jupiter_limit_order aggregator_router limit_order to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
jupiter_limit_order_2 aggregator_router limit_order to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
jupiter_perpetuals to_verify perps to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
jupiter_lend to_verify lending to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
kamino_lending to_verify lending to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
kamino_vault to_verify vault to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
kamino_farms to_verify farms to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
kamino_limit_order to_verify limit_order to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
marginfi_v2 to_verify lending to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
onchain_labs_dex_v1 dex_effective AMM alias_of_okx_dex non non non to_verify program_id_alias_held_by_okx_dex
onchain_labs_dex_v2 dex_effective AMM to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
pancake_swap dex_effective AMM to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
vertigo dex_effective AMM to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
virtuals launch_surface launch to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
wavebreak dex_effective AMM to_verify non non non to_verify upstream_git_program_id_requires_local_corpus_verification
aldrin to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
aldrin_v2 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
crema to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
cropper to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
lifinity_v1 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
lifinity_v2 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
mercurial to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
orca_v1 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
orca_v2 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
phoenix to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
saber to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
saber_decimals to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
openbook_v2 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
fox to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
sanctum_infinity to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
saros to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
stabble_stable_swap to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
stabble_weighted_swap to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
stepn to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
solayer to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
penguin to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
sanctum to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
one_dex to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
solfi to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
bonkswap to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
guacswap to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
invariant to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
oasis to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
token_swap to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
helium_network to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
marinade_liquid_staking to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
francium_yield_pools to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
marinade_governance to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
serum_dao to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
port_finance to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
solend_classic to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
hyperspace_nft_amm to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
magic_eden_nft_amm to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
raydium_staking_early to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
orca_aquafarm_v1 to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
quarry_merge_mining to_verify unknown to_verify non non non to_verify historical_entities_py_program_id_requires_corpus_verification
goosefx_v1 to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
obric_v2 to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
ondo_global_market to_verify unknown to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
scorch to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
zerofi to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
manifest_clob to_verify orderbook to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
alphaq to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
goonfi to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
goonfi_v2 to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
byreal to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
bisonfi to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
fusionamm to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
woofi to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
aquifer to_verify unknown to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
humidifi to_verify unknown to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source
solfi_v2 to_verify AMM to_verify non non non to_verify vybe_supported_dex_amm_requires_local_corpus_and_decoder_source