Files
khadhroony-bobobot/docs/DEX_DECODER_MATRIX.md
2026-06-14 14:25:09 +02:00

33 KiB
Raw Blame History

DEX Decoder Matrix — khadhroony-bobobot 0.7.53 final

Note 0.7.53 final — PumpSwap clôturé et sources IDL locales

Le répertoire idls/ devient une source locale de savoir en plus des liens Git. Les IDL Solscan locales doivent être comparées au registre upstream et au corpus avant promotion métier. pump_swap est clôturé côté transaction/log decoder : instructions IDL, events Anchor audit-only, buy_exact_quote_in via BuyEvent exact, tests synthétiques et SQL global. Raydium AMM v4 / CLMM / CPMM ne nécessitent pas de correction dans cette clôture ; les gaps Meteora sont reportés.

sol-parser-sdk/idls/raydium_pool_v4.json a été vérifié comme source annexe distincte des fichiers idls/raydium_*.json présents localement : il expose notamment swapBaseIn et des comptes OpenBook/Serum, mais aucun fichier local ne porte ce nom ni ne correspond à son empreinte/format. Il reste donc un audit conditionnel, pas une source bloquante pour 0.7.53.

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/idls
  • 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 / 0.7.50-pre-r2 closure recheck Couverture CPMM clôturée : swaps, lifecycle, fees, admin/config, deposit/withdraw, lp_change_event, swap_event decoded-only, cpi_event transport Carbon et anchor_idl_instruction Solscan/manual pour 40f4bc78a7e9690a. Ne pas promouvoir anchor_idl_instruction : c'est de la gestion Anchor IDL, pas un événement AMM métier.
2 raydium_clmm supported / 0.7.50-pre-r2 closure recheck Couverture CLMM complétée : cpi_event, update_dynamic_fee_config, Program-data events locaux, create_support_mint_associated vers k_sol_token_account_events, familles sans unknown, router/swap Program-data en decoded-only. Rejouer la base CLMM et confirmer que les seuls résidus sont decoded_events_only, transactions failed ou absence prouvée de contexte pool/pair.
3 raydium_launchpad bootstrap / 0.7.50 Surface canonique normalisée, 1 entrée programme + 26 discriminants Carbon/IDL listés, fallback audit/mapped decoder, SQL dédié. Créer DB neuve, backfill par discriminant, replay forcé, promouvoir seulement après corpus local.
4 raydium_amm_v4 supported / 0.7.51 closed Decoder maximal AMM v4 00..11, swaps spécialisés, lifecycle/liquidity/fees/admin/orderbook validés. Stable Swap clôturé ensuite en 0.7.52; surveiller les surfaces restantes.
5 raydium_stable_swap supported / 0.7.52 closed Decoder legacy 1 octet, surface 00..0d, swaps matérialisés depuis deltas vault exacts. Surveiller seulement de nouveaux discriminants ou swap_event observé.
6 raydium_pool_v4 to_verify / late-phase conditional audit IDL annexe mentionnée par fnzero, non présente dans l'archive locale, pas de program id/rôle confirmé ici. Ne pas promouvoir tant que program id distinct, rôle exact et corpus exploitable ne sont pas confirmés.
7 pump_swap supported / 0.7.53 closed buy, sell + buy_exact_quote_in matérialisable via BuyEvent exact ; instructions non-trade spécialisées : liquidity, fee/creator fee, admin/config, cashback/token incentives, volume accumulator ; events Anchor autonomes audit-only. Trades/candles uniquement depuis montants exacts ; failed tx decoded-only ; instruction_bounds_only reste decoded-only ; tests synthétiques IDL et SQL global ajoutés.
8 pump_fun partial / 0.7.55 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.
9 meteora_dbc partial / 0.7.56 planned 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é.
10 meteora_dlmm supported / 0.7.57 parity 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.
11 meteora_damm_v1 supported / 0.7.58 parity 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.
12 meteora_damm_v2 partial / 0.7.59 planned 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.
13 phoenix_v1 audit-only / 0.7.60 planned 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.
14 openbook_v2 audit-only / 0.7.61 planned 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.
15 orca_whirlpools partial / 0.7.62 planned 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.
16 legacy_launch_candidates planned launch Anciennes entrées launch à réévaluer après raydium_launchpad. Ne pas confondre Launchpad, LaunchLab, CPMM/CLMM/AMM v4 ; rattacher aux pools tradables seulement après corpus.
17 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.
18 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.
19 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.
19 lifinity_v2 to_verify Program id listé par sources externes/Vybe ; pas de corpus concluant. Trouver IDL/source ; Demo3 par program/market ; audit-only dabord.
20 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.
21 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.
22 boop / boop_fun to_verify / launch Entrée de découverte. Séparer launch surface et swap effectif ; corpus + source obligatoire.
23 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.
24 heaven to_verify Program id/candidat ajouté en matrice. Vérifier sil est launch, AMM ou les deux ; corpus dédié.
25 printr to_verify Preset Demo3 ajouté ; candidats observables. Source/IDL, discriminants, corpus, decoder audit-only.
26 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.
27 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_launchpad launch_surface launch known non oui non bootstrap decoded_events_only_until_local_corpus
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 oui oui oui supported 0.7.52 closed; swaps via stable_swap_vault_balance_delta uniquement
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

Note 0.7.48 — Raydium CPMM

raydium_cpmm reste supported, mais sa couverture est maintenant explicitée au niveau entry/event coverage.

