Files
khadhroony-bobobot/CHANGELOG.md
2026-06-09 10:13:03 +02:00

21 KiB
Raw Blame History

0.0.1 - initial skel
0.0.2 - Socle conforme
0.1.0 - Transport WebSocket générique
0.1.1 - Intégration Tauri minimale du WsClient
0.2.0 - Couche JSON-RPC WS Solana
0.3.0 - Registre subscriptions / notifications
0.3.1 - Ajout des helpers subscribe/unsubscribe à WsClient
0.3.2 - Ajout des helpers typed et du parsing typed basé sur solana-rpc-client-api
0.3.3 - Ajout du suffixe _raw aux helpers raw pour distinguer typed et raw
0.3.4 - Ajout de la fenêtre Demo Ws dans kb_demo_app pour tester les souscriptions live
0.3.5 - Stabilisation de Demo Ws, lecture correcte des endpoints activés depuis la config, limitation/throttling de laffichage UI sous fort débit
0.4.0 - Socle HttpClient générique async clonable, JSON-RPC HTTP 2.0, résolution dURL avec api_key_env_var, limiteur local req/sec + burst, helpers initiaux getHealth/getVersion/getSlot
0.4.1 - Ajout des premiers helpers HTTP Solana haut niveau, dans la continuité de lAPI du client WebSocket
0.4.2 - Préparation de la politique HTTP avancée : états de pause avant envoi, quotas par famille de méthodes et futur pool dendpoints
0.4.3 - Pool dendpoints HTTP
0.4.4 - Ajout de la fenêtre Demo Http dans kb_demo_app, exécution manuelle des méthodes HTTP via le pool, snapshot des endpoints et amélioration des presets UI
0.5.0 - Début du socle SQLite : configuration database, ouverture/validation de la base et premières briques de persistance
0.5.1 - Ajout des premières tables métier SQLite pour les endpoints connus HTTP/WS et les événements runtime, avec séparation entities/dtos/queries/types
0.5.2 - Ajout de la table des tokens observés, de leur statut local et des premières requêtes de persistance associées
0.5.3 - Préparation du stockage local des événements techniques et des signaux utiles à lanalyse, avec distinction runtime / on-chain / métier
0.5.4 - Ajout du modèle métier normalisé initial pour les DEX, tokens, pools, paires, composition des pools et listings
0.5.5 - Ajout des événements métier normalisés pour les swaps, liquidités, mints et burns de tokens
0.5.6 - Consolidation de la couche stockage : activation des foreign keys SQLite, lectures ciblées sur le modèle métier normalisé, index supplémentaires et tests unitaires dédiés
0.6.0 - Ajout du pipeline de détection technique : façade de persistance pour observations on-chain, signaux danalyse et candidats tokens depuis les connecteurs RPC
0.6.1 - Ajout du bridge de détection Solana WS : notifications JSON-RPC persistées en observations, avec détection initiale des mints SPL / Token-2022 depuis programNotification
0.6.2 - Branchement de WsClient vers le pipeline de détection via un relais asynchrone de notifications JSON-RPC WebSocket
0.6.3 - Enrichissement des notifications WebSocket utiles : extraction améliorée de pubkey, signature, owner, parsed account type et slot pour account/logs/signature notifications
0.6.4 - Premières règles de détection technique pour candidats pools/listings depuis programNotification en sappuyant sur les DEX connus en base
0.6.5 - Ajout de ws_manager.rs pour lorchestration multi-clients WebSocket, le bus dévénements unifié et le branchement centralisé du relais de détection
0.6.6 - Ajout de la fenêtre Demo Ws Manager dans kb_demo_app pour piloter plusieurs WsClient, visualiser le snapshot consolidé, tester le démarrage/arrêt par rôle et valider le flux unifié de WsEvent
0.7.0 - Ajout du socle de résolution transactionnelle orientée DEX : relais WS vers file de résolution, récupération getTransaction via HttpEndpointPool et persistance des résolutions dans les observations/signaux
0.7.1 - Ajout du modèle transactionnel enrichi : tables slots/transactions/instructions, requêtes daccès et projection structurée des transactions résolues
0.7.2 - Ajout du premier décodeur DEX spécifique Raydium AmmV4 / initialize2, persistance des événements DEX décodés et branchement automatique du décodage après résolution/projection transactionnelle
0.7.3 - Ajout de la détection métier depuis les événements DEX décodés, avec alimentation de kb_pools, kb_pairs, kb_pool_tokens et kb_pool_listings, et signaux de première apparition
0.7.4 - Ajout du premier lot multi-DEX v1 avec décodeurs Pump.fun (create_v2) et PumpSwap (buy/sell), plus détection métier Pump.fun vers token/pool/pair/listing
0.7.5 - Enrichissement de PumpSwap avec extraction des mints et du pool_v2, persistance des événements décodés enrichis et détection métier automatique pool/pair/listing
0.7.6 - Ajout du premier support Meteora DBC avec décodage create_pool/swap, persistance des événements décodés et détection métier automatique pool/pair/listing
0.7.7 - Ajout du premier support Meteora DAMM v2 avec décodage create_pool/swap, persistance des événements décodés et détection métier automatique pool/pair/listing
0.7.8 - Ajout du premier support Meteora DAMM v1 avec décodage create_pool/swap, persistance des événements décodés et détection métier automatique pool/pair/listing
0.7.9 - Ajout dun registre des surfaces de lancement, dune attribution automatique des pools détectés à une origine de lancement, et dun premier support Meteora Fun Launch au-dessus de Meteora DBC / DAMM
0.7.10 - Ajout du premier support Orca Whirlpools avec décodage create_pool/swap, persistance des événements décodés et détection métier automatique pool/pair/listing
0.7.11 - Ajout du premier support FluxBeam avec décodage create_pool/swap, persistance des événements décodés et détection métier automatique pool/pair/listing
0.7.12 - Ajout du premier support DexLab Swap/Pool avec décodage create_pool/swap, persistance des événements décodés et détection métier automatique pool/pair/listing
0.7.13 - Extension de la couche launch origins avec Bags et Moonit, ajout dun enregistrement programmatique des mappings Bags, et détection automatique Moonit via suffixe de token mint
0.7.14 - Ajout dune couche consolidée de traçabilité fondatrice multi-DEX avec enregistrement des pool origins, rattachement au decoded event, au pool/pair/listing et à léventuelle launch attribution
0.7.15 - Ajout dune couche wallets observés et participations observées, avec extraction des rôles depuis les payloads décodés et rattachement transaction / decoded event / pool / pair
0.7.16 - Ajout dune première couche trade events et pair metrics avec normalisation des swaps, agrégation par paire et branchement automatique dans le pipeline de résolution transactionnelle
0.7.17 - Ajout dune première couche WS hybride avec collecte de cibles programSubscribe / accountSubscribe et persistance technique dédupliquée des notifications logs / program / account
0.7.18 - Ajout dun premier backfill historique ciblé par token mint, basé sur getSignaturesForAddress + getTransaction, avec réutilisation du pipeline interne pour reconstruire transactions, pools, swaps, origins, wallets et métriques
0.7.19 - Ajout dune première couche holdings observés avec agrégation par couple wallet/token et branchement automatique dans le pipeline de résolution transactionnelle
0.7.20 - Ajout dune première couche candles / OHLCV avec matérialisation en base des timeframes usuels et régénération à la demande pour un timeframe arbitraire depuis les trade events
0.7.21 - Ajout dune première couche de signaux analytiques enrichis par paire avec persistance dédiée et détection de first trade, trade burst, buy/sell imbalance, price jump et volume spike
0.7.22 - Ajout dune première fenêtre Demo Pipeline dans kb_demo_app pour linspection en lecture seule du pipeline 0.7.x, avec recherche par signature, token mint, pair id ou pool address, affichage structuré des transactions résolues, événements DEX décodés, pools, paires, listings, launch origins, pool origins, wallets et holdings observés, trade events, pair metrics, candles et signaux analytiques déjà persistés, ainsi que conservation dune instance partagée de la base SQLite pour éviter la réouverture et la réinitialisation du schéma à chaque commande UI
0.7.23 - Ajout du pilotage UI du backfill historique ciblé par token mint dans kb_demo_app, avec saisie du rôle HTTP et des limites de signatures, affichage du résumé de backfill, réinspection automatique du token dans Demo Pipeline lorsque des objets persistés sont effectivement reconstruits, et gestion explicite du cas où le backfill réussit sans matérialiser de token exploitable dans la base locale
0.7.24 - Ajout de laffichage graphique des candles / OHLCV dans kb_demo_app via echarts, avec sélection de paire et de timeframe, rendu chandelier + volume, et prise en charge des candles matérialisées ou régénérées à la demande depuis Demo Pipeline
0.7.25 - Enrichissement metadata des tokens, avec résolution locale limitée à SOL / WSOL, résolution des autres mints via comptes on-chain, Token-2022, Metaplex ou payloads DEX, et conservation explicite des cas non résolus
0.7.26 - Diagnostics locaux du pipeline persisté, correction de lagrégation instruction-scoped des swaps Raydium, clarification des compteurs de replay/upsert, et validation quaucun trade candidate issu dune transaction OK nest perdu
0.7.27 - Validation multi-DEX et non-régression du pipeline sur Pump.fun, PumpSwap, Raydium CPMM et Raydium CLMM, avec corpus de tests, diagnostics de référence et garanties sur les événements non pricés
0.7.28 - Refactor DEX commun et verrouillage des invariants de normalisation : séparation des événements décodés, actionnables, trade candidates et candle candidates ; conservation des transactions failed comme traçables mais non actionnables ; ajout de la règle bloquante empêchant tout trade/candle candidate sans payload de montants exploitable, notamment pour le cas partiel meteora_damm_v1.swap sans base/quote amount.
0.7.29 - Ajout dune matrice DEX commune (dex_support_matrix) utilisée par le catalogue DEX, la classification transactionnelle et lenregistrement des protocol candidates ; ajout du profil de validation 0.7.29_multi_dex_matrix_baseline exposant la matrice dans le rapport de validation ; préparation explicite des surfaces planifiées sans inventer de program ids non vérifiés.
0.7.30 - Ajout dune taxonomie DEX plus fine pour les événements décodés : eventLifecycleKind, eventActionability, nonTradeUseful, compteurs diagnostics des événements non-trade utiles, trades non actionnables et classifications inconnues ; ajout du profil 0.7.30_non_trade_event_classification sans modification volontaire de la matérialisation trade/candle.
0.7.31 - Application de la politique Option B : les transactions failed restent traçables dans les événements décodés mais ne peuvent plus alimenter trade_events, metrics ou candles ; le replay local réinitialise les tables de matérialisation marché avant reconstruction pour supprimer les anciennes lignes dérivées non actionnables.
0.7.32 - Clarification de la sémantique des diagnostics locaux : séparation des gaps littéraux de paires et des gaps bloquants/actionnables, ajout des compteurs de matérialisation par paire, résumé pairActionabilitySummaries, profil 0.7.32_validation_report_semantics et garde-fous sur la matrice DEX sans modification de la matérialisation trade/candle.
0.7.33 - Ajout de la classification diagnostique pairTradingReadiness pour les paires, avec quoteAssetClass, tradingRouteRequired, résumé pairTradingReadinessSummaries, profil de validation 0.7.33_pair_trading_readiness et mise à jour de la sélection UI Demo Pipeline 2 sans modifier la matérialisation trade/candle.
0.7.34 - Ajout du profil 0.7.34_non_trade_liquidity_lifecycle, matérialisation des tables non-trade liquidité/lifecycle, warning non bloquant pour DEX attendus absents du corpus local, première tranche DLMM : add_liquidity, remove_liquidity, initialize_position, initialize_bin_array, intégration de la matérialisation non-trade dans les backfills token/pool ciblés, et distinction PositionOpen/PositionClose dans LiquidityEventKind.
0.7.35 - Ajout du profil 0.7.35_non_trade_fee_reward_admin, matérialisation des événements non-trade fees/rewards/admin, raccordement aux diagnostics locaux et maintien strict de linvariant : aucun fee/reward/admin ne peut produire de trade, metric ou candle.
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 lalias 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.
0.7.43 - 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 dun 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 lorsquun 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.
0.7.45 - Meteora DLMM normalisation finale : consolidation séparée de meteora_dlmm sur corpus dédié, maintien du wrapper Anchor anchor_self_cpi_log e445a52e51cb9a1d, enrichissement des swaps via Swap / Swap2Evt, cleanup des audits Anchor CPI swap déjà couverts, ajout des events upstream Git/IDL observés et vérifiés par corpus (lb_pair_create_event, add_liquidity_event, remove_liquidity_event, claim_fee_event, position_create_event, position_close_event, close_position_if_empty, remove_liquidity_by_range2, add_liquidity_by_strategy2, add_liquidity_by_weight), conservation des deux audits résiduels e8abf2613a4d232d en instruction_audit faute de mapping upstream Git/IDL confirmé, matérialisation locale validée avec 15 liquidity events et 6 lifecycle events sur le corpus DLMM élargi, et version logique replay dex_decode.v0.7.45.dlmm_add_liquidity_strategies1. Aucun nouveau program_id nest déclaré vérifié sans preuve/corpus reproductible.
0.7.46 - Meteora DAMM v1 events finalisés : extension conservatoire du decoder meteora_damm_v1 depuis upstream Git/corpus local, events create_pool/add/remove liquidity/claim_fee/create_lock_escrow/lock_liquidity, corrections Demo3 ciblées et pagination multi-source, renommage documentaire/payload vers upstream_git_*, sans promotion de programme vault ou trade/candle sans preuve locale.
0.7.47 - Upstream Git Registry / DEX discovery preparation : registre générique upstream_git, extension Demo3 aux targets multi-surfaces, premiers decoders audit-only OpenBook v2 et Phoenix v1, matrices DEX/event coverage, revue DB et invariant maintenu : aucune entrée upstream ne produit trade/candle sans decoder spécialisé et corpus local.
0.7.48 - Raydium CPMM event coverage clôturé : couverture instructions/events CPMM Carbon/Raydium/fnzero, table coverage synchronisée, k_sol_instruction_observations, recherche Demo3 par instruction/discriminant, matérialisation validée des swaps, lifecycle, fees, admin/config, deposit/withdraw et lp_change_event, swap_event audit-only, fallback upstream remplacé quand le decoder local couvre lentrée.
0.7.49 - Raydium CLMM event coverage clôturé : 45 entrées listées, 33 instructions locales observées/décodées, 25 entrées matérialisées, ajout k_sol_orderbook_events, matérialisation des limit orders, liquidity, fees, rewards, admin/config et lifecycle prouvés par corpus, préparation audit-only des 11 Anchor Program-data events non observés, nettoyage des raydium_clmm.instruction_audit et upstream_git.instruction_match redondants, validation des invariants failed transaction / non-swap / trade-candle.
0.7.50-pre3 - Raydium Launchpad self-CPI/pool catalog correction : ajout du preset Demo3 raydium_launchpad, décodage direct des self-CPI Launchpad trade_event et pool_create_event, correction des indices initialize* (pool_state=5, base_mint=6, quote_mint=7) et routage des initialize* vers la matérialisation catalogue pool/pair Launchpad sans promotion trade/candle. 0.7.50 - Raydium Launchpad event coverage bootstrap : normalisation locale canonique vers raydium_launchpad, ajout de RAYDIUM_LAUNCHPAD_PROGRAM_ID, synchronisation des entrées Carbon Launchpad dans le registre upstream, fallback audit/mapped decoder pour discriminants Launchpad, enrichissement audit Anchor self-CPI, maintien conservatoire en decoded_events_only, rapport Launchpad et SQL de validation dédiés.
0.7.50-pre-r2 - Clôture CPMM/CLMM post-Launchpad : ajout des entrées Carbon cpi_event pour raydium_cpmm et raydium_clmm, ajout de raydium_clmm.update_dynamic_fee_config, normalisation des Program-data events CLMM, ajout de la table k_sol_token_account_events et de la matérialisation create_support_mint_associated, reclassement des familles ambiguës (cpi_transport, liquidity_calculation, liquidity_change, position_open, pool_create, admin_config, account_create, idl_management), codage du discriminant CPMM 40f4bc78a7e9690a comme raydium_cpmm.anchor_idl_instruction decoded-only après inspection Solscan, et contexte de secours pour matérialisation liquidity CLMM via événements frères quand possible.
0.7.51 - Raydium AMM v4 event coverage clôturé : decoder maximal local pour tous les discriminants officiels AMM v4 00..11, spécialisation des swaps swap_base_in/out et swap_base_in/out_v2, suppression durable du raydium_amm_v4.swap legacy, index AMM v4 en discriminant 1 octet, matérialisation validée des swaps, liquidity, lifecycle, fees, admin/config et side effects orderbook, pre_initialize conservé comme lifecycle audit deprecated/partial, simulate_info decoded-only, reset replay renforcé par protocol_name, validation des invariants failed/non-swap/single-target/unexplained gaps et maintien de raydium_pool_v4 en audit conditionnel sans decoder autonome.