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)
|
// Restaurer le device complet avec toutes les informations (birthday, last_scan, clés)
|
||||||
this.restoreDevice(deviceFromDb);
|
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
|
// Vérifier que le birthday est bien préservé après restauration
|
||||||
const deviceAfterRestore = this.dumpDeviceFromMemory();
|
const deviceAfterRestore = this.dumpDeviceFromMemory();
|
||||||
if (deviceAfterRestore?.sp_wallet?.birthday !== deviceFromDb.sp_wallet.birthday) {
|
if (deviceAfterRestore?.sp_wallet?.birthday !== deviceFromDb.sp_wallet.birthday) {
|
||||||
@ -2344,7 +2349,7 @@ export default class Services {
|
|||||||
} else {
|
} else {
|
||||||
throw new Error(`Final save verification failed: expected last_scan ${this.currentBlockHeight}, got ${finalDevice?.sp_wallet?.last_scan}`);
|
throw new Error(`Final save verification failed: expected last_scan ${this.currentBlockHeight}, got ${finalDevice?.sp_wallet?.last_scan}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Request faucet tokens for new wallet
|
// Request faucet tokens for new wallet
|
||||||
console.log('🪙 Requesting faucet tokens for new wallet...');
|
console.log('🪙 Requesting faucet tokens for new wallet...');
|
||||||
try {
|
try {
|
||||||
@ -2354,7 +2359,7 @@ export default class Services {
|
|||||||
console.warn('⚠️ Failed to request faucet tokens:', error);
|
console.warn('⚠️ Failed to request faucet tokens:', error);
|
||||||
// Don't throw - this is not critical for wallet creation
|
// Don't throw - this is not critical for wallet creation
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('✅ updateDeviceBlockHeight completed successfully for new device');
|
console.log('✅ updateDeviceBlockHeight completed successfully for new device');
|
||||||
return;
|
return;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user