0.7.50
This commit is contained in:
97
ROADMAP.md
97
ROADMAP.md
@@ -28,25 +28,26 @@ Règles de planification :
|
||||
| `https://github.com/all-in-one-blockchain/phoenix-onchain-mm` | Source Phoenix/MM complémentaire. |
|
||||
| `https://docs.vybenetwork.com/docs/available-dexs-amms` | Source externe de découverte DEX/AMM, non vérifiante. |
|
||||
|
||||
### Plan révisé `0.7.48` à `0.7.62+`
|
||||
### Plan révisé `0.7.48` à `0.7.63+`
|
||||
|
||||
| Version cible | Scope | Objectif de clôture |
|
||||
|---|---|---|
|
||||
| `0.7.48` | `raydium_cpmm` | Clôturé : instructions/events CPMM, lifecycle, fees, admin/config, deposit/withdraw, `lp_change_event`, invariants trade/candle. |
|
||||
| `0.7.49` | `raydium_clmm` | Clôturé : 33 instructions observées/décodées, orderbook CLMM, liquidity/fee/reward/admin/lifecycle, fallbacks upstream nettoyés, 11 Program-data events préparés mais non observés. |
|
||||
| `0.7.50` | `raydium_launchpad` | Reprendre Launchpad comme surface Raydium prioritaire : identifier les program ids/IDL, launch, pool creation, migration, bonding éventuel, fees/admin, et rattachement au DEX effectif. |
|
||||
| `0.7.50` | `raydium_launchpad` | Bootstrap ouvert : surface LaunchLab/Launchpad, discriminants Carbon/IDL, fallback audit, SQL de validation, aucune matérialisation métier sans corpus. |
|
||||
| `0.7.51` | `raydium_amm_v4` | Reprendre AMM v4 legacy au même niveau de couverture que CPMM/CLMM : swaps, pool lifecycle, liquidity, fees/admin, side effects documentés. |
|
||||
| `0.7.52` | `raydium_stable` | Reprendre Raydium Stable : program ids/IDL, swaps stables, pool lifecycle, liquidity, fees/admin, invariants pricing/candles. |
|
||||
| `0.7.53` | `pump_swap` | Couvrir `buy/sell` et tous les events auxiliaires disponibles : fees, cashback, volume accumulator, admin/config. |
|
||||
| `0.7.54` | `pump_fun` | Traiter launch/bonding/migration ; séparer création token, buy/sell bonding, migration vers DEX effectif. |
|
||||
| `0.7.55` | `meteora_dbc` | Couverture DBC : bonding curve, swap, migration, launch attribution, fees/admin, non-trade. |
|
||||
| `0.7.56` | `meteora_dlmm` | Audit final de parité avec sources Git/IDL ; fermer ou documenter les audits résiduels. |
|
||||
| `0.7.57` | `meteora_damm_v1` | Parité upstream complète ; résoudre les cas non matérialisés faute de pool/pair quand possible. |
|
||||
| `0.7.58` | `meteora_damm_v2` | Couverture DAMM v2 complète : create, swap, liquidity, fees/admin/config ; décider trade actionability. |
|
||||
| `0.7.59` | `phoenix_v1` | Finir tous les events Git disponibles en audit ; préparer mais ne pas activer trade materialization. |
|
||||
| `0.7.60` | `openbook_v2` | Finir layouts logs/events ; définir conditions futures de trade/candle sans les activer par défaut. |
|
||||
| `0.7.61` | `orca_whirlpools` | Reprendre Whirlpools depuis IDL/source : swaps, pools, positions, liquidity, fees/rewards. |
|
||||
| `0.7.62+` | Launch surfaces / DEX candidats / validation consolidée | Moonshot/Moonit, Boop, Heaven, Bags, LetsBonk, FluxBeam, DexLab, Lifinity, Stabble, BonkSwap, GooseFX, Obric, SolFi puis base neuve multi-DEX. |
|
||||
| `0.7.53` | `raydium_pool_v4` | Audit / program-id decision seulement : confirmer program id, rôle exact et corpus avant toute promotion métier. |
|
||||
| `0.7.54` | `pump_swap` | Couvrir `buy/sell` et tous les events auxiliaires disponibles : fees, cashback, volume accumulator, admin/config. |
|
||||
| `0.7.55` | `pump_fun` | Traiter launch/bonding/migration ; séparer création token, buy/sell bonding, migration vers DEX effectif. |
|
||||
| `0.7.56` | `meteora_dbc` | Couverture DBC : bonding curve, swap, migration, launch attribution, fees/admin, non-trade. |
|
||||
| `0.7.57` | `meteora_dlmm` | Audit final de parité avec sources Git/IDL ; fermer ou documenter les audits résiduels. |
|
||||
| `0.7.58` | `meteora_damm_v1` | Parité upstream complète ; résoudre les cas non matérialisés faute de pool/pair quand possible. |
|
||||
| `0.7.59` | `meteora_damm_v2` | Couverture DAMM v2 complète : create, swap, liquidity, fees/admin/config ; décider trade actionability. |
|
||||
| `0.7.60` | `phoenix_v1` | Finir tous les events Git disponibles en audit ; préparer mais ne pas activer trade materialization. |
|
||||
| `0.7.61` | `openbook_v2` | Finir layouts logs/events ; définir conditions futures de trade/candle sans les activer par défaut. |
|
||||
| `0.7.62` | `orca_whirlpools` | Reprendre Whirlpools depuis IDL/source : swaps, pools, positions, liquidity, fees/rewards. |
|
||||
| `0.7.63+` | Launch surfaces / DEX candidats / validation consolidée | Moonshot/Moonit, Boop, Heaven, Bags, LetsBonk, FluxBeam, DexLab, Lifinity, Stabble, BonkSwap, GooseFX, Obric, SolFi puis base neuve multi-DEX. |
|
||||
|
||||
Ce plan remplace les anciens regroupements larges `0.7.50+` qui mélangeaient plusieurs DEX dans une même version.
|
||||
|
||||
@@ -851,7 +852,7 @@ Matrice cible initiale :
|
||||
| `pump_swap` | AMM / swap | supporté | conserver trades/candles |
|
||||
| `raydium_cpmm` | AMM | supporté | conserver trades/candles |
|
||||
| `raydium_clmm` | CLMM | supporté | conserver trades/candles |
|
||||
| `raydium_launchlab` | launch surface | planifié, program id local connu | ajouter decoder/materialization dédiée |
|
||||
| `raydium_launchpad` | launch surface | planifié, program id local connu | ajouter decoder/materialization dédiée |
|
||||
| `raydium_amm_v4` | AMM legacy | partiel | corpus dédié après autres Raydium |
|
||||
| `raydium_router` | router | partiel | ne pas matérialiser en trade direct avant preuve |
|
||||
| `raydium_stable_swap` | AMM legacy | planifié | traiter seulement si corpus pertinent |
|
||||
@@ -1231,7 +1232,7 @@ Objectif : accélérer la découverte multi-DEX en indexant les `program_id`, di
|
||||
|
||||
Familles prioritaires à indexer en premier :
|
||||
|
||||
- DEX / AMM / CLMM / orderbook : `meteora_damm_v2`, `meteora_dbc`, `meteora_dlmm`, `meteora_vault`, `raydium_amm_v4`, `raydium_clmm`, `raydium_cpmm`, `raydium_launchlab`, `raydium_liquidity_locking`, `raydium_stable_swap`, `orca_whirlpools`, `fluxbeam`, `lifinity_v2`, `phoenix_v1`, `openbook_v2`, `stabble_stable_swap`, `stabble_weighted_swap`, `bonkswap`, `boop`, `moonshot`, `heaven`, `okx_dex`, `pancake_swap`, `vertigo`, `virtuals`, `wavebreak`, `onchain_labs_dex_v1`, `onchain_labs_dex_v2` ;
|
||||
- DEX / AMM / CLMM / orderbook : `meteora_damm_v2`, `meteora_dbc`, `meteora_dlmm`, `meteora_vault`, `raydium_amm_v4`, `raydium_clmm`, `raydium_cpmm`, `raydium_launchpad`, `raydium_liquidity_locking`, `raydium_stable_swap`, `orca_whirlpools`, `fluxbeam`, `lifinity_v2`, `phoenix_v1`, `openbook_v2`, `stabble_stable_swap`, `stabble_weighted_swap`, `bonkswap`, `boop`, `moonshot`, `heaven`, `okx_dex`, `pancake_swap`, `vertigo`, `virtuals`, `wavebreak`, `onchain_labs_dex_v1`, `onchain_labs_dex_v2` ;
|
||||
- agrégateurs / ordres / perps / lending utiles au routage ou à l’analyse : `jupiter_swap`, `jupiter_dca`, `jupiter_limit_order`, `jupiter_limit_order_2`, `jupiter_perpetuals`, `jupiter_lend`, `kamino_lending`, `kamino_vault`, `kamino_farms`, `kamino_limit_order`, `drift_v2`, `marginfi_v2`, `dflow_aggregator_v4`, `zeta` ;
|
||||
- contexte transactionnel non DEX : `system_program`, `token_program`, `token_2022`, `associated_token_account`, `address_lookup_table`, `memo_program`, `stake_program`, `mpl_token_metadata`, `mpl_core`, `bubblegum`, `name_service`, `marinade_finance`, `solayer_restaking_program`, `swig`, `sharky`, `circle_message_transmitter_v2`, `circle_token_messenger_v2`.
|
||||
|
||||
@@ -1291,10 +1292,18 @@ Réalisé :
|
||||
- préparation audit-only des 11 Anchor / `Program data` events non encore observés ;
|
||||
- invariants validés : aucun faux trade/candle, aucune matérialisation sur transaction échouée, `raydium_clmm.instruction_audit` résiduel à zéro.
|
||||
|
||||
### 6.082. Version `0.7.50` — `raydium_launchpad` event coverage
|
||||
Objectif : reprendre Raydium Launchpad comme prochaine surface Raydium, avant AMM v4 et Stable.
|
||||
### 6.082. Version `0.7.50-pre-r2` — Raydium CPMM/CLMM coverage closure
|
||||
Objectif : clôturer la vérification CPMM/CLMM après la tranche Launchpad, en comparant le code local avec Carbon, Solscan Program IDL et `sol-parser-sdk`, puis en supprimant les familles ambiguës restantes de la matrice coverage.
|
||||
|
||||
À faire : identifier les program ids/IDL depuis sources Git/IDL/Solscan, couvrir launch/pool creation, migration/rattachement au DEX effectif, fees/admin/config, éventuels side effects SPL/Token-2022, et matérialiser seulement les events prouvés par corpus local.
|
||||
Réalisé : ajout des entrées `cpi_event` CPMM/CLMM (`e445a52e51cb9a1d`), ajout de `update_dynamic_fee_config` CLMM (`0707500802c784f0`), rattachement local des Program-data events CLMM (`swap_event`, `pool_created_event`, `liquidity_change_event`, `create_personal_position_event`, `config_change_event`, `collect_protocol_fee_event`, `update_reward_infos_event`) et ajout de `k_sol_token_account_events` pour les événements type `create_support_mint_associated`. Les familles `unknown` restantes sont remplacées par `cpi_transport`, `liquidity_calculation`, `liquidity_change`, `position_open`, `pool_create`, `admin_config` ou `account_create` selon le cas.
|
||||
|
||||
Point audit résolu : le discriminant CPMM local `40f4bc78a7e9690a` est codé comme `raydium_cpmm.anchor_idl_instruction` avec `event_family=idl_management` et `expected_db_target=k_sol_dex_decoded_events_only`. Les signatures Solscan montrent `IdlCreateAccount` / `IdlCloseAccount` sur le compte `anchor:idl`; cette entrée reste donc informative et ne doit pas produire trade, candle, liquidity, fee ou admin métier.
|
||||
|
||||
Décisions de clôture CLMM : `swap_event` et `swap_router_base_in` restent `decoded_events_only` pour éviter le double comptage avec les instructions `swap` / `swap_v2`; `liquidity_calculate_event` reste diagnostic ; `close_position` / `close_protocol_position` restent décodés mais non matérialisés tant que le corpus ne fournit pas un rattachement pool/pair fiable. La matérialisation liquidity tente désormais un contexte de secours via événements frères de la même transaction quand un event CLMM porte les montants mais pas directement le pool/pair.
|
||||
|
||||
Suite locale : rebrancher les bases CPMM/CLMM, rejouer `forceDexDecode=yes`, vérifier que les requêtes `unknown`, fallback upstream, audit résiduel et matérialisation attendue ne remontent plus que des cas explicitement `decoded_events_only` ou des transactions failed.
|
||||
|
||||
Rapport associé : `docs/reports/RAYDIUM_CPMM_CLMM_RECHECK_REPORT_0_7_50_PRE_R2.md`.
|
||||
|
||||
### 6.083. Version `0.7.51` — `raydium_amm_v4` event coverage
|
||||
Objectif : hisser AMM v4 legacy au niveau de couverture CPMM/CLMM.
|
||||
@@ -1306,52 +1315,57 @@ Objectif : reprendre Raydium Stable comme troisième tranche Raydium post-CLMM.
|
||||
|
||||
À faire : vérifier program ids/IDL, swaps stables, liquidity, pool lifecycle, fees/admin/config, cohérence des montants/prix et absence de faux trades/candles.
|
||||
|
||||
### 6.085. Version `0.7.53` — `pump_swap` event coverage
|
||||
### 6.085. Version `0.7.53` — `raydium_pool_v4` audit / program-id decision
|
||||
Objectif : auditer `raydium_pool_v4.json` comme source IDL annexe, sans promotion métier automatique.
|
||||
|
||||
À faire : confirmer s'il correspond à un program id distinct, confirmer son rôle exact par rapport à `raydium_amm_v4`, chercher un corpus exploitable, puis décider seulement ensuite si une surface dédiée est nécessaire.
|
||||
|
||||
### 6.086. Version `0.7.54` — `pump_swap` event coverage
|
||||
Objectif : compléter `pump_swap` au-delà de `buy/sell`.
|
||||
|
||||
À faire : couvrir fees, cashback, volume accumulator, admin/config et autres events upstream disponibles, tout en maintenant l’invariant non-trade = zéro trade/candle.
|
||||
|
||||
### 6.086. Version `0.7.54` — `pump_fun` launch/bonding/migration
|
||||
### 6.087. Version `0.7.55` — `pump_fun` launch/bonding/migration
|
||||
Objectif : séparer launch/bonding de DEX effectif et valider migration vers PumpSwap ou autre surface tradable.
|
||||
|
||||
À faire : traiter create, buy/sell bonding, update/config, mint/burn éventuels, migration/graduate et rattachement au pool tradable.
|
||||
|
||||
### 6.087. Version `0.7.55` — `meteora_dbc` séparé
|
||||
### 6.088. Version `0.7.56` — `meteora_dbc` séparé
|
||||
Objectif : reprendre Meteora après les tranches Raydium et Pump, en séparant bonding/launch, swap effectif, migration et attribution d’origine.
|
||||
|
||||
À faire : vérifier swaps exploitables, migration, lifecycle, mint/burn éventuels, launch attribution, fees/admin, sans candle artificielle sur events non pricés.
|
||||
|
||||
### 6.088. Version `0.7.56` — `meteora_dlmm` parité upstream finale
|
||||
### 6.089. Version `0.7.57` — `meteora_dlmm` parité upstream finale
|
||||
Objectif : comparer la couverture locale DLMM déjà avancée avec toutes les sources Git/IDL et documenter ou fermer les audits résiduels.
|
||||
|
||||
À faire : revalider swaps, liquidity, positions, lifecycle, fees/rewards/admin, et garder les discriminants non mappés en audit documenté.
|
||||
|
||||
### 6.089. Version `0.7.57` — `meteora_damm_v1` parité upstream finale
|
||||
### 6.090. Version `0.7.58` — `meteora_damm_v1` parité upstream finale
|
||||
Objectif : compléter la tranche DAMM v1 déjà engagée, résoudre les surfaces non observées et améliorer le rattachement pool/pair quand possible.
|
||||
|
||||
À faire : vérifier toutes les instructions upstream restantes, matérialiser uniquement les events prouvés et documenter les cas sans pool/pair local.
|
||||
|
||||
### 6.090. Version `0.7.58` — `meteora_damm_v2` séparé
|
||||
### 6.091. Version `0.7.59` — `meteora_damm_v2` séparé
|
||||
Objectif : reprendre DAMM v2 comme DEX effectif séparé après disponibilité du ledger de coverage.
|
||||
|
||||
À faire : consolider create_pool, swaps exploitables, configs dynamiques, liquidity, fees/admin, lifecycle ; conserver les swaps sans payload montant/prix fiable comme `non_actionable_trade`.
|
||||
|
||||
### 6.091. Version `0.7.59` — `phoenix_v1` audit-only complet
|
||||
### 6.092. Version `0.7.60` — `phoenix_v1` audit-only complet
|
||||
Objectif : finir tous les events Git disponibles en audit, sans activer de trade/candle.
|
||||
|
||||
À faire : couvrir `Fill`, `FillSummary`, `Fee`, `Evict`, `ExpiredOrder` et autres logs/events disponibles ; préparer le futur modèle orderbook sans matérialisation marché par défaut.
|
||||
|
||||
### 6.092. Version `0.7.60` — `openbook_v2` audit-only complet
|
||||
### 6.093. Version `0.7.61` — `openbook_v2` audit-only complet
|
||||
Objectif : finir les layouts logs/events OpenBook v2 et définir les conditions futures de matérialisation orderbook/trade.
|
||||
|
||||
À faire : vérifier fills, settle, consume events, open orders create/close, maker/taker, lots/decimals et sens économique avant toute promotion.
|
||||
|
||||
### 6.093. Version `0.7.61` — `orca_whirlpools` event coverage
|
||||
### 6.094. Version `0.7.62` — `orca_whirlpools` event coverage
|
||||
Objectif : reprendre Whirlpools depuis IDL/source avec corpus dédié.
|
||||
|
||||
À faire : swaps, pools, positions, liquidity, fees/rewards, tick arrays, mint/burn/Token-2022 si applicable.
|
||||
|
||||
### 6.094. Version `0.7.62+` — Launch surfaces, DEX historiques/candidats et validation consolidée
|
||||
### 6.095. Version `0.7.63+` — Launch surfaces, DEX historiques/candidats et validation consolidée
|
||||
Objectif : traiter les surfaces restantes puis rejouer une base neuve multi-DEX.
|
||||
|
||||
À faire : Moonshot/Moonit, Boop, Heaven, Bags, LetsBonk, FluxBeam, DexLab, Lifinity, Stabble, BonkSwap, GooseFX, Obric, SolFi et autres entrées Vybe/registry ; rapport coverage par DEX/event, zéro faux trade/candle, corpus documentés, matrices cohérentes, diagnostics bloquants à zéro.
|
||||
@@ -1550,19 +1564,20 @@ Ordre de travail recommandé pour la suite :
|
||||
5. `0.7.48-pre` : event coverage + DB model checkpoint — clos après table, sync upstream, refresh counts, diagnostics et profil validation ;
|
||||
6. `0.7.48` : `raydium_cpmm` — clos ;
|
||||
7. `0.7.49` : `raydium_clmm` — clos ;
|
||||
8. `0.7.50` : `raydium_launchpad` ;
|
||||
8. `0.7.50-pre-r2` : `raydium_launchpad` clos + re-vérification CPMM/CLMM ;
|
||||
9. `0.7.51` : `raydium_amm_v4` ;
|
||||
10. `0.7.52` : `raydium_stable` ;
|
||||
11. `0.7.53` : `pump_swap` ;
|
||||
12. `0.7.54` : `pump_fun` ;
|
||||
13. `0.7.55` : `meteora_dbc` ;
|
||||
14. `0.7.56` : `meteora_dlmm` parité upstream finale ;
|
||||
15. `0.7.57` : `meteora_damm_v1` parité upstream finale ;
|
||||
16. `0.7.58` : `meteora_damm_v2` ;
|
||||
17. `0.7.59` : `phoenix_v1` audit-only complet ;
|
||||
18. `0.7.60` : `openbook_v2` audit-only complet ;
|
||||
19. `0.7.61` : `orca_whirlpools` ;
|
||||
20. `0.7.62+` : launch surfaces, DEX candidats/historiques et validation consolidée.
|
||||
11. `0.7.53` : `raydium_pool_v4` audit conditionnel ;
|
||||
12. `0.7.54` : `pump_swap` ;
|
||||
13. `0.7.55` : `pump_fun` ;
|
||||
14. `0.7.56` : `meteora_dbc` ;
|
||||
15. `0.7.57` : `meteora_dlmm` parité upstream finale ;
|
||||
16. `0.7.58` : `meteora_damm_v1` parité upstream finale ;
|
||||
17. `0.7.59` : `meteora_damm_v2` ;
|
||||
18. `0.7.60` : `phoenix_v1` audit-only complet ;
|
||||
19. `0.7.61` : `openbook_v2` audit-only complet ;
|
||||
20. `0.7.62` : `orca_whirlpools` ;
|
||||
21. `0.7.63+` : launch surfaces, DEX candidats/historiques et validation consolidée.
|
||||
|
||||
Garde-fous constants :
|
||||
|
||||
@@ -1634,4 +1649,8 @@ La tranche CPMM reconnaît désormais tous les discriminants instruction-level l
|
||||
|
||||
`0.7.48` est clôturable côté `raydium_cpmm`. Le decoder couvre les instructions/events CPMM listés par Carbon/fnzero/Raydium CP-Swap, avec matérialisation locale validée pour trades, liquidity, lifecycle, fees et admin/config. `swap_event` reste audit-only pour éviter les doublons avec `swap_base_input` / `swap_base_output`. Les side effects SPL Token / Token-2022 observés via Solscan (`burn`, `transfer`, `transferChecked`, `closeAccount`) restent hors decoder CPMM direct et alimenteront une réflexion transversale future.
|
||||
|
||||
La suite après `0.7.49 raydium_clmm` reprend en `0.7.50` par `raydium_launchpad`, puis `0.7.51 raydium_amm_v4` et `0.7.52 raydium_stable`, en gardant la même discipline : sources Git/IDL + Solscan pour accélérer la découverte, mais corpus local obligatoire avant toute promotion métier.
|
||||
La suite après `0.7.49 raydium_clmm` reprend en `0.7.50-pre-r2` par la clôture Launchpad et la re-vérification CPMM/CLMM, puis `0.7.51 raydium_amm_v4`, `0.7.52 raydium_stable` et `0.7.53 raydium_pool_v4` uniquement comme audit conditionnel, en gardant la même discipline : sources Git/IDL + Solscan pour accélérer la découverte, mais corpus local obligatoire avant toute promotion métier.
|
||||
|
||||
### Note `0.7.50-final` — clôture Launchpad + recheck Raydium
|
||||
|
||||
`0.7.50` se clôture avec `raydium_launchpad` et la re-vérification CPMM/CLMM. Le dernier correctif cible le cleanup FK-safe des anciens `raydium_cpmm.instruction_audit` `40f4bc78a7e9690a`, maintenant remplacés par `raydium_cpmm.anchor_idl_instruction` decoded-only. La suite planifiée reste `0.7.51 raydium_amm_v4`, puis `0.7.52 raydium_stable`, avec découverte accélérée par Solscan `instruction=<discriminator>` et validation obligatoire par corpus local.
|
||||
|
||||
Reference in New Issue
Block a user