Files
khadhroony-solana-project/crates/ksp-app-store-desk
..
2026-09-03 10:44:49 +02:00
2026-09-03 21:36:34 +02:00
2026-09-03 10:44:49 +02:00
2026-09-03 21:36:34 +02:00
2026-09-04 07:23:33 +02:00
2026-09-03 21:36:34 +02:00
2026-09-03 10:44:49 +02:00
2026-09-03 16:26:18 +02:00
2026-09-04 10:44:45 +02:00
2026-09-04 09:58:20 +02:00
2026-09-03 16:26:18 +02:00
2026-09-04 07:23:33 +02:00
2026-09-04 09:58:20 +02:00
2026-09-03 11:31:41 +02:00

ksp-app-store-desk

ksp-app-store-desk est lapplication desktop spécialisée dinspection read-only du Store KSP.

Elle reste une couche de composition Tauri : Config sélectionne le profil Store et Logging, ksp-store-lib possède la façade backend-neutral et les contrats dinspection, et le backend physique reste entièrement masqué à lapplication comme au frontend.

Package

package : ksp-app-store-desk
lib     : ksp_app_store_desk_lib
bin     : ksp-app-store-desk

Le binaire est un launcher mince. La bibliothèque applicative possède le bootstrap, le lifecycle Store, les DTOs Tauri, les commands, les projections de détail bornées et le bridge de tracing frontend.

Composition

ksp-config-lib        -> composite, profils, secrets et runtime packagé
ksp-core-lib          -> erreurs et primitives communes
ksp-store-lib         -> façade Store backend-neutral et contrats RAW/inspection
ksp-logging-lib       -> logging/tracing applicatif
ksp-app-store-desk    -> orchestration Tauri + projections sûres read-only

Lapplication ne dépend pas directement de ksp-store-api, ksp-store-postgres-lib, tokio-postgres ou dun autre backend physique. Elle ne possède aucun SQL.

Vues

La surface utilisateur comprend :

  • Overview : état du runtime Store, health portable, réseau, backend logique, migration et compteurs de pool sûrs ;
  • RAW Transactions : inspection DataTables server-side, filtres de slot et direction, état de rétention et détail explicite ;
  • RAW Accounts : inspection DataTables server-side, filtre pubkey exact, plage de slots, direction et détail explicite ;
  • Diagnostics : projection sûre du shell, de Config et du runtime Store.

Les détails Transaction et Account contiennent également leurs observations dans des DataTables server-side dédiées lorsque ces observations existent.

Pagination et inspection

Store Desk utilise la surface dinspection random-access de ksp-store-lib : offset + limit avec counts exacts. DataTables est lunique propriétaire de la pagination visible et les tailles admises sont 25, 50 et 100.

Cette voie dinspection humaine ne remplace pas la pagination cursor/keyset du Store. Les workers, jobs et autres consumers machine peuvent continuer à utiliser RawPageCursor / RawPageRequest; Store Desk ne consomme pas ces cursors.

Le frontend conserve draw localement et ne transmet ni search globale DataTables, ni ordre de colonnes arbitraire, ni cursor, ni réseau physique au Store.

Rows, détails et observations

Les rows de table ne transportent jamais les bytes RAW complets :

  • Transaction : identité, slot, format, hash, taille éventuelle et état de rétention ;
  • Account : pubkey, slot, state hash, owner, lamports, executable, rent epoch et longueur de data ;
  • Observation : provenance dacquisition sûre et metadata bornées, sans source payload bytes.

Un détail est chargé explicitement pour une seule entité. Les previews payload Transaction et data Account sont limitées à 512 bytes, rendues en hexadécimal et accompagnées de la taille exacte et dun indicateur de troncature.

Pour une Transaction, les états Full, Archived et Purged restent distincts. Un état Purged est représenté via son tombstone ; Store Desk noffre aucune action darchive, purge ou force-rehydrate.

Valeurs longues et copie

Les signatures, hashes, pubkeys, owners et autres identifiants longs sont tronqués visuellement au centre tout en restant disponibles via tooltip et bouton de copie. La copie najoute aucune capability Tauri : elle utilise le WebView et le tracing ne transporte que lidentifiant logique du champ, jamais la valeur copiée.

Config et réseaux

Le composite dédié est :

cfg.composite.ksp-app-store-desk

Les profils committed couvrent mainnet, devnet et testnet. Mainnet est le profil par défaut. Le composite contient uniquement Logging + Store ; aucun Transport nest ouvert par lapplication.

Le frontend ne reçoit jamais URI Store, credential, secret Config, SQL, handle pool ou type backend physique.

Sécurité et ownership

Store Desk est read-only par contrat applicatif : aucun command Tauri décriture Store nest exposé. Les capabilities guest restent limitées à core:default et tracing:default.

Le frontend ne possède ni accès réseau navigateur direct, ni persistence navigateur des données RAW, ni accès filesystem, ni dialogue natif pour contourner les façades KSP.

Les comptes et counts u64 susceptibles dexcéder le domaine entier sûr JavaScript traversent IPC sous forme décimale et sont vérifiés avant conversion côté TypeScript.

Ports et développement

Vite HTTP : 1438
Vite WS   : 1439

Lancement :

(cd crates/ksp-app-store-desk && cargo tauri dev)

Build production :

(cd crates/ksp-app-store-desk && cargo tauri build)

Voir également USAGE.md, ../ksp-store-lib/README.md, ../../docs/architecture/008-DATA_MATERIALIZATION_AND_STORE.md et ../../docs/validation/025-V0_3_8_STORE_DESK.md.