This commit is contained in:
2026-06-05 14:53:16 +02:00
parent 27e25d5bf4
commit f81e0f3bea
66 changed files with 7655 additions and 214 deletions

View File

@@ -4,7 +4,7 @@
## 0.7.47-1FE5 — Décision de planification : ne plus viser “tous les events en une session”
La phase `0.7.47` a montré que lobjectif “réimplémenter tous les décodeurs Carbon et toutes les sources en un seul bloc” est trop large. Le plan est donc redécoupé en **un DEX/version par tranche**, avec une matrice documentaire dédiée : `DEX_DECODER_MATRIX.md`.
La phase `0.7.47` a montré que lobjectif “réimplémenter tous les décodeurs Carbon et toutes les sources en un seul bloc” est trop large. Le plan est donc redécoupé en **un DEX/version par tranche**, avec une matrice documentaire dédiée : `docs/DEX_DECODER_MATRIX.md`.
Règles de planification :
@@ -28,24 +28,25 @@ 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.61`
### Plan révisé `0.7.48` à `0.7.62+`
| Version cible | Scope | Objectif de clôture |
|---|---|---|
| `0.7.48` | `raydium_cpmm` | Reprendre tous les discriminants/events depuis Carbon/Solana Streamer ; vérifier swaps, liquidity, fees/admin ; confirmer matérialisation trade/candle et non-trade. |
| `0.7.49` | `raydium_clmm` | Couvrir toutes les instructions CLMM : swaps, positions, liquidity, fees/rewards, Token-2022 ; valider matérialisation non-trade. |
| `0.7.50` | `pump_swap` | Couvrir `buy/sell` et tous les events auxiliaires disponibles : fees, cashback, volume accumulator, admin/config. |
| `0.7.51` | `pump_fun` | Traiter launch/bonding/migration ; séparer création token, buy/sell bonding, migration vers DEX effectif. |
| `0.7.52` | `meteora_dbc` | Couverture DBC : bonding curve, swap, migration, launch attribution, fees/admin, non-trade. |
| `0.7.53` | `meteora_dlmm` | Audit final de parité avec sources Git/IDL ; fermer ou documenter les audits résiduels. |
| `0.7.54` | `meteora_damm_v1` | Parité upstream complète ; résoudre les cas non matérialisés faute de pool/pair quand possible. |
| `0.7.55` | `meteora_damm_v2` | Couverture DAMM v2 complète : create, swap, liquidity, fees/admin/config ; décider trade actionability. |
| `0.7.56` | `phoenix_v1` | Finir tous les events Git disponibles en audit ; préparer mais ne pas activer trade materialization. |
| `0.7.57` | `openbook_v2` | Finir layouts logs/events ; définir conditions futures de trade/candle sans les activer par défaut. |
| `0.7.58` | `orca_whirlpools` | Reprendre Whirlpools depuis IDL/source : swaps, pools, positions, liquidity, fees/rewards. |
| `0.7.59` | Launch surfaces | Raydium LaunchLab/Launchpad, PumpFun migration, Moonshot/Moonit, Boop, Heaven, Bags, LetsBonk. |
| `0.7.60` | DEX historiques / candidats | FluxBeam, DexLab, Lifinity, Stabble, BonkSwap, GooseFX, Obric, SolFi, etc. par corpus. |
| `0.7.61` | Validation consolidée | Rejouer une base neuve multi-DEX, vérifier matrice, zéro faux trade/candle, rapport de couverture par DEX/event. |
| `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.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. |
Ce plan remplace les anciens regroupements larges `0.7.50+` qui mélangeaient plusieurs DEX dans une même version.
@@ -1245,7 +1246,7 @@ Statut : implémenté en micro-tranche DB/reporting, sans modifier les decoders
Fait :
- maintien de `DEX_EVENT_COVERAGE_MATRIX.md` en plus de `DEX_DECODER_MATRIX.md` ;
- maintien de `docs/DEX_EVENT_COVERAGE_MATRIX.md` en plus de `docs/DEX_DECODER_MATRIX.md` ;
- ajout de `k_sol_dex_event_coverage_entries` dans `kb_lib/src/db/schema.rs` ;
- ajout des entity/DTO/queries/re-exports associés ;
- ajout de `DexEventCoverageService` pour synchroniser les entrées du registre upstream Git vers la table de coverage ;
@@ -1278,75 +1279,82 @@ Objectif : reprendre `raydium_cpmm` en premier, avant Meteora, avec une couvertu
- vérifier par SQL que les non-trades ne produisent aucun trade/candle.
### 6.081. Version `0.7.49` — `raydium_clmm` event coverage
Objectif : reprendre `raydium_clmm` après CPMM, avec couverture des swaps, positions, liquidité, rewards, fees, protocol fees et cas Token-2022.
Objectif : clôturer `raydium_clmm` après CPMM.
À faire :
Réalisé :
- lister tous les events/instructions CLMM depuis Carbon/fnzero/IDL ;
- consolider `swap`, `swap_v2`, open/close position, increase/decrease liquidity, reward/fee/admin ;
- classer les events non observés en `upstream_git_mapped_unverified` ;
- matérialiser uniquement les events prouvés par corpus ;
- vérifier absence de faux trades/candles.
- couverture locale de `45` entrées CLMM ;
- `33` instructions spécialisées, observées et décodées ;
- matérialisation contrôlée de `25` entrées vers trade, liquidity, fee, reward, admin, lifecycle et orderbook ;
- ajout de `k_sol_orderbook_events` pour les limit orders CLMM ;
- suppression automatique des fallbacks `upstream_git.instruction_match` localement couverts ;
- 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` — `pump_swap` event coverage
### 6.082. Version `0.7.50` — `raydium_launchpad` event coverage
Objectif : reprendre Raydium Launchpad comme prochaine surface Raydium, avant AMM v4 et Stable.
À 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.
### 6.083. Version `0.7.51` — `raydium_amm_v4` event coverage
Objectif : hisser AMM v4 legacy au niveau de couverture CPMM/CLMM.
À faire : revisiter swaps, initialize/pool lifecycle, add/remove liquidity, fees/admin/config, side effects SPL, failed transaction safety, fallback upstream et validation SQL dédiée.
### 6.084. Version `0.7.52` — `raydium_stable` event coverage
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
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 linvariant non-trade = zéro trade/candle.
### 6.083. Version `0.7.51` — `pump_fun` launch/bonding/migration
### 6.086. Version `0.7.54` — `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.084. Version `0.7.52` — `meteora_dbc` séparé
### 6.087. Version `0.7.55` — `meteora_dbc` séparé
Objectif : reprendre Meteora après les tranches Raydium et Pump, en séparant bonding/launch, swap effectif, migration et attribution dorigine.
À faire : vérifier swaps exploitables, migration, lifecycle, mint/burn éventuels, launch attribution, fees/admin, sans candle artificielle sur events non pricés.
### 6.085. Version `0.7.53` — `meteora_dlmm` parité upstream finale
### 6.088. Version `0.7.56` — `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.086. Version `0.7.54` — `meteora_damm_v1` parité upstream finale
### 6.089. Version `0.7.57` — `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.087. Version `0.7.55` — `meteora_damm_v2` séparé
### 6.090. Version `0.7.58` — `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.088. Version `0.7.56` — `phoenix_v1` audit-only complet
### 6.091. Version `0.7.59` — `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.089. Version `0.7.57` — `openbook_v2` audit-only complet
### 6.092. Version `0.7.60` — `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.090. Version `0.7.58` — `orca_whirlpools` event coverage
### 6.093. Version `0.7.61` — `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.091. Version `0.7.59` — Launch surfaces
Objectif : traiter les surfaces de lancement après les DEX effectifs prioritaires.
### 6.094. Version `0.7.62+` — Launch surfaces, DEX historiques/candidats et validation consolidée
Objectif : traiter les surfaces restantes puis rejouer une base neuve multi-DEX.
À faire : Raydium LaunchLab/Launchpad, PumpFun migration, Moonshot/Moonit, Boop, Heaven, Bags, LetsBonk, avec séparation stricte launch origin / pool origin / DEX effectif.
### 6.092. Version `0.7.60` — DEX historiques / candidats
Objectif : valider les DEX ou surfaces candidates par corpus, sans promotion automatique depuis les sources externes.
À faire : FluxBeam, DexLab, Lifinity, Stabble, BonkSwap, GooseFX, Obric, SolFi et autres entrées Vybe/registry.
### 6.093. Version `0.7.61` — Validation consolidée
Objectif : rejouer une base neuve multi-DEX et valider les invariants du pipeline complet.
À faire : rapport coverage par DEX/event, zéro faux trade/candle, corpus documentés, matrices cohérentes, diagnostics bloquants à zéro.
À 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.
### 6.091. Version `0.8.x` — Analyse et filtrage
Objectif : transformer les événements bruts en signaux exploitables.
@@ -1540,18 +1548,21 @@ Ordre de travail recommandé pour la suite :
3. `0.7.46` : `meteora_damm_v1` — clos côté corpus local ;
4. `0.7.47` : Upstream Git Registry / DEX discovery preparation — acquis ;
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` ;
7. `0.7.49` : `raydium_clmm` ;
8. `0.7.50` : `pump_swap` ;
9. `0.7.51` : `pump_fun` ;
10. `0.7.52` : `meteora_dbc` ;
11. `0.7.53` : `meteora_dlmm` parité upstream finale ;
12. `0.7.54` : `meteora_damm_v1` parité upstream finale ;
13. `0.7.55` : `meteora_damm_v2` ;
14. `0.7.56` : `phoenix_v1` audit-only complet ;
15. `0.7.57` : `openbook_v2` audit-only complet ;
16. `0.7.58` : `orca_whirlpools` ;
17. `0.7.59+` : launch surfaces, DEX candidats/historiques et validation consolidée.
6. `0.7.48` : `raydium_cpmm` — clos ;
7. `0.7.49` : `raydium_clmm` — clos ;
8. `0.7.50` : `raydium_launchpad` ;
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.
Garde-fous constants :
@@ -1602,7 +1613,7 @@ cargo test -p kb_lib
cargo clippy -p kb_lib --all-targets -- -D warnings
```
Puis relancer la validation SQL `SQL_VALIDATION_RAYDIUM_CPMM_0_7_48.sql` sur la base de corpus CPMM.
Puis relancer la validation SQL `validation_sql/SQL_VALIDATION_RAYDIUM_CPMM_0_7_48.sql` sur la base de corpus CPMM.
Complément appliqué après constitution du corpus CPMM :
@@ -1623,4 +1634,4 @@ 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 reprend en `0.7.49` par `raydium_clmm`, en utilisant les sources Git/IDL habituelles et la page Solscan Program IDL `https://solscan.io/account/CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK#programIdl` pour accélérer la découverte de signatures par discriminant.
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.