v0.2.12-pre.010

This commit is contained in:
2026-08-27 19:11:07 +02:00
parent ca6af3d904
commit 4f71dbc62d
14 changed files with 457 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-wallet-desk/README.md -->
<!-- version: 3 -->
<!-- version: 4 -->
# `ksp-app-wallet-desk`
@@ -21,6 +21,7 @@ Wallet Desk reste une couche d'interface et de composition. Il ne possède ni le
ksp-config-lib -> configuration/composite/.env
ksp-wallet-lib -> format, crypto, VIEW/OWNER, import/export, migration
ksp-onchain-transport-lib -> RPC Solana HTTP
ksp-offchain-transport-lib -> prix SOL/USD provider-neutral
ksp-logging-lib -> logging/tracing applicatif
ksp-app-wallet-desk -> orchestration Tauri + projections sûres
```
@@ -64,6 +65,19 @@ La surface validée comprend :
- export OWNER Solana CLI JSON/Base58 no-clobber ;
- wire V2 par défaut tout en conservant la compatibilité V1.
## Prix SOL/USD auxiliaire
Le refresh de balance compose deux capacités backend : `getBalance` et `MarketPriceService::refresh_all`. Les observations réussies du refresh courant sont moyennées côté Rust sans `f64`; la balance SOL reste autoritative et le prix reste auxiliaire.
Le frontend reçoit uniquement :
```text
SOL/USD moyen
Équivalent USD de la balance
```
ou `N.A.` lorsque le prix n'est pas disponible. Cette moyenne est une projection locale à Wallet Desk : elle ne devient ni un consensus, ni un fallback, ni un prix canonique de `ksp-offchain-transport-lib`. Aucun provider ID ou détail provider n'est exposé au frontend Wallet.
## Frontières desktop
Le frontend utilise Bootstrap, Font Awesome, DataTables/Select, SimpleBar et le bridge Logging KSP. Les capabilities Tauri du guest restent minimales :

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-wallet-desk/USAGE.md -->
<!-- version: 2 -->
<!-- version: 3 -->
# Utilisation de `ksp-app-wallet-desk`
@@ -82,9 +82,21 @@ migrate_wallet_file_v1_to_v2_in_place
Elles authentifient OWNER, reconstruisent un document cryptographique V2 neuf et conservent l'identité Solana ainsi que les metadata/note IDs. Lorsque VIEW est activé, un password VIEW cible doit être fourni. La copie est no-clobber ; le remplacement in-place est stale-protected.
## 7. Balance Solana
## 7. Balance Solana et prix auxiliaire
Une session VIEW ou OWNER autorisée peut demander `getBalance` via `ksp-onchain-transport-lib`. Le frontend ne choisit ni Pubkey arbitraire ni URL RPC : ces valeurs sont dérivées de l'état Rust autorisé et de Config.
Une session VIEW ou OWNER autorisée peut rafraîchir sa balance. Le backend compose alors `getBalance` via `ksp-onchain-transport-lib` et un `refresh_all` SOL/USD via `ksp-offchain-transport-lib`. Le frontend ne choisit ni Pubkey arbitraire, ni URL RPC, ni provider prix : ces valeurs sont dérivées de l'état Rust autorisé et de Config.
Lorsque des observations SOL/USD sont produites par le refresh courant, Wallet Desk calcule côté Rust une moyenne arithmétique exacte puis l'équivalent USD de la balance. Aucun `f64` n'est utilisé comme vérité métier.
L'interface affiche :
```text
Balance SOL
SOL/USD moyen
Équivalent USD
```
Si aucune observation prix exploitable n'est disponible, les deux champs USD affichent `N.A.` sans transformer un `getBalance` réussi en erreur Wallet. La moyenne est strictement une projection de consommation Wallet ; elle ne modifie pas le contrat provider-neutral de `ksp-offchain-transport-lib`.
## 8. Runtime packagé