diff --git a/kb-app-demo-desktop/Cargo.toml b/kb-app-demo-desktop/Cargo.toml index e380f5d..23f0c3e 100644 --- a/kb-app-demo-desktop/Cargo.toml +++ b/kb-app-demo-desktop/Cargo.toml @@ -1,5 +1,5 @@ # file: kb-app-demo-desktop/Cargo.toml -# version: 3 +# version: 4 [package] name = "kb-app-demo-desktop" @@ -25,15 +25,18 @@ chrono.workspace = true fs2.workspace = true kb-config = { path = "../kb-config" } kb-core = { path = "../kb-core" } -kb-lib = { path = "../kb-lib" } kb-logging = { path = "../kb-logging" } +kb-lib = { path = "../kb-lib" } kb-program-ids = { path = "../kb-program-ids" } kb-store = { path = "../kb-store" } +kb-wallet = { path = "../kb-wallet" } kb-pipeline = { path = "../kb-pipeline" } kb-pipeline-demo-scenarios = { path = "../kb-pipeline-demo-scenarios" } kb-onchain-transport = { path = "../kb-onchain-transport" } serde.workspace = true serde_json.workspace = true +spl-associated-token-account-interface.workspace = true +solana-pubkey.workspace = true rustls.workspace = true tauri.workspace = true tauri-plugin-tracing.workspace = true diff --git a/kb-app-demo-desktop/capabilities/default.json b/kb-app-demo-desktop/capabilities/default.json index a77c31c..9a233a8 100644 --- a/kb-app-demo-desktop/capabilities/default.json +++ b/kb-app-demo-desktop/capabilities/default.json @@ -14,7 +14,9 @@ "demo_sql_replay_candidates", "demo_config", "demo_core_extraction", - "demo_decode_replay" + "demo_decode_replay", + "demo_execution_solana_core", + "demo_execution_spl" ], "permissions": [ "core:default", diff --git a/kb-app-demo-desktop/frontend/demo_execution_solana_core.html b/kb-app-demo-desktop/frontend/demo_execution_solana_core.html new file mode 100644 index 0000000..7494f3c --- /dev/null +++ b/kb-app-demo-desktop/frontend/demo_execution_solana_core.html @@ -0,0 +1,73 @@ + + + + + + + + +Exécution Solana Core Devnet + + + +
+ +
+
+
+
+
Cette fenêtre est strictement réservée aux opérations Solana Core. Les opérations SPL sont disponibles dans « Exécution SPL Devnet ».
+
+
+

System Program

solana_native_classifier
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Journal

+
+
+
+
+
+
+
+

Résumé

+
+
+
+
+

Plan exact

+

Simulation exacte

+

Confirmation et replay

+
+
+
+
+
+
+
+ + + \ No newline at end of file diff --git a/kb-app-demo-desktop/frontend/demo_execution_spl.html b/kb-app-demo-desktop/frontend/demo_execution_spl.html new file mode 100644 index 0000000..1e48c4a --- /dev/null +++ b/kb-app-demo-desktop/frontend/demo_execution_spl.html @@ -0,0 +1,433 @@ + + + + + + + + Exécution SPL Devnet + + + + +
+ +
+
+
+
+ +
+
+
+
+

+
+
+
+ + +
+
+
+ +
+ + +
+
Une adresse générée ici est jetable : sa clé privée n’est ni conservée ni exposée.
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+
+

Exécutions par décodeur

Ouvrir une seule famille à la fois +
+
+
+

+
+
+
+ + +
566 octets UTF-8 maximum. La matérialisation `transaction_annotation` et le second replay d’idempotence sont obligatoires après envoi.
+
+
+ + +
+
+ Ce parcours réutilise le profil, la confirmation opérateur et l’option de force replay du panneau System ci-dessus. Aucune clé privée ne traverse la WebView. +
+
+ + +
+
+
+
+
+

+
+
+
+ Le mint et les decimals sont explicites. Le préflight vérifie les deux comptes, le solde et l’autorité avant toute simulation. L’envoi réutilise le profil et la confirmation opérateur communs. +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
Doit correspondre au wallet persistant du profil pour un envoi.
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+
+
+
+

+
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
Actualisé depuis le backend avec les seeds wallet, Token Program et mint.
+
+
+ + + +
+
+
+
+
+

+
+
+
Chaque opération est simulée sur le message exact avant toute signature. Les scénarios sont indépendants et réutilisent la fixture chargée dans les deux terminaux.
+
+
Aucune fixture chargée.
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+

+
+
+
Première démo : dériver le Registry PDA et construire le plan exact avec un Proof Context State existant.
+
+
+
+
+
+
+
+
+
+ Scénarios avec preuve. CreateRegistry, UpdateRegistry et ConfigureAccountWithRegistry restent dans le panneau ElGamal/Confidential et exigent un Proof Context State valide. Ils ne sont pas présentés comme des scénarios publics exécutables. +
+
+
+
+

Résultats détaillés

Plan, simulation, confirmation et journaux métier +
+
+
+

+ +

+
+
+ +
+
+
+
+

+ +

+
+
+ +
+
+
+
+

+ +

+
+
+ +
+
+
+
+
+
+

+
+
+
+
+
+
+

Journal métier SPL Token

+
Événements commités uniquement, sans solde final reconstruit ni OHLC.
+
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + + + + + + + + + + + + + +
SlotOpérationFamilleMontant brutSignature
Aucune lecture.
+
+ + +
+
+
+
+
+
+

+
+
+
+
+
+
+

Journal lifecycle ATA

+
Création, réutilisation idempotente et récupération nested, sans duplication des CPI Token.
+
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
+
+

Résumé

+ +
+
+
+
+
+

Journal

+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/kb-app-demo-desktop/frontend/demo_sql_diag.html b/kb-app-demo-desktop/frontend/demo_sql_diag.html index 959b4f6..0b1a938 100644 --- a/kb-app-demo-desktop/frontend/demo_sql_diag.html +++ b/kb-app-demo-desktop/frontend/demo_sql_diag.html @@ -14,10 +14,10 @@