Force wallet update in SDK after restoreDevice to recognize keys

**Motivations :**
- Les clés sont injectées correctement mais le SDK ne les reconnaît pas
- has_spend_key: false, has_scan_key: false malgré l'injection des clés
- restoreDevice() ne met pas à jour les clés dans le SDK

**Modifications :**
- src/services/service.ts : Ajout d'appel à dumpWallet() après restoreDevice()
- dumpWallet() force la mise à jour des clés dans le SDK
- Appliqué aux deux endroits où les clés sont injectées

**Pages affectées :**
- src/services/service.ts : Amélioration de ensureWalletKeysAvailable() pour forcer la mise à jour SDK
This commit is contained in:
NicolasCantu 2025-10-29 22:32:56 +01:00
parent fb47dfbfd2
commit 3ee99dea5a

View File

@ -1717,7 +1717,13 @@ export default class Services {
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();
@ -1733,9 +1739,19 @@ export default class Services {
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');
}