diff --git a/src/services/service.ts b/src/services/service.ts index 7cad307..57bcaf8 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1715,9 +1715,15 @@ export default class Services { // Restaurer le device complet avec toutes les informations (birthday, last_scan, clés) this.restoreDevice(deviceFromDb); - + // Forcer la mise à jour des clés dans le SDK - console.log('🔧 Forcing wallet keys update in SDK...'); + console.log('🔧 Forcing wallet update in SDK...'); + try { + await this.dumpWallet(); + console.log('✅ Wallet updated in SDK'); + } catch (error) { + console.warn('⚠️ Failed to update wallet in SDK:', error); + } // Injecter les clés directement dans le device en mémoire const deviceInMemory = this.dumpDeviceFromMemory(); @@ -1726,16 +1732,26 @@ export default class Services { // spend_key doit être un objet {Secret: string} deviceInMemory.sp_wallet.spend_key = {Secret: credentials.spendKey}; deviceInMemory.sp_wallet.scan_key = credentials.scanKey; - + console.log('🔧 Injected keys:', { spend_key_type: typeof deviceInMemory.sp_wallet.spend_key, scan_key_type: typeof deviceInMemory.sp_wallet.scan_key, spend_key_secret: deviceInMemory.sp_wallet.spend_key?.Secret ? 'present' : 'missing' }); - - // Restaurer le device avec les clés mises à jour - this.restoreDevice(deviceInMemory); - console.log('✅ Wallet keys injected and device restored'); + + // Restaurer le device avec les clés mises à jour + this.restoreDevice(deviceInMemory); + + // Forcer la mise à jour des clés dans le SDK + console.log('🔧 Forcing wallet update in SDK...'); + try { + await this.dumpWallet(); + console.log('✅ Wallet updated in SDK'); + } catch (error) { + console.warn('⚠️ Failed to update wallet in SDK:', error); + } + + console.log('✅ Wallet keys injected and device restored'); } else { console.warn('⚠️ Could not inject keys - missing data'); }