diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bcaba6..e19d4b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,6 +69,7 @@ 0.7.36 - Consolidation de la famille Meteora : corpus mixte `meteora_damm_v1`, `meteora_damm_v2`, `meteora_dbc` et `meteora_dlmm`, correction des discriminants DAMM v2 / DBC, validation du profil `0.7.36_meteora_family_consolidation`, et reclassement explicite des swaps DAMM v2 / DBC sans payload montant/prix en `non_actionable_trade` afin d’éviter tout trade/candle artificiel. 0.7.37 - Première tranche metadata/catalog : ajout du profil `0.7.37_token_metadata_catalog_enrichment`, exposition des compteurs metadata dans diagnostics/validation et raccordement UI Demo Pipeline 2 sans rendre les metadata manquantes bloquantes. 0.7.38 - Priorisation des metadata manquantes : ajout du profil `0.7.38_token_metadata_gap_prioritization`, samples `tokenMetadataGapSamples`, priorités tradable/quote/catalog, raccordement UI Demo Pipeline 2 et maintien du caractère non bloquant des metadata incomplètes. -0.7.39 - Réorientation DEX-first : distinction explicite des rôles `dex_effective`, `aggregator_router`, `launch_surface` et `to_verify` dans la matrice DEX, suppression de l’alias ambigu `raydium`, ajout de `metaDAO` et `Printr` comme surfaces à vérifier sans `program_id`, profil `0.7.39_dex_first_effective_swap_surfaces`, validation locale avec `blockingIssueCount = 0`, `actionableMissingTradeEventCount = 0` et `missingTradeEventCount = 0`. -0.7.40 - Ajout de Demo3 pour la découverte on-chain de corpus DEX par `dex_code` / `program_id` via `getSignaturesForAddress` + `getTransaction`, extraction générique des mints observés, deltas SPL Token, comptes pool/state candidats, vaults candidats et comptes programme, ajout du backfill par signature dans Demo Pipeline 2, validation pratique sur Raydium AMM v4 avec instructions internes `675kPX...` persistées, et report de Demo4 après la première consolidation Raydium AMM v4. -0.7.41 - Raydium AMM v4 swap decoder v1 : ajout du décodeur `raydium_amm_v4.swap` sur inner instructions `675kPX...`, extraction pool/state, authority, vaults, mints, routeSource et montants exploitables, matérialisation trades/candles sur transactions OK, profil `0.7.41_raydium_amm_v4_swap_decoder`, matrice AMM v4 passée en `supported`, et validation locale avec `blockingIssueCount = 0`, `warningCount = 0`, `actionableMissingTradeEventCount = 0`, `missingTradeEventCount = 0` et 58 trades AMM v4 matérialisés. +0.7.39 - Réorientation DEX-first : distinction explicite des rôles `dex_effective`, `aggregator_router`, `launch_surface` et `to_verify` dans la matrice DEX, suppression de l’alias ambigu `raydium`, ajout de `metaDAO` et `Printr` comme surfaces à vérifier sans `program_id`, profil `0.7.39_dex_first_effective_swap_surfaces`, validation locale avec invariants DEX-first maintenus et report des launch surfaces après les DEX effectifs. +0.7.40 - Ajout de Demo3 pour la constitution de corpus on-chain par `dex_code` / `program_id` via `getSignaturesForAddress` + `getTransaction`, extraction des mints, deltas SPL Token, comptes pool/state/vault/program candidats, ajout du backfill par signature dans Demo Pipeline 2, et validation pratique sur Raydium AMM v4 sans promotion automatique des comptes candidats. +0.7.41 - Raydium AMM v4 swap decoder v1 : décodage des inner instructions `675kPX...`, extraction pool/state, authority, vaults, mints, routeSource et montants exploitables, matérialisation trades/candles sur transactions OK, matrice AMM v4 passée en `supported`, et validation locale avec invariants trade/candle propres. +0.7.42 - Consolidation famille Raydium : audit conservatoire des instructions Raydium non décodées, décodage CLMM legacy `swap`, cleanup des audits remplacés, classification HTTP `getTransaction` comme requête lourde avec retry/backoff de backfill, mapping des événements non-swap prouvés `raydium_clmm` (`increase_liquidity_v2`, `decrease_liquidity_v2`, `open_position_with_token22_nft`, `close_position`) et `raydium_cpmm` (`initialize`, `withdraw`, `collect_creator_fee`), matérialisation de 25 liquidity events, 1 lifecycle event et 2 fee events sur corpus élargi, conservation des non-swaps AMM v4 legacy en audit. diff --git a/Cargo.toml b/Cargo.toml index 3c87185..406befb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "0.7.41" +version = "0.7.42" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-bobobot" @@ -42,10 +42,10 @@ solana-sdk-ids = { version = "^3.1", features = [] } solana-system-interface = { version = "^3.2", features = ["alloc", "serde", "std"] } solana-transaction-status-client-types = { version = ">=4.0.0-rc.1", features = [] } spl-associated-token-account-interface = { version = "^2.0", features = ["borsh"] } -spl-memo-interface = { version = "^2.0", features = [] } -spl-token-interface = { version = "^2.0", features = [] } -spl-token-2022-interface = { version = "^2.1", features = [] } -sqlx = { version = "^0.8", features = ["chrono", "uuid", "bigdecimal", "json", "sqlite", "runtime-tokio-rustls"] } +spl-memo-interface = { version = "^2.1", features = [] } +spl-token-interface = { version = "^3.0", features = [] } +spl-token-2022-interface = { version = "^3.0", features = [] } +sqlx = { version = "^0.9", features = ["bigdecimal", "chrono", "default", "derive", "json", "runtime-tokio", "sqlite", "tls-rustls", "uuid"] } tauri = { version = "^2.11", features = ["default", "tray-icon"] } tauri-build = { version = "^2.6", features = [] } tauri-plugin-tracing = { version = "^0.3", default-features = false, features = [] } diff --git a/README.md b/README.md index c6297b2..5936b07 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ `khadhroony-bobobot` est un workspace Rust destiné à la détection, au décodage, à l’analyse et, à terme, au trading semi-automatisé de tokens Solana. -Le README précédent décrivait surtout l’état `0.3.1`. Ce fichier reflète l’état de clôture `0.7.41` : le socle transport HTTP/WS, la résolution transactionnelle, le modèle SQLite, plusieurs connecteurs DEX, les candles, les signaux analytiques, la validation locale, la matrice DEX commune, les diagnostics de metadata prioritaires, Demo3, le backfill par signature et le décodeur `raydium_amm_v4.swap` v1 existent déjà. La prochaine phase consolide la famille Raydium complète (`raydium_cpmm`, `raydium_clmm`, `raydium_amm_v4`, router/stable/launch surfaces différées) avant de poursuivre les autres DEX effectifs. +Le README précédent décrivait surtout l’état `0.3.1`. Ce fichier reflète l’état de clôture documentaire `0.7.42` : le socle transport HTTP/WS, la résolution transactionnelle, le modèle SQLite, plusieurs connecteurs DEX, les candles, les signaux analytiques, la validation locale, la matrice DEX commune, Demo3, le backfill par signature et la consolidation Raydium DEX-first existent déjà. La famille Raydium est maintenant couverte sur swaps effectifs et premiers événements non-trade prouvés ; les non-swaps AMM v4 legacy restent conservés en audit, et le cas Orca Whirlpools est reporté à `0.7.44`. ## 1. Objectif @@ -31,7 +31,7 @@ Le workspace contient deux crates principales. La logique métier doit rester dans `kb_lib`. `kb_demo_app` doit rester une façade UI/Tauri et ne doit pas récupérer de logique Solana ou DEX profonde. -## 3. État actuel après `0.7.38-B` +## 3. État actuel après `0.7.42` ### 3.1. Socle stabilisé à ne pas refactorer maintenant @@ -67,8 +67,9 @@ Les connecteurs suivants sont les surfaces actuellement les plus importantes pou - `pump_fun` comme surface de launch / mint initial ; - `pump_swap` pour les swaps post-migration Pump ; -- `raydium_cpmm` ; -- `raydium_clmm` ; +- `raydium_cpmm` : swaps `swap_base_input` / `swap_base_output`, lifecycle `initialize`, liquidity `withdraw` et `collect_creator_fee` sur corpus prouvé ; +- `raydium_clmm` : swaps `swap_v2` et legacy `swap`, liquidité/positions `increase_liquidity_v2`, `decrease_liquidity_v2`, `open_position_with_token22_nft`, `close_position` sur corpus prouvé ; +- `raydium_amm_v4` : swaps AMM v4 legacy `675kPX...` matérialisés ; non-swaps legacy conservés en audit tant que le corpus ne permet pas une promotion fiable ; - `meteora_dlmm` ; - `meteora_damm_v1`, partiel : les swaps sans payload montant/prix exploitable restent conservés mais non actionnables ; - `meteora_damm_v2`, observé dans le corpus `0.7.36`, mais les swaps sans payload montant/prix exploitable sont maintenant `non_actionable_trade` ; @@ -78,7 +79,6 @@ Les connecteurs suivants sont les surfaces actuellement les plus importantes pou Les modules ou surfaces suivantes existent, sont partiellement représentés dans le code ou doivent être recherchés, mais doivent être consolidés par corpus local, invariants et documentation avant de reprendre les launch surfaces : -- `raydium_amm_v4` legacy ; - `raydium_stable_swap` ; - `orca_whirlpools` ; - `fluxbeam` ; @@ -125,9 +125,9 @@ Depuis `0.7.33`, les diagnostics ajoutent une classification `pairTradingReadine | Code cible | Type | Priorité `0.7.39+` | Prochaine action | |---|---:|---|---| | `pump_swap` | AMM / swap | haute | conserver les invariants trade/candle et étendre les événements non-trade prouvés. | -| `raydium_cpmm` | AMM | haute | vérifier corpus swap/liquidité/admin et maintenir la matérialisation trade/candle. | -| `raydium_clmm` | CLMM | haute | vérifier corpus swap/liquidité/position et maintenir la matérialisation trade/candle. | -| `raydium_amm_v4` | AMM legacy | haute | support v1 validé : décodage des inner swaps `675kPX...`, matérialisation trades/candles, pools/paires et payloads de montants exploitables ; prochaine étape : consolidation Raydium famille. | +| `raydium_cpmm` | AMM | haute | couvert pour swaps input/output, `initialize`, `withdraw` et `collect_creator_fee` prouvés ; poursuivre seulement sur nouveaux discriminators. | +| `raydium_clmm` | CLMM | haute | couvert pour swaps v2/legacy, increase/decrease liquidity et open/close position prouvés ; poursuivre seulement sur nouveaux discriminators. | +| `raydium_amm_v4` | AMM legacy | haute | swaps legacy couverts et matérialisés ; non-swaps AMM v4 conservés en audit, à compléter plus tard si corpus suffisant. | | `raydium_stable_swap` | AMM legacy | moyenne | vérifier l’usage réel de `5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h` et ne l’activer qu’avec corpus. | | `meteora_dlmm` | DLMM | haute | verrouiller swaps, positions, liquidité et lifecycle. | | `meteora_damm_v1` | AMM legacy | haute | conserver le skip sans amounts exploitables et rechercher un corpus swap/liquidité exploitable. | @@ -230,28 +230,27 @@ Les tests peuvent rester plus souples lorsque cela clarifie le test. ## 8. Priorité immédiate -Les phases `0.7.38`, `0.7.39` et `0.7.40` sont considérées comme closes lorsque les tests et validations locales passent. +Les phases `0.7.39`, `0.7.40`, `0.7.41` et `0.7.42` sont considérées comme closes côté documentation lorsque les tests locaux passent et que les requêtes SQL de contrôle Raydium confirment les invariants de la famille Raydium. État acquis : -- `0.7.38_token_metadata_gap_prioritization` : metadata manquantes priorisées et non bloquantes ; -- `0.7.39_dex_first_effective_swap_surfaces` : matrice DEX-first, suppression de l’alias `raydium`, ajout de `metaDAO` et `Printr` en `to_verify`, invariants locaux maintenus ; -- `0.7.40` : Demo3 découvre on-chain des signatures, mints, deltas et comptes candidats par DEX/program id, et Demo Pipeline 2 peut backfiller une signature précise. +- `0.7.39_dex_first_effective_swap_surfaces` : matrice DEX-first, suppression de l’alias `raydium`, ajout de `metaDAO` et `Printr` en `to_verify`, aucun `program_id` fictif ; +- `0.7.40` : Demo3 découvre on-chain signatures, mints, deltas SPL Token et comptes candidats par DEX/program id ; Demo Pipeline 2 peut backfiller une signature précise ; +- `0.7.41` : `raydium_amm_v4.swap` décode les inner instructions `675kPX...`, produit trades/candles lorsque les montants sont exploitables, et conserve les failed transactions sans matérialisation marché ; +- `0.7.42` : `raydium_cpmm`, `raydium_clmm` et `raydium_amm_v4` sont consolidés comme surfaces Raydium effectives ; CLMM/CPMM couvrent les premiers événements non-trade prouvés ; AMM v4 non-swap reste en audit legacy. -La prochaine étape est maintenant `0.7.42_raydium_family_consolidation`. +Résultat de corpus Raydium `0.7.42` : -Objectifs immédiats : +- swaps Raydium matérialisés : AMM v4, CLMM `swap_v2`, CLMM legacy `swap`, CPMM `swap_base_input`, CPMM `swap_base_output` ; +- non-trade Raydium matérialisés : `25` liquidity events, `1` pool lifecycle event, `2` fee events ; +- événements CLMM prouvés : `increase_liquidity_v2`, `decrease_liquidity_v2`, `open_position_with_token22_nft`, `close_position` ; +- événements CPMM prouvés : `initialize`, `withdraw`, `collect_creator_fee` ; +- audits restants AMM v4 : conservés comme `raydium_amm_v4.instruction_audit` informatifs, non promus sans preuve ; +- transactions failed : traçables mais exclues de `trade_events`, metrics et candles. -- verrouiller ensemble `raydium_cpmm`, `raydium_clmm` et `raydium_amm_v4` comme surfaces Raydium effectives déjà observées ; -- vérifier que `raydium_amm_v4` reste limité aux swaps avec mints/montants exploitables et que les transactions failed ne produisent aucun trade/candle ; -- consolider les diagnostics Raydium : decoded events, trades, candles, pools, pairs, route sources, comptes pool/state et vaults ; -- garder `raydium_router` comme `aggregator_router` non matérialisé en DEX direct ; -- garder `raydium_stable_swap`, `raydium_launchlab` et `raydium_launchpad` hors matérialisation tant qu’un corpus dédié ne les justifie pas ; -- préparer la suite Meteora/Orca/FluxBeam/DexLab sans réintroduire d’alias ambigu `raydium`. +Limite connue hors Raydium : la base locale peut encore contenir des decoded events `orca_whirlpools.swap` partiels issus du corpus courant. Orca Whirlpools est volontairement reporté à `0.7.44`; ce point ne doit pas bloquer la clôture Raydium `0.7.42`. -`Demo4` reste volontairement reportée à une version ultérieure. Pour la suite immédiate, Demo3 et Demo Pipeline 2 suffisent à produire le corpus nécessaire aux consolidations DEX. - -Les launch surfaces restent importantes, mais elles sont reportées après la consolidation des DEX effectifs. Elles ne doivent pas générer de faux trades/candles ni de `program_id` fictif. +La prochaine étape est maintenant `0.7.43_meteora_effective_surfaces`, puis `0.7.44` pour Orca/FluxBeam/DexLab/metaDAO/Printr. ## 9. Fichiers utiles pour reprendre dans une nouvelle session diff --git a/ROADMAP.md b/ROADMAP.md index e1e5984..a7f9dae 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -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 l’usage 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 d’instruction est supprimé lorsqu’un 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 d’erreur 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 d’instructions 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 : s’assurer que chaque DEX effectif expose les événements utiles au - conserver l’invariant : 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 d’action sans encore brancher l’achat/vente a - garde-fous d’affichage, confirmation et simulation ; - préparation d’ordres 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 l’analyse à l’action tout en gardant des garde-fous explicites. À faire : @@ -1139,7 +1149,7 @@ Objectif : brancher l’analyse à l’action tout en gardant des garde-fous exp - confirmations explicites ou semi-automatiques ; - journaux d’exé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 l’alias `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 l’alias `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 qu’un 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 à l’analyse `0.8.x`, puis à la couche wallet. Garde-fous constants : diff --git a/kb_demo_app/frontend/demo_pipeline2.html b/kb_demo_app/frontend/demo_pipeline2.html index 3972540..f61b432 100644 --- a/kb_demo_app/frontend/demo_pipeline2.html +++ b/kb_demo_app/frontend/demo_pipeline2.html @@ -179,7 +179,8 @@