This commit is contained in:
2026-05-24 17:17:26 +02:00
parent 6176c5d4cd
commit 69c8f6c957
25 changed files with 2354 additions and 133 deletions

View File

@@ -999,18 +999,27 @@ Résultat de corpus validé : `raydium_amm_v4` produit 58 decoded events, 58 tra
Décision : `0.7.41` est clos. La suite immédiate est `0.7.42_raydium_family_consolidation` afin de verrouiller ensemble `raydium_cpmm`, `raydium_clmm`, `raydium_amm_v4` et les surfaces Raydium non encore matérialisées.
### 6.074. Version `0.7.42` — Raydium effectif : famille Raydium consolidée
Objectif : consolider la famille Raydium après le premier décodeur AMM v4.
### 6.074. Version `0.7.42` — Raydium family consolidation
Objectif : verrouiller ensemble `raydium_cpmm`, `raydium_clmm` et `raydium_amm_v4` comme surfaces Raydium effectives supportées, avec swaps et premiers non-swaps prouvés.
À faire :
Réalisé :
- vérifier `raydium_cpmm` et `raydium_clmm` comme références déjà supportées et éviter toute régression ;
- étendre ou stabiliser `raydium_amm_v4` après le décodeur v1 : swaps directs, routes Jupiter, pools/state accounts récurrents, vaults et mints ;
- vérifier lusage réel de `raydium_stable_swap` et du programme `5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h` uniquement si un corpus local exploitable existe ;
- distinguer clairement `raydium_amm_v4`, `raydium_cpmm`, `raydium_clmm`, `raydium_router`, `raydium_stable_swap`, `raydium_launchlab` et `raydium_launchpad` ;
- identifier les instructions initialize/create pool, liquidité, fees/admin réellement observées ;
- ajouter ou renforcer les diagnostics par `program_id`, `accounts_json`, `data_json`, signature et pool address ;
- ne pas ajouter de trade/candle Stable Swap ou Router sans payload de montants exploitable.
- ajout du profil `0.7.42_raydium_family_event_coverage` ;
- conservation audit des instructions Raydium non décodées en `raydium_*.instruction_audit`, non-actionnables, sans trade/candle ;
- enrichissement des audits avec comptes, data base58, discriminator hex, `instructionIndex`, `innerInstructionIndex`, programme parent et statut de transaction ;
- décodage du legacy CLMM `raydium_clmm.swap` en plus de `raydium_clmm.swap_v2` ;
- cleanup des audits remplacés : un audit dinstruction est supprimé lorsquun vrai événement est maintenant décodé pour la même instruction ;
- adaptation du backfill historique : `getTransaction` classé en requête HTTP lourde, retry/backoff et poursuite du backfill en cas derreur transitoire ;
- mapping des discriminators CLMM prouvés : `decrease_liquidity_v2`, `increase_liquidity_v2`, `open_position_with_token22_nft`, `close_position` ;
- mapping des discriminators CPMM prouvés : `initialize`, `withdraw`, `collect_creator_fee` ;
- matérialisation des événements non-trade Raydium prouvés dans les tables dédiées : `k_sol_liquidity_events`, `k_sol_pool_lifecycle_events`, `k_sol_fee_events` ;
- validation manuelle par SQL du corpus Raydium : swaps AMM v4/CLMM/CPMM matérialisés, `25` liquidity events, `1` lifecycle event, `2` fee events, aucune instruction Raydium orpheline ;
- conservation des non-swaps AMM v4 legacy en audit informatif : les discriminators AMM v4 restants ne sont pas promus sans preuve suffisante ;
- correction de validation rapide pour grosses bases SQLite afin déviter de charger les diagnostics détaillés par paire pendant la validation.
Limite connue non-Raydium : un corpus local peut encore contenir des événements `orca_whirlpools.swap` partiels. Orca Whirlpools est explicitement reporté à `0.7.44`; cela ne remet pas en cause la clôture Raydium `0.7.42`.
Décision : `0.7.42` est clos côté Raydium. La suite immédiate est `0.7.43` pour Meteora, puis `0.7.44` pour Orca/FluxBeam/DexLab/metaDAO/Printr.
### 6.075. Version `0.7.43` — Meteora effectif : DLMM, DAMM v1/v2, DBC
Objectif : compléter la famille Meteora en couvrant les événements réellement utiles au DEX effectif, avec corpus enrichi par Demo3 si nécessaire.
@@ -1029,9 +1038,10 @@ Objectif : consolider les DEX non-Raydium/Meteora et intégrer les DEX récemmen
À faire :
- constituer des corpus locaux pour `orca_whirlpools`, `fluxbeam` et `dexlab` ;
- revalider `orca_whirlpools` sur corpus dédié : create_pool, swap, liquidité, positions, mints et montants fiables ;
- traiter explicitement les swaps Orca partiels comme non-actionnables tant que les montants ne sont pas reconstruits ;
- constituer des corpus locaux pour `fluxbeam` et `dexlab` ;
- vérifier les `program_id`, comptes, préfixes `data_json` et familles dinstructions utiles ;
- stabiliser les événements `create_pool`, `swap`, liquidité, positions et admin lorsque prouvés ;
- vérifier `metaDAO` et `Printr` par corpus on-chain local avant toute promotion ;
- ne pas confondre source externe de découverte et preuve on-chain ;
- marquer explicitement les variantes partiellement supportées ou heuristiques.
@@ -1051,7 +1061,7 @@ Objectif : sassurer que chaque DEX effectif expose les événements utiles au
- conserver linvariant : aucun fee/reward/admin/liquidity/lifecycle/burn non price-action ne produit de trade, metric ou candle.
### 6.078. Version `0.7.46` — `kb_demo_app` Demo4 : DEX Screener et sources externes de découverte
Objectif : utiliser des sources externes comme aides à la découverte de corpus sans les traiter comme vérité métier, après la première consolidation Raydium AMM v4.
Objectif : utiliser des sources externes comme aides à la découverte de corpus sans les traiter comme vérité métier, après la première consolidation Raydium.
À faire :
@@ -1128,7 +1138,7 @@ Objectif : préparer la couche daction sans encore brancher lachat/vente a
- garde-fous daffichage, confirmation et simulation ;
- préparation dordres et de swaps seulement après stabilisation des transferts de base.
### 6.083. Version `2.x.y` — Trading semi-automatisé
### 6.084. Version `2.x.y` — Trading semi-automatisé
Objectif : brancher lanalyse à laction tout en gardant des garde-fous explicites.
À faire :
@@ -1139,7 +1149,7 @@ Objectif : brancher lanalyse à laction tout en gardant des garde-fous exp
- confirmations explicites ou semi-automatiques ;
- journaux dexécution.
### 6.084. Version `3.x.y` — Yellowstone gRPC
### 6.085. Version `3.x.y` — Yellowstone gRPC
Objectif : ajouter le connecteur gRPC dédié.
À faire :
@@ -1272,30 +1282,29 @@ Le projet doit maintenir au minimum :
## 12. Priorité immédiate
La priorité immédiate après `0.7.41` est `0.7.42_raydium_family_consolidation`. `raydium_amm_v4.swap` v1 est maintenant validé sur corpus réel, avec trades/candles matérialisés et aucun warning de validation. La suite doit verrouiller la famille Raydium complète avant de passer aux autres DEX effectifs.
La priorité immédiate après `0.7.42` est `0.7.43_meteora_effective_surfaces`. La consolidation Raydium est considérée comme close côté Raydium : `raydium_cpmm`, `raydium_clmm` et `raydium_amm_v4` sont traités comme surfaces Raydium effectives, avec les limites explicitement documentées ci-dessous.
Préconditions validées avant `0.7.42` :
Préconditions validées avant `0.7.43` :
1. validation `0.7.36` acquise : Meteora consolidé, transactions failed traçables mais non actionnables, swaps sans amounts classés `non_actionable_trade`, aucun diagnostic bloquant masqué ;
2. validation `0.7.37` acquise : compteurs metadata/catalog exposés, backfill metadata idempotent, `pair_symbol` rafraîchissables, metadata manquantes non bloquantes ;
3. validation `0.7.38` acquise : `tokenMetadataGapSamples` priorisés, Demo Pipeline 2 raccordé, `validationPassed = true`, `blockingIssueCount = 0`, registre local `WSOL`/`USDC`/`USDT`/`JUP`/`RAY`/`BONK` disponible ;
4. validation `0.7.39` acquise : matrice DEX-first, suppression de lalias `raydium`, `metaDAO` et `Printr` en `to_verify`, aucun `program_id` fictif ;
5. validation `0.7.40` acquise : `Demo3` découvre on-chain des signatures, mints, deltas et comptes candidats ; Demo Pipeline 2 peut backfiller une signature précise ; les instructions Raydium AMM v4 sont persistées en base ;
6. validation `0.7.41` acquise : `raydium_amm_v4.swap` décode les inner instructions `675kPX...`, produit des trades/candles lorsque les montants sont exploitables, et conserve les transactions failed sans matérialisation marché ;
7. aucune transaction failed ne doit alimenter `trade_events`, metrics ou candles ;
8. aucun decoded event ne doit être promu `trade_candidate` sans montants exploitables.
3. validation `0.7.38` acquise : `tokenMetadataGapSamples` priorisés, Demo Pipeline 2 raccordé, registre local `WSOL`/`USDC`/`USDT`/`JUP`/`RAY`/`BONK` disponible ;
4. `0.7.39` acquis : matrice DEX-first, suppression de lalias `raydium`, `metaDAO` et `Printr` en `to_verify`, aucun `program_id` fictif ;
5. `0.7.40` acquis : `Demo3` découvre on-chain des signatures, mints, deltas et comptes candidats ; Demo Pipeline 2 peut backfiller une signature précise ;
6. `0.7.41` acquis : `raydium_amm_v4.swap` décode les inner instructions `675kPX...`, produit des trades/candles lorsque les montants sont exploitables, et conserve les transactions failed sans matérialisation marché ;
7. `0.7.42` acquis côté Raydium : CLMM/CPMM couvrent swaps et premiers non-swaps prouvés ; AMM v4 couvre les swaps et conserve les non-swaps legacy en audit ; les non-trade events utiles prouvés alimentent leurs tables dédiées ;
8. la dette Orca Whirlpools observée dans le corpus local est reportée à `0.7.44` et ne doit pas être mélangée à la clôture Raydium.
Ordre de travail recommandé pour `0.7.42+` :
Ordre de travail recommandé pour la suite :
1. consolider ensemble `raydium_cpmm`, `raydium_clmm` et `raydium_amm_v4` comme surfaces Raydium effectives supportées ;
2. ajouter des diagnostics Raydium par surface : decoded events, trades, candles, route sources, pools, pairs, comptes pool/state, vaults et mints ;
3. vérifier que `raydium_router` reste un `aggregator_router` non matérialisé comme DEX direct ;
4. garder `raydium_stable_swap`, `raydium_launchlab` et `raydium_launchpad` en surfaces non matérialisées tant quun corpus dédié ne prouve pas leur exploitation ;
5. reprendre Meteora, Orca, FluxBeam, DexLab, metaDAO et Printr avec la même approche corpus-first ;
6. décaler `Demo4` après la consolidation Raydium, car la découverte on-chain locale suffit pour la suite immédiate ;
7. ajouter ensuite `Demo10` pour le watcher WebSocket live DEX avec start/stop, subscribe/unsubscribe et écriture en base via le pipeline existant ;
8. reprendre seulement après cela les launch surfaces spécialisées ;
9. passer ensuite à la couche wallet : création de wallet/keypair, inspection et transfert de fonds vers un autre account.
1. `0.7.43` : consolider Meteora effectif (`meteora_dlmm`, `meteora_damm_v1`, `meteora_damm_v2`, `meteora_dbc`) avec la même approche corpus-first ;
2. `0.7.44` : revalider Orca Whirlpools, puis FluxBeam, DexLab, metaDAO et Printr ;
3. `0.7.45` : établir une couverture transversale des événements DEX utiles au scoring : swaps, liquidités, lifecycle, fees, rewards, admin/config, burns/mints ;
4. `0.7.46` : ajouter Demo4 pour les sources externes de découverte sans promotion automatique ;
5. `0.7.47` : ajouter des démos spécialisées launch surfaces après DEX effectifs ;
6. `0.7.48` : ajouter Demo10 pour le watcher WebSocket live DEX ;
7. `0.7.49` : validation DEX v1 consolidée ;
8. passer ensuite à lanalyse `0.8.x`, puis à la couche wallet.
Garde-fous constants :