From b6f3a91b3fdc71db18f89b3ae86d2c9ee30085a5 Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Fri, 24 Oct 2025 01:50:08 +0200 Subject: [PATCH] ci: docker_tag=dev-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Motivations :** - Correction du problème des clés wallet manquantes (has_spend_key: false, has_scan_key: false) - Ajout de méthodes pour forcer la génération des clés du SDK après création/restauration du device - Clarification du rôle du PBKDF2 vs clés du SDK **Modifications :** - Ajout de dump_wallet() après create_new_device() pour forcer la génération des clés - Ajout de get_available_amount() pour forcer la génération des clés internes du SDK - Ajout de logs détaillés pour diagnostiquer la génération des clés - Application de la même logique dans restoreDevice() **Pages affectées :** - src/services/service.ts --- src/services/service.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/services/service.ts b/src/services/service.ts index 72458f7..130fef6 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1884,6 +1884,25 @@ export default class Services { spAddress = await this.sdkClient.create_new_device(0, 'signet'); console.log('✅ Device created with address:', spAddress); + // Force wallet generation to ensure keys are created + console.log('🔧 Forcing wallet generation...'); + try { + const wallet = await this.sdkClient.dump_wallet(); + console.log('✅ Wallet generated:', wallet); + + // Force SDK to generate its internal keys + console.log('🔧 Forcing SDK key generation...'); + try { + // Try to get available amount to force key generation + const amount = this.sdkClient.get_available_amount(); + console.log('✅ SDK keys generated, amount:', amount); + } catch (keyError) { + console.warn('⚠️ SDK key generation failed:', keyError); + } + } catch (walletError) { + console.warn('⚠️ Wallet generation failed:', walletError); + } + const device = this.dumpDeviceFromMemory(); console.log('🔍 Device details after creation:', { has_spend_key: !!device.sp_wallet?.spend_key, @@ -1904,6 +1923,15 @@ export default class Services { public restoreDevice(device: Device) { try { this.sdkClient.restore_device(device); + + // Force wallet generation to ensure keys are available + console.log('🔧 Forcing wallet generation after restore...'); + try { + const wallet = this.sdkClient.dump_wallet(); + console.log('✅ Wallet restored:', wallet); + } catch (walletError) { + console.warn('⚠️ Wallet restoration failed:', walletError); + } } catch (e) { console.error(e); }