0.7.29
This commit is contained in:
122
ROADMAP.md
122
ROADMAP.md
@@ -766,9 +766,7 @@ Objectif : verrouiller la non-régression du pipeline actuel avant d’ajouter d
|
||||
- valider que les transactions échouées restent traçables dans les événements décodés sans produire de `k_sol_trade_events`.
|
||||
|
||||
### 6.060. Version `0.7.28` — Refactor DEX commun et préparation extension
|
||||
Objectif : nettoyer la couche DEX avant d’ajouter de nouveaux protocoles, sans modifier le transport HTTP/WS déjà stabilisé.
|
||||
|
||||
À faire :
|
||||
Réalisé :
|
||||
|
||||
- ne pas toucher à `ws_client.rs`, `ws_manager.rs`, `http_client.rs`, `http_pool.rs` ni aux couches JSON-RPC déjà stabilisées,
|
||||
- extraire depuis `dex_decode.rs` les catégories communes d’événements : trade, candle candidate, liquidity candidate, fee candidate, reward candidate, admin candidate, pool lifecycle candidate,
|
||||
@@ -787,52 +785,54 @@ Contraintes :
|
||||
- aucun changement de comportement métier volontaire dans cette version,
|
||||
- aucun événement non price-action ne doit devenir un trade ou une candle.
|
||||
|
||||
### 6.061. Version `0.7.29` — Matrice DEX, corpus et documentation de support
|
||||
Objectif : rendre explicite ce qui est validé, présent, partiel, manquant ou volontairement ignoré.
|
||||
### 6.061. Version `0.7.29` — Matrice DEX commune et validation baseline
|
||||
Réalisé :
|
||||
|
||||
À faire :
|
||||
|
||||
- ajouter et maintenir une matrice DEX dans `README.md` et `ROADMAP.md`,
|
||||
- distinguer clairement `DEX effectif`, `launch surface`, `pool origin`, `launch origin` et `migration target`,
|
||||
- documenter que les launch surfaces sont importantes comme première source de mint/lancement même lorsqu’un token migre ensuite vers un autre DEX,
|
||||
- constituer une liste de corpus par DEX/surface : signatures, pools, token mints, résultat attendu,
|
||||
- indiquer pour chaque protocole : statut, source de preuve, type d’événements couverts, tables alimentées, limites connues,
|
||||
- retirer `zora_solana` du phasage actif tant qu’aucun programme Solana pertinent n’est prouvé,
|
||||
- ajouter `meteora_dlmm` à la matrice comme variante Meteora manquante à couvrir plus tard,
|
||||
- préparer les diagnostics SQL de référence par protocole et par table métier.
|
||||
- ajouter `kb_lib/src/dex_support_matrix.rs` comme source commune de metadata DEX/surfaces ;
|
||||
- exposer pour chaque entrée : code interne, famille, version, type de surface, program id connu ou à vérifier, support actuel, statut, confiance, raisons de skip et activation catalogue ;
|
||||
- raccorder `dex_catalog`, `transaction_classification` et `protocol_candidate_recording` à cette matrice ;
|
||||
- ajouter le profil `0.7.29_multi_dex_matrix_baseline` ;
|
||||
- exposer la matrice dans le rapport de validation local ;
|
||||
- conserver explicitement le comportement `0.7.28` : transactions failed traçables mais non actionnables, et `meteora_damm_v1.swap` sans payload montant/prix non candidat trade/candle.
|
||||
|
||||
Matrice cible initiale :
|
||||
|
||||
| Code cible | Type | Statut | Objectif immédiat |
|
||||
| Code cible | Type | Statut `0.7.29` | Objectif immédiat |
|
||||
|---|---:|---|---|
|
||||
| `pump_fun` | launch + bonding curve | testé via démo | verrouiller corpus et invariants |
|
||||
| `pump_swap` | AMM / swap | testé via démo | verrouiller trades/candles |
|
||||
| `raydium_cpmm` | AMM | testé via démo | verrouiller trades/candles |
|
||||
| `raydium_clmm` | CLMM | testé via démo | verrouiller trades/candles |
|
||||
| `raydium_launchlab` / `raydium_launchpad` | launch surface | manquant | détecter mint, launch, migration |
|
||||
| `raydium_amm_v4` | AMM legacy | présent, à isoler | corpus dédié après autres DEX |
|
||||
| `meteora_dbc` | launch / bonding curve | présent, à consolider | lifecycle, migration, swaps utiles |
|
||||
| `meteora_damm_v1` | AMM legacy | présent, à consolider | corpus et séparation events |
|
||||
| `meteora_damm_v2` | AMM | présent, à consolider | corpus et séparation events |
|
||||
| `meteora_dlmm` | DLMM | manquant | ajouter corpus avant décodeur |
|
||||
| `orca_whirlpools` | CLMM | présent, à consolider | validation par corpus |
|
||||
| `fluxbeam` | DEX | présent, à consolider | validation par corpus |
|
||||
| `dexlab` | DEX | présent, à consolider | validation par corpus |
|
||||
| `bags` | launch surface | amorcé | attribution fiable, migration si prouvée |
|
||||
| `letsbonk` / `bonk_fun` | launch surface | manquant | origine LaunchLab/Raydium |
|
||||
| `boop_fun` | launch surface | manquant | origine mint/lancement/migration |
|
||||
| `moonshot` / `moonit` | launch surface | amorcé partiellement | corpus, éviter heuristique faible |
|
||||
| `believe` | launch surface | manquant | origine Meteora DBC si comptes probants |
|
||||
| `heaven` | launch + AMM candidat | manquant | corpus et séparation launch/swap |
|
||||
| `pump_fun` | launch + bonding curve | partiel | rattacher mint initial, bonding curve et migration |
|
||||
| `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 | à vérifier | ne pas inventer de program id |
|
||||
| `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 |
|
||||
| `meteora_dlmm` | DLMM | supporté | verrouiller corpus et non-régression |
|
||||
| `meteora_damm_v1` | AMM legacy | partiel | garder skip explicite sans payload montant/prix |
|
||||
| `meteora_damm_v2` | AMM | partiel | corpus et séparation events |
|
||||
| `meteora_dbc` | launch / bonding curve | partiel | lifecycle, migration, swaps utiles |
|
||||
| `meteora_dlc` | à vérifier | à vérifier | confirmer surface/program id avant intégration |
|
||||
| `orca_whirlpools` | CLMM | partiel | validation par corpus |
|
||||
| `fluxbeam` | AMM | partiel | validation par corpus |
|
||||
| `dexlab` | AMM | partiel | validation par corpus |
|
||||
| `bags` | launch surface | planifié | attribution fiable, migration si prouvée |
|
||||
| `letsbonk` / `bonk` | launch surface | planifié | origine mint/lancement, sans supposer un AMM autonome |
|
||||
| `okx_dex` | aggregator/router | planifié | classifier sans trade direct avant preuve |
|
||||
| `boop_fun` | launch surface | planifié | origine mint/lancement/migration |
|
||||
| `moonshot` / `moonit` | launch surface | planifié | corpus, éviter heuristique faible |
|
||||
| `believe` | launch surface | planifié | confirmer comptes et migrations |
|
||||
| `heaven` | launch + AMM candidat | planifié | corpus et séparation launch/swap |
|
||||
| `zora` | à vérifier | à vérifier | hors phasage actif avant preuve Solana |
|
||||
|
||||
### 6.062. Version `0.7.30` — Transactions inconnues et protocol candidates
|
||||
Objectif : ne plus perdre les transactions utiles qui ne correspondent pas encore à un DEX connu.
|
||||
|
||||
À faire :
|
||||
|
||||
- ajouter `k_sol_transaction_classifications`,
|
||||
- ajouter `k_sol_protocol_candidates`,
|
||||
- classifier les transactions résolues en catégories : known dex, known launch surface, unknown program, non-dex, failed transaction, partial decode, ignored technical transaction,
|
||||
- consolider `k_sol_transaction_classifications`, déjà présente, avec les catégories utiles au suivi DEX,
|
||||
- consolider `k_sol_protocol_candidates`, déjà présente, pour prioriser les programmes inconnus ou partiellement reconnus,
|
||||
- classifier les transactions résolues en catégories : known supported, known partial, known non-trade, unknown program, unknown protocol candidate, unknown event kind, failed transaction, non-actionable trade,
|
||||
- conserver les `program_id`, comptes, signatures, préfixes de `data`, logs et indices d’instructions utiles à l’analyse,
|
||||
- créer des requêtes de diagnostic pour repérer les programmes inconnus fréquents,
|
||||
- permettre de promouvoir plus tard un protocol candidate vers un vrai DEX/surface sans perdre l’historique,
|
||||
@@ -1161,6 +1161,19 @@ Plus tard, ce comportement pourra devenir configurable dans `config.json` et pil
|
||||
6. laisser se terminer le flux de lecture,
|
||||
7. journaliser clairement les cas dégradés.
|
||||
|
||||
## 10.5. Jalons `0.7.29`
|
||||
|
||||
Réalisé / à maintenir :
|
||||
|
||||
- matrice DEX commune dans `kb_lib/src/dex_support_matrix.rs` ;
|
||||
- raccordement minimal du catalogue DEX à cette matrice ;
|
||||
- raccordement des mappings program id -> protocole utilisés par la classification transactionnelle et les protocol candidates ;
|
||||
- profil `0.7.29_multi_dex_matrix_baseline` ;
|
||||
- exposition de la matrice dans le rapport de validation local ;
|
||||
- aucune modification volontaire du comportement trade/candle validé en `0.7.28`.
|
||||
|
||||
À poursuivre en `0.7.30` : matérialisation contrôlée des événements non-trade utiles et des transactions inconnues/partielles, sans alimenter les trades/candles actionnables.
|
||||
|
||||
## 11. Documentation et livrables de référence
|
||||
Le projet doit maintenir au minimum :
|
||||
|
||||
@@ -1175,21 +1188,18 @@ Le projet doit maintenir au minimum :
|
||||
|
||||
La priorité immédiate est désormais la suivante :
|
||||
|
||||
1. terminer la validation `0.7.27` sur `pump_fun`, `pump_swap`, `raydium_cpmm` et `raydium_clmm`, sans ajouter de nouveau DEX dans cette étape,
|
||||
2. vérifier sur bases neuves et après replay local les invariants bloquants du pipeline : `diagnosticsClean = true`, `blockingIssueCount = 0`, aucun trade candidate exploitable perdu, aucun trade event invalide, aucun doublon réel par `decoded_event_id`, aucune candle dupliquée par bucket,
|
||||
3. démarrer `0.7.28` par le refactor DEX commun, sans toucher aux clients HTTP/WS ni aux managers réseau stabilisés,
|
||||
4. ajouter la matrice DEX et launch surfaces, avec statut, corpus, limites et prochaine action pour chaque protocole,
|
||||
5. ajouter les tables de classification des transactions inconnues et des protocol candidates afin de ne plus perdre les transactions utiles non encore décodables,
|
||||
6. matérialiser ensuite les événements non-trade : liquidité, cycle de vie des pools, fees, rewards et administration,
|
||||
7. garantir que ces événements non-trade restent séparés des `k_sol_trade_events` et des candles tout en restant rattachés aux transactions, decoded events, pools, pairs et wallets observés,
|
||||
8. consolider Meteora, y compris `meteora_dlmm`, après corpus fiable,
|
||||
9. ajouter les launch surfaces manquantes comme premières sources de mint/lancement : Raydium LaunchLab/Launchpad, LetsBonk/Bonk.fun, Boop.fun, Moonshot/Moonit, Believe et Bags,
|
||||
10. traiter Heaven avec séparation launch/swap,
|
||||
11. consolider Orca, FluxBeam et DexLab sur corpus,
|
||||
12. traiter `raydium_amm_v4` legacy seulement après les autres Raydium, avec corpus dédié prouvant le programme `675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8`,
|
||||
13. effectuer une validation DEX v1 consolidée sur tous les connecteurs supportés avant de considérer la couche DEX `0.7.x` comme stable,
|
||||
14. ajouter ensuite les overlays des signaux analytiques sur les candles,
|
||||
15. consolider les vues métier `token / pair / pool` dans `kb_demo_app`, y compris les événements liquidité, lifecycle, fees, rewards et admin,
|
||||
16. stabiliser l’ergonomie, les filtres, la pagination et la navigation de l’UI d’inspection,
|
||||
17. préparer ensuite l’ouverture de `0.8.x` pour l’analyse, les filtres, les patterns et les projections graphiques,
|
||||
18. préparer enfin Yellowstone gRPC comme extension de capacité, et non comme remplacement du socle HTTP / WS existant.
|
||||
1. conserver la validation acquise `0.7.28` : transactions failed traçables mais non actionnables, aucun trade/candle candidate sans payload montant/prix exploitable, aucun diagnostic bloquant masqué,
|
||||
2. utiliser la matrice `0.7.29` (`kb_lib/src/dex_support_matrix.rs`) comme source commune pour le catalogue DEX, les mappings program id -> protocole, la classification transactionnelle et les protocol candidates,
|
||||
3. garder les clients HTTP/WS et managers réseau hors du refactor DEX tant qu’ils ne bloquent pas le pipeline,
|
||||
4. consolider les événements non-trade sans les confondre avec les trades/candles : lifecycle de pool, liquidité, fees, rewards, admin/config, migration et launch/mint,
|
||||
5. rattacher les launch surfaces aux tokens et aux pools migrés : Raydium LaunchLab/Launchpad, LetsBonk/Bonk.fun, Boop.fun, Moonshot/Moonit, Believe, Bags et Heaven,
|
||||
6. consolider Meteora avec corpus fiable : `meteora_dlmm`, `meteora_damm_v1`, `meteora_damm_v2`, `meteora_dbc` et `meteora_dlc` si le programme est confirmé,
|
||||
7. consolider Orca, FluxBeam et DexLab sur corpus,
|
||||
8. traiter `raydium_amm_v4` legacy seulement après les autres Raydium, avec corpus dédié prouvant le programme `675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8`,
|
||||
9. ajouter une matérialisation dédiée des transactions inconnues ou partiellement décodées pour analyser les DEX manquants sans polluer les trades/candles,
|
||||
10. effectuer une validation DEX v1 consolidée sur tous les connecteurs supportés avant de considérer la couche DEX `0.7.x` comme stable,
|
||||
11. ajouter ensuite les overlays des signaux analytiques sur les candles,
|
||||
12. consolider les vues métier `token / pair / pool` dans `kb_demo_app`, y compris les événements liquidité, lifecycle, fees, rewards et admin,
|
||||
13. stabiliser l’ergonomie, les filtres, la pagination et la navigation de l’UI d’inspection,
|
||||
14. préparer ensuite l’ouverture de `0.8.x` pour l’analyse, les filtres, les patterns et les projections graphiques,
|
||||
15. préparer enfin Yellowstone gRPC comme extension de capacité, et non comme remplacement du socle HTTP / WS existant.
|
||||
|
||||
Reference in New Issue
Block a user