Fix wallet keys format - spend_key must be {Secret: string} object
**Motivations :**
- Le faucet fonctionne mais les clés ne sont pas reconnues par le SDK
- has_spend_key: false, has_scan_key: false malgré l'injection des clés
- Le format des clés n'est pas correct pour le SDK
**Modifications :**
- src/services/service.ts : Correction du format de spend_key en objet {Secret: string}
- Ajout de logs pour vérifier le format des clés injectées
- Cela correspond au format attendu par le SDK
**Pages affectées :**
- src/services/service.ts : Amélioration de ensureWalletKeysAvailable() pour le bon format des clés
This commit is contained in:
parent
039f6e3583
commit
fb47dfbfd2
@ -727,11 +727,11 @@ async function handleMainPairing(): Promise<void> {
|
||||
console.log('🪙 Requesting faucet tokens for pairing...');
|
||||
try {
|
||||
const services = await Services.getInstance();
|
||||
|
||||
|
||||
// Ensure relays are connected before requesting faucet
|
||||
console.log('🔄 Ensuring relays are connected...');
|
||||
await services.connectAllRelays();
|
||||
|
||||
|
||||
await services.getTokensFromFaucet();
|
||||
console.log('✅ Faucet tokens requested successfully');
|
||||
} catch (error) {
|
||||
|
||||
@ -1709,7 +1709,8 @@ export default class Services {
|
||||
}
|
||||
|
||||
// Injecter les clés depuis les credentials dans le device de la base de données
|
||||
deviceFromDb.sp_wallet.spend_key = credentials.spendKey;
|
||||
// spend_key doit être un objet {Secret: string}
|
||||
deviceFromDb.sp_wallet.spend_key = {Secret: credentials.spendKey};
|
||||
deviceFromDb.sp_wallet.scan_key = credentials.scanKey;
|
||||
|
||||
// Restaurer le device complet avec toutes les informations (birthday, last_scan, clés)
|
||||
@ -1722,9 +1723,16 @@ export default class Services {
|
||||
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;
|
||||
// spend_key doit être un objet {Secret: string}
|
||||
deviceInMemory.sp_wallet.spend_key = {Secret: credentials.spendKey};
|
||||
deviceInMemory.sp_wallet.scan_key = credentials.scanKey;
|
||||
|
||||
|
||||
console.log('🔧 Injected keys:', {
|
||||
spend_key_type: typeof deviceInMemory.sp_wallet.spend_key,
|
||||
scan_key_type: typeof deviceInMemory.sp_wallet.scan_key,
|
||||
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');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user