ci: docker_tag=dev-test

**Motivations :**
- Correction du problème des clés wallet manquantes (has_spend_key: false, has_scan_key: false)
- Ajout de méthodes pour forcer la génération des clés du SDK après création/restauration du device
- Clarification du rôle du PBKDF2 vs clés du SDK

**Modifications :**
- Ajout de dump_wallet() après create_new_device() pour forcer la génération des clés
- Ajout de get_available_amount() pour forcer la génération des clés internes du SDK
- Ajout de logs détaillés pour diagnostiquer la génération des clés
- Application de la même logique dans restoreDevice()

**Pages affectées :**
- src/services/service.ts
This commit is contained in:
NicolasCantu 2025-10-24 01:50:08 +02:00
parent 07b13876ba
commit b6f3a91b3f

View File

@ -1884,6 +1884,25 @@ export default class Services {
spAddress = await this.sdkClient.create_new_device(0, 'signet'); spAddress = await this.sdkClient.create_new_device(0, 'signet');
console.log('✅ Device created with address:', spAddress); console.log('✅ Device created with address:', spAddress);
// Force wallet generation to ensure keys are created
console.log('🔧 Forcing wallet generation...');
try {
const wallet = await this.sdkClient.dump_wallet();
console.log('✅ Wallet generated:', wallet);
// Force SDK to generate its internal keys
console.log('🔧 Forcing SDK key generation...');
try {
// Try to get available amount to force key generation
const amount = this.sdkClient.get_available_amount();
console.log('✅ SDK keys generated, amount:', amount);
} catch (keyError) {
console.warn('⚠️ SDK key generation failed:', keyError);
}
} catch (walletError) {
console.warn('⚠️ Wallet generation failed:', walletError);
}
const device = this.dumpDeviceFromMemory(); const device = this.dumpDeviceFromMemory();
console.log('🔍 Device details after creation:', { console.log('🔍 Device details after creation:', {
has_spend_key: !!device.sp_wallet?.spend_key, has_spend_key: !!device.sp_wallet?.spend_key,
@ -1904,6 +1923,15 @@ export default class Services {
public restoreDevice(device: Device) { public restoreDevice(device: Device) {
try { try {
this.sdkClient.restore_device(device); this.sdkClient.restore_device(device);
// Force wallet generation to ensure keys are available
console.log('🔧 Forcing wallet generation after restore...');
try {
const wallet = this.sdkClient.dump_wallet();
console.log('✅ Wallet restored:', wallet);
} catch (walletError) {
console.warn('⚠️ Wallet restoration failed:', walletError);
}
} catch (e) { } catch (e) {
console.error(e); console.error(e);
} }