# Prompt de reprise — khadhroony-bobobot `0.7.47-1FE5` / Event coverage Reprise du projet `khadhroony-bobobot`. ## Archive de départ Utiliser : ```text khadhroony-bobobot-v0.7.47-1FE5-full.zip ``` Et les docs : ```text README.md ROADMAP.md CHANGELOG.md docs/DEX_DECODER_MATRIX.md docs/DEX_EVENT_COVERAGE_MATRIX.md docs/DB_EVENT_MODEL_REVIEW.md ``` ## Décision de reprise Ne pas essayer de “faire tous les events de tous les DEX” dans une seule session. La stratégie est maintenant : ```text un DEX/version = une tranche tous les events listés = audit coverage matérialisation seulement après corpus + SQL + invariants ``` ## Sources Git/IDL à utiliser systématiquement - https://github.com/sevenlabs-hq/carbon/tree/main/decoders - https://github.com/0xfnzero/solana-streamer - https://github.com/0xfnzero/sol-parser-sdk/tree/main/idl - https://github.com/pinax-network/substreams-solana-idls/tree/main/src - https://github.com/hodlwarden/solana-tx-parser/tree/main/src - https://github.com/openbook-dex/openbook-v2 - https://github.com/all-in-one-blockchain/phoenix-onchain-mm - https://docs.vybenetwork.com/docs/available-dexs-amms ## Objectif événementiel Décoder le maximum d’events, pas seulement les swaps. Inclure explicitement : ```text swap pool_create add_liquidity remove_liquidity position_open position_close fee reward admin/config mint burn transfer account_create account_close wrap_sol unwrap_sol order_place order_cancel order_fill consume_events settle_funds vault_deposit vault_withdraw lock unlock launch migration stake unstake unknown/unmapped audit ``` Raison : burn, perte de liquidité, changements admin/config, vault withdraw, migration, mint anormal, close account, etc. peuvent influencer une décision de trading même si ce ne sont pas des trades. ## Base de données La base actuelle suffit pour audit-only via `k_sol_dex_decoded_events`, mais elle n’est pas suffisante pour tout exploiter en requêtes métier. À considérer avant ou pendant `0.7.48` : ```text k_sol_dex_event_coverage_entries k_sol_token_transfer_events k_sol_token_account_events k_sol_orderbook_events k_sol_vault_events k_sol_launch_events k_sol_liquidity_lock_events ``` Priorité minimale : ```text 1. k_sol_dex_event_coverage_entries 2. k_sol_token_transfer_events 3. k_sol_orderbook_events ``` ## Ordre des versions ```text 0.7.48-pre event coverage + DB model checkpoint 0.7.48 raydium_cpmm 0.7.49 raydium_clmm 0.7.50 pump_swap 0.7.51 pump_fun 0.7.52 meteora_dbc 0.7.53 meteora_dlmm 0.7.54 meteora_damm_v1 0.7.55 meteora_damm_v2 0.7.56 phoenix_v1 0.7.57 openbook_v2 0.7.58 orca_whirlpools 0.7.59 launch surfaces 0.7.60 DEX historiques/candidats 0.7.61 validation consolidée ``` ## Règles fixes - Un event non-trade ne produit jamais trade/candle. - Une transaction failed reste audit, jamais trade/candle. - Un discriminator upstream n’est pas une preuve métier. - Un program id upstream n’est pas vérifié sans corpus local. - Chaque decoder spécialisé doit remplacer le fallback `upstream_git.instruction_match` pour éviter les doublons. - Tout event connu mais non observé reste `upstream_git_mapped_unverified`. - Tout event observé mais non matérialisé reste audit-only ou decoded, pas materialized. ## Prochaine tâche recommandée Commencer par : ```text 0.7.48-pre — event coverage + DB model checkpoint ``` Livrables attendus : 1. ajouter/documenter une table de couverture event/discriminator ; 2. générer un rapport de couverture par DEX/version ; 3. préparer `raydium_cpmm` avec la liste complète des events depuis Carbon/fnzero/IDL ; 4. ne pas changer encore la matérialisation trade/candle.