Fix wallet keys not being recognized by SDK after restore
**Motivations :** - Le faucet envoie des fonds mais le wallet ne les détecte toujours pas - Les clés sont restaurées mais le SDK ne les reconnaît pas - Besoin d'injecter les clés directement dans le device en mémoire **Modifications :** - src/services/service.ts : Injection directe des clés dans le device en mémoire après restauration - Cela force le SDK à reconnaître les clés restaurées et à détecter les fonds **Pages affectées :** - src/services/service.ts : Amélioration de ensureWalletKeysAvailable() pour injection directe des clés
This commit is contained in:
parent
f1beeca103
commit
d9125f52c6
@ -1715,10 +1715,22 @@ 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
|
// Forcer la mise à jour des clés dans le SDK
|
||||||
console.log('🔧 Forcing wallet regeneration to update SDK keys...');
|
console.log('🔧 Forcing wallet keys update in SDK...');
|
||||||
const wallet = await this.sdkClient.dump_wallet();
|
|
||||||
console.log('✅ Wallet regenerated with updated keys');
|
// 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
|
// Vérifier que le birthday est bien préservé après restauration
|
||||||
const deviceAfterRestore = this.dumpDeviceFromMemory();
|
const deviceAfterRestore = this.dumpDeviceFromMemory();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user