From 96b62094826f55ba7041d591c580eb646d9f2834 Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Wed, 27 May 2026 18:45:16 +0200 Subject: [PATCH] 0.7.44 --- CHANGELOG.md | 1 + Cargo.toml | 2 +- ROADMAP.md | 30 +- kb_demo_app/frontend/demo_pipeline2.html | 18 + kb_demo_app/frontend/ts/demo_pipeline2.ts | 17 +- kb_demo_app/package.json | 2 +- kb_demo_app/src/demo_pipeline2.rs | 4 + kb_demo_app/tauri.conf.json | 2 +- kb_lib/src/db.rs | 5 + kb_lib/src/db/dtos.rs | 2 + .../src/db/dtos/dex_decode_replay_ledger.rs | 130 ++++++ kb_lib/src/db/entities.rs | 2 + .../db/entities/dex_decode_replay_ledger.rs | 34 ++ kb_lib/src/db/queries.rs | 4 + .../db/queries/dex_decode_replay_ledger.rs | 285 +++++++++++++ kb_lib/src/db/schema.rs | 90 +++++ kb_lib/src/lib.rs | 10 + kb_lib/src/local_pipeline_replay.rs | 381 +++++++++++++++++- 18 files changed, 996 insertions(+), 23 deletions(-) create mode 100644 kb_lib/src/db/dtos/dex_decode_replay_ledger.rs create mode 100644 kb_lib/src/db/entities/dex_decode_replay_ledger.rs create mode 100644 kb_lib/src/db/queries/dex_decode_replay_ledger.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f8dc22..871db28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,3 +74,4 @@ 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. 0.7.43-E5C - Reprise documentaire et normalisation DEX-first : `0.7.43` est conservé comme point de reprise non clos pour le lot Meteora, la suite est redécoupée par DEX/version séparés, le besoin d’un ledger de décodage/replay est acté, les statuts `known` / `observed` / `decoded` / `materialized` / `verified_by_corpus` deviennent obligatoires, et aucun `program_id` ne doit être marqué vérifié sans preuve/corpus reproductible. +0.7.44 - Ledger de décodage/replay DEX : ajout de `k_sol_dex_decode_replay_ledger`, des DTO/entities/queries associés, des re-exports DB/lib, et intégration dans le replay local pour skipper uniquement l’étape de décodage DEX lorsqu’un passage certifié existe pour la même version logique de decoder. Les transactions multi-event ou multi-token restent marquées `unsafe` et sont redécodées sauf option future plus explicite ; le replay continue de reconstruire détection, matérialisation, trades, candles et classifications à partir des events persistés. diff --git a/Cargo.toml b/Cargo.toml index 63dd31d..1176c59 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "0.7.43" +version = "0.7.44" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-bobobot" diff --git a/ROADMAP.md b/ROADMAP.md index 9f1b2de..a446c70 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1035,19 +1035,27 @@ Objectif : figer le point de reprise après saturation de session, clarifier l - maintenir la règle : aucun `program_id` n’est vérifié sans signature/corpus/requête de validation. ### 6.076. Version `0.7.44` — Ledger de décodage/replay et skip sûr -Objectif : empêcher le replay local de rescanner inutilement les transactions/instructions dont le décodage est déjà certain, tout en gardant la possibilité de forcer ou de retraiter les cas ambigus. +Objectif : empêcher le replay local de rescanner inutilement les transactions dont le décodage DEX est déjà certifié pour la même version logique de decoder, tout en laissant les tables dérivées se reconstruire normalement. -À faire : +Statut : implémenté en première tranche transaction-level. -- ajouter une table de suivi type `k_sol_decode_attempts` ou `k_sol_replay_decode_ledger` dans `kb_lib/src/db/schema.rs` ; -- stocker `transaction_id`, `signature`, `instruction_id` lorsque disponible, `program_id`, `protocol_name`, `decoder_code`, `decoder_version`, `decode_status`, `certainty`, `event_count`, hash d’entrée, reason/error et timestamps ; -- ajouter les entities/dtos/queries associées ; -- mettre à jour les re-exports dans `kb_lib/src/db.rs`, puis `kb_lib/src/lib.rs` si nécessaire ; -- intégrer le ledger dans `local_pipeline_replay.rs` sans changer la sémantique trade/candle ; -- ajouter une option `force` pour ignorer le ledger ; -- ne pas skipper automatiquement les transactions multi-token, multi-pool, multi-event ou marquées `partial` / `ambiguous` ; -- retraiter les lignes concernées lorsqu’un decoder change de version logique ; -- ajouter les diagnostics SQL permettant de mesurer skipped/replayed/ambiguous/forced. +Fait : + +- ajout de `k_sol_dex_decode_replay_ledger` dans `kb_lib/src/db/schema.rs` ; +- stockage de `transaction_id`, `signature`, `decoder_scope`, `decoder_version`, `decode_status`, `certainty`, `event_count`, `distinct_token_mint_count`, `force_replay_required`, reason et timestamps ; +- ajout des entities/dtos/queries associées ; +- mise à jour des re-exports dans `kb_lib/src/db.rs` puis `kb_lib/src/lib.rs` ; +- intégration dans `local_pipeline_replay.rs` sans changer la sémantique trade/candle : le skip ne concerne que `DexDecodeService`, pas la détection, la matérialisation non-trade, les trades, candles, signaux analytiques ou classifications ; +- ajout de `skip_certified_dex_decode` et `force_decode_replay` dans `LocalPipelineReplayConfig` ; +- marquage `unsafe` des transactions multi-event ou avec plus de deux mints distincts dans les events décodés ; +- version logique initiale `dex_decode.v0.7.44.ledger1`, à incrémenter lorsqu’un decoder change de comportement. + +Reste à faire plus tard : + +- descendre le ledger au niveau instruction/program lorsque nécessaire ; +- ajouter un hash d’entrée transaction/instruction pour détecter les mutations de payload ; +- exposer l’option `force_decode_replay` dans l’UI si besoin ; +- ajouter des diagnostics dédiés dans `local_pipeline_diagnostics`. ### 6.077. Version `0.7.45` — `meteora_dlmm` séparé Objectif : consolider `meteora_dlmm` comme DEX effectif séparé, avec corpus dédié et events utiles au trading. diff --git a/kb_demo_app/frontend/demo_pipeline2.html b/kb_demo_app/frontend/demo_pipeline2.html index 36c6e8e..5331c05 100644 --- a/kb_demo_app/frontend/demo_pipeline2.html +++ b/kb_demo_app/frontend/demo_pipeline2.html @@ -155,6 +155,24 @@ +
+ + +
+ +
+ + +
+ +

+ Le skip ne concerne que l’étape de décodage DEX certifiée par le ledger. Le reste du replay continue pour reconstruire les tables dérivées. +

+