Fix wallet keys not being recognized by SDK after restore
**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
This commit is contained in:
parent
37fef26b8b
commit
f1beeca103
@ -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) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user