v0.2.5-pre.010

This commit is contained in:
2026-08-20 09:58:14 +02:00
parent e91bf36e9e
commit 5bf9651038
15 changed files with 1363 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/architecture/005-DEPENDENCY_GRAPH.md -->
<!-- version: 10 -->
<!-- version: 11 -->
# Graphe de dépendances KSP
@@ -131,17 +131,28 @@ La première surface est un reader de prix ; metadata HTTP/IPFS/Arweave et autre
```text
ksp-wallet-lib
-> ksp-core-lib
-> ksp-logging-lib
-> low-level crypto/key primitives explicitement retenues
-> ksp-core-lib # Pubkey/Error/Result
-> ksp-logging-lib # observabilité KSP
-> argon2 / chacha20poly1305 # KDF + AEAD
-> getrandom / zeroize # CSPRNG + secret memory
-> ed25519-dalek # autorité d'état OWNER
-> solana-keypair # keypair Solana encapsulée
-> serde / serde_json # wire JSON V1
-> tempfile / tokio # persistence + spawn_blocking
```
`ksp-core-lib::Pubkey` reste le type public transversal. `solana-keypair` est volontairement possédée directement par Wallet : elle contient le secret et la capacité de signature, n'est pas réexportée et n'est pas remontée dans Core par anticipation.
Interdictions :
```text
ksp-wallet-lib -X-> ksp-config-lib
ksp-wallet-lib -X-> ksp-onchain-transport-lib
ksp-wallet-lib -X-> ksp-execution-policy-api
ksp-wallet-lib -X-> Tauri / Store
ksp-wallet-lib -X-> tracing direct / std::env
ksp-wallet-lib -X-> solana-pubkey direct
ksp-wallet-lib -X-> solana-signer / solana-signature direct
```
Le Wallet stocke/ouvre/signe. Il ne décide pas si une dépense est autorisée.
@@ -377,7 +388,7 @@ ksp-app-wallet-desk
-> ksp-logging-lib
```
L'app compose ; elle ne déplace pas Config/Wallet/Transport dans Tauri.
L'app compose ; elle ne déplace pas Config/Wallet/Transport dans Tauri. Les handles `WalletView`/`WalletOwner` restent côté Rust, et le frontend ne reçoit que des DTOs sûrs. Config peut fournir la racine Wallet et le profil Transport ; les passwords et le secret Solana ne deviennent jamais des valeurs Config.
## Price Desk