Files
khadhroony-solana-project/docs/architecture/004-COMPONENT_INVENTORY.md
2026-08-18 22:43:09 +02:00

10 KiB

Inventaire initial des composants KSP

Objet

Ce document maintient l'inventaire synthétique des composants retenus ou pressentis. Les numéros de release précis restent soumis au sizing de chaque session.

Statuts

  • Stable — implémenté et publié ;
  • Retenu — composant/contrat décidé ;
  • Pressenti — direction décidée mais périmètre exact à confirmer ;
  • À la demande — créé seulement au premier besoin réel ;
  • Non retenu — explicitement écarté pour l'instant.

Inventaire synthétique

Domaine Composant Type Statut Première cible actuelle Mission
Core ksp-core-lib lib Stable 0.1.1 Error/Result, Program IDs et primitives fondamentales
Logging ksp-logging-lib lib Stable 0.1.2 façade unique tracing KSP
Config ksp-config-lib lib Stable 0.1.3 documents, profils, env et persistence Config
Config Desk ksp-app-config-desk app Stable 0.1.4 validation/management Config
On-chain HTTP ksp-onchain-transport-lib lib Stable 0.2.1 foundation stable + candidate HTTP typed 52/52 en 0.2.4
Wallet ksp-wallet-lib lib Retenu 0.2.5 .kspwallet, secrets, signature, import/export
Wallet Desk ksp-app-wallet-desk app Retenu 0.2.6 Wallet + Config composite + HTTP/balance
Standard WS ksp-onchain-transport-lib lib Retenu 0.2.7 WebSocket Solana complet, sessions/subscriptions
Helius WS ksp-onchain-transport-lib lib Retenu 0.2.8 LaserStream WebSocket comme extension du moteur standard
Yellowstone ksp-onchain-transport-lib lib Pressenti 0.2.9 client gRPC standard/provider-neutral
Off-chain price ksp-offchain-transport-lib lib Retenu 0.2.10 première abstraction/provider de prix SOL/USD, SOL/EUR
Price Desk nom à fixer app Retenu 0.2.11 visualisation/validation des prix
Wire ksp-interface-lib lib Retenu 0.2.12 façade wire officielle + API publique wire
Program API ksp-program-api API Retenu 0.2.13 contrats extensibles Program
Program impl. ksp-program-lib lib Retenu vertical slices ultérieurs implementations Program officielles
Program extension ksp-program-<name>-lib lib externe À la demande dès besoin implementation externe de ksp-program-api
Store API ksp-store-api API Retenu 0.3.1 contrats persistence backend-agnostic, RAW d'abord
Store PostgreSQL ksp-store-lib lib Retenu 0.3.1 backend PostgreSQL officiel, RAW d'abord
Job lifecycle ksp-job-api API Retenu 0.3.3 lifecycle des jobs terminables
Backfill ksp-job-backfill job/lib à préciser Retenu 0.3.3 acquisition historique vers RAW
Backfill Desk nom à fixer app Retenu 0.3.4 contrôle/inspection du backfill RAW
Worker lifecycle ksp-worker-api API Retenu fin couche RAW lifecycle des services continus
RAW worker ksp-worker-raw-retriever ou nom révisé worker Retenu fin couche RAW acquisition live vers RAW
CORE processor nom à fixer processor/lib Retenu couche CORE normalisation Solana générique RAW -> CORE
CORE worker nom à fixer worker Retenu fin couche CORE backlog RAW -> CORE continu
Materializer API ksp-materializer-api API Retenu premier groupe DECODE contrats extensibles matérialisation
Materializer impl. ksp-materializer-lib lib Retenu premier groupe DECODE implementations officielles communes
Execution policy ksp-execution-policy-api API Retenu premier vrai besoin execution décision/safety multi-contexte
Execution orchestration ksp-execution-lib lib Retenu premier vrai cycle execution Program + policy + Wallet + transport
Scenarios ksp-scenario-<domain>-lib lib Retenu vertical slices validation métier/devnet par groupe
Scenario API ksp-scenario-api API Non retenu norme souple avant trait commun
Market Desk ksp-app-market-desk app Pressenti après Meteora/Raydium/Pump/Orca tokens, pools, trades, liquidity, price, OHLC
Trading Intelligence noms à définir libs/jobs Futur après données stables features/signaux/anomalies/ML

Contrats séparés retenus

ksp-program-api
ksp-materializer-api
ksp-store-api
ksp-worker-api
ksp-job-api
ksp-execution-policy-api

Pas de crates séparées actuellement pour :

ksp-interface-api
ksp-wallet-api
ksp-onchain-transport-api
ksp-offchain-transport-api
ksp-scenario-api
ksp-job-control-lib
ksp-data-api

Transport

ksp-onchain-transport-lib doit couvrir l'intégralité des opérations documentées de la surface ciblée par chaque release. 0.2.1 stabilise la foundation HTTP et quatre wrappers typés canari, 0.2.2 ajoute 22 wrappers Accounts/Tokens/Cluster et 0.2.3 stabilise les 11 Transactions. La candidate 0.2.4-pre.009 ajoute les 10 Blocks + 5 Economics et atteint 52/52 méthodes HTTP courantes typées, avec 14/14 historiques Deprecated/Removed conservées pour compliance. Les statuts deprecated/obsolete encore fonctionnels et unstable/experimental restent exposés avec warning runtime KSP.

La Config standard Transport appartient à ksp-config-lib, qui adapte vers les settings publics du transport ; le transport ne dépend jamais de Config.

Les WebSockets supportent plusieurs sessions pour un même endpoint URL, mais un pool/scheduler automatique n'est créé qu'après besoin démontré.

Les providers Yellowstone spécifiques restent des extensions futures ; le contrat standard est provider-neutral.

Wallet

Le format natif est .kspwallet.

Les anciens temporary wallets JSON ne sont pas migrés.

WalletPolicy est exclu du Wallet et relève de l'execution policy.

Import/export reste extensible ; les formats supplémentaires sont suivis dans docs/IDEAS.md.

Data plane

RAW -> CORE -> DECODE -> SPECIALIZED
  • RAW : acquisition replayable ;
  • CORE : normalisation blockchain générique sans decoder Program ;
  • DECODE : interpretation Program + matérialisation générique/journal ;
  • SPECIALIZED : projections queryables de domaine.

Progression des processors

RAW et CORE sont complétés couche par couche avec jobs/workers/apps utiles.

À partir de DECODE, progression verticale par groupe :

wire -> decode -> materialize -> specialized -> prepare -> policy -> execute -> scenario

Groupes prioritaires :

Solana Core Programs
SPL token/trading
token metadata
Anchor
Meteora
Raydium
Pump
Orca
Market Desk V1
Jupiter/OKX routing
Market Desk V2
trading-adjacent
general decoding

Meteora vaults, Pump fees et autres satellites nécessaires restent dans leur groupe.

Applications spécialisées

Les applications servent de validations/exploitations réelles sans absorber la logique des bibliothèques.

Market Desk est progressive : V1 après les DEX prioritaires, puis enrichissement routing après Jupiter/OKX.

Questions restantes

  • noms exacts de Price Desk et Backfill Desk ;
  • surface exacte Yellowstone après audit normatif de 0.2.9-pre.001 ;
  • nécessité future d'un pool automatique WS ;
  • types exacts ksp-program-api/ksp-materializer-api/ksp-store-api ;
  • nom/packaging précis du premier RAW worker et du CORE normalizer ;
  • granularité des workers DECODE/SPECIALIZED par groupe.