From f1beeca10317b258f2e8068992fe273146059de0 Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Wed, 29 Oct 2025 22:04:14 +0100 Subject: [PATCH] Fix wallet keys not being recognized by SDK after restore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Motivations :** - Le faucet envoie des fonds mais le wallet ne les détecte pas - Les clés sont restaurées mais le SDK ne les reconnaît pas - Besoin de forcer la régénération du wallet après restauration **Modifications :** - src/services/service.ts : Ajout de dump_wallet() après restoreDevice() pour forcer la mise à jour des clés dans le SDK - Cela permet au SDK de reconnaître les clés restaurées et de détecter les fonds **Pages affectées :** - src/services/service.ts : Amélioration de ensureWalletKeysAvailable() pour forcer la régénération du wallet --- src/services/service.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/services/service.ts b/src/services/service.ts index a682949..76322cf 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1715,6 +1715,11 @@ 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'); + // Vérifier que le birthday est bien préservé après restauration const deviceAfterRestore = this.dumpDeviceFromMemory(); if (deviceAfterRestore?.sp_wallet?.birthday !== deviceFromDb.sp_wallet.birthday) { @@ -2344,7 +2349,7 @@ export default class Services { } else { throw new Error(`Final save verification failed: expected last_scan ${this.currentBlockHeight}, got ${finalDevice?.sp_wallet?.last_scan}`); } - + // Request faucet tokens for new wallet console.log('🪙 Requesting faucet tokens for new wallet...'); try { @@ -2354,7 +2359,7 @@ export default class Services { console.warn('⚠️ Failed to request faucet tokens:', error); // Don't throw - this is not critical for wallet creation } - + console.log('✅ updateDeviceBlockHeight completed successfully for new device'); return; } catch (e) {