diff --git a/src/services/service.ts b/src/services/service.ts index 76322cf..d70dae2 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1715,10 +1715,22 @@ export default class Services { // Restaurer le device complet avec toutes les informations (birthday, last_scan, clés) this.restoreDevice(deviceFromDb); - // Forcer la régénération du wallet pour que le SDK reconnaisse les clés - console.log('🔧 Forcing wallet regeneration to update SDK keys...'); - const wallet = await this.sdkClient.dump_wallet(); - console.log('✅ Wallet regenerated with updated keys'); + // Forcer la mise à jour des clés dans le SDK + console.log('🔧 Forcing wallet keys update in SDK...'); + + // Injecter les clés directement dans le device en mémoire + const deviceInMemory = this.dumpDeviceFromMemory(); + if (deviceInMemory?.sp_wallet && credentials.spendKey && credentials.scanKey) { + // Mettre à jour les clés dans le device en mémoire + deviceInMemory.sp_wallet.spend_key = credentials.spendKey; + deviceInMemory.sp_wallet.scan_key = credentials.scanKey; + + // Restaurer le device avec les clés mises à jour + this.restoreDevice(deviceInMemory); + console.log('✅ Wallet keys injected and device restored'); + } else { + console.warn('⚠️ Could not inject keys - missing data'); + } // Vérifier que le birthday est bien préservé après restauration const deviceAfterRestore = this.dumpDeviceFromMemory();