Entrées CPMM couvertes localement depuis Carbon/fnzero/IDL :

  • swaps : swap_base_input, swap_base_output ;
  • events Anchor self-CPI audit-only : lp_change_event, swap_event ;
  • pool/lifecycle : initialize, initialize_with_permission ;
  • liquidity : deposit, withdraw ;
  • fees : collect_creator_fee, collect_fund_fee, collect_protocol_fee ;
  • admin/config/permission : create_amm_config, update_amm_config, update_pool_status, create_permission_pda, close_permission_pda.

create_amm_config est traité comme admin/config, pas comme pool creation. swap_event est conservé comme audit-only pour ne pas doubler les trades matérialisés depuis les instructions swap_base_input / swap_base_output.

Note 0.7.48 final — Raydium CPMM

raydium_cpmm est considéré supported et clôturable pour la tranche 0.7.48. Les entrées matérialisées couvrent swaps (swap_base_input, swap_base_output), liquidity (deposit, withdraw, lp_change_event), lifecycle (initialize, initialize_with_permission), fees (collect_creator_fee, collect_fund_fee, collect_protocol_fee) et admin/config (create_amm_config, create_permission_pda, update_amm_config).

swap_event reste audit-only pour éviter tout doublon de trade/candle. close_permission_pda et update_pool_status restent connus upstream mais non observés localement.

Note 0.7.49 — Raydium CLMM initial coverage sync

raydium_clmm reste supported, mais la tranche 0.7.49 rouvre sa couverture événementielle complète au lieu de se limiter aux swaps.

État local repris : swap, swap_v2, increase_liquidity_v2, decrease_liquidity_v2, open_position_with_token22_nft et close_position disposent déjà d'un chemin local spécialisé ou mappé. Les autres entrées CLMM restent à confirmer par corpus avant toute promotion.

Le registre est complété avec les entrées issues de l'IDL officiel Raydium non présentes dans le snapshot Carbon courant : close_limit_order, close_protocol_position, create_customizable_pool, create_dynamic_fee_config, create_support_mint_associated et settle_limit_order.

Règle de clôture : les positions CLMM, fees/rewards et surfaces limit-order ne doivent produire aucune ligne trade/candle tant que le sens économique, les montants, les comptes et les mints ne sont pas prouvés par replay local.

Note 0.7.50-pre-r2 — CPMM/CLMM source parity

La clôture 0.7.50-pre-r2 complète les tranches 0.7.48 et 0.7.49 sans rouvrir leur logique trade/candle :

  • raydium_cpmm.cpi_event est ajouté comme transport Anchor/CPI decoded-only, distinct de swap_base_input / swap_base_output.
  • Le discriminant CPMM 40f4bc78a7e9690a est codé comme raydium_cpmm.anchor_idl_instruction decoded-only après inspection Solscan : gestion Anchor IDL, aucune matérialisation métier.
  • raydium_clmm.cpi_event et raydium_clmm.update_dynamic_fee_config sont ajoutés depuis Carbon.
  • Les Program-data events CLMM reçoivent des local_event_kind et familles explicites.
  • create_support_mint_associated introduit une cible métier spécialisée : k_sol_token_account_events.

Note 0.7.51raydium_amm_v4

Champ Décision 0.7.51
Code local raydium_amm_v4
Program id canonique 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
Statut supported / 0.7.51 closed ; max-decoder local 00..11 validé
Sources principales Carbon raydium-amm-v4-decoder, Pinax src/raydium/amm, fnzero raydium_amm_v4.json, Solscan Program IDL
Swaps swap_base_in, swap_base_out, swap_base_in_v2, swap_base_out_v2
Pool lifecycle initialize, initialize2, pre_initialize
Liquidity deposit, withdraw
Fees/admin/orderbook side effects withdraw_pnl, withdraw_srm, set_params, monitor_step, admin_cancel_orders, migrate_to_open_book, config account ops
SPL Token / Token-2022 side effects transversaux, non promus comme raydium_amm_v4.* directs
raydium_pool_v4 audit comparatif uniquement ; pas de decoder autonome sans program id et corpus local

La tranche a été validée sur base SQLite dédiée : tous les discriminants 00..11 sont observés localement. Les gaps de matérialisation restants sont expliqués par decoded-only, transaction failed ou absence de catalogue/deltas exploitables.

0.7.52 — Raydium Stable Swap

decoder_code program id status layout notes
raydium_stable_swap 5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h supported / closed legacy 1 octet Surface locale 00..0d couverte ; swaps swap_base_in/out matérialisés uniquement depuis deltas vault exacts ; instruction bounds et failed tx restent decoded-only.

0.7.53 — PumpSwap

Decoder Program id Statut Source discriminants Couverture locale Règles métier
pump_swap pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA supported / 0.7.53 closed upstream registry + idls/pump_swap.pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.json + corpus Demo3/replay instructions : buy, sell, buy_exact_quote_in, deposit, withdraw, create_pool, create_config, update_fee_config, creator-fee, cashback, token incentives, volume accumulator, admin/config ; events Anchor autonomes audit-only buy_exact_quote_in trade uniquement avec pump_swap_anchor_buy_event; aucun non-swap en trade/candle ; failed tx decoded-only ; buy_event/sell_event Program-data audit-only ; transfer_creator_fees_to_pump_v2 et update_buyback_config confirmés par Solscan IDL ; set_reserved_fee_recipient conservé sur preuve log locale