diff --git a/src/services/service.ts b/src/services/service.ts index 72458f7..130fef6 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -1884,6 +1884,25 @@ export default class Services { spAddress = await this.sdkClient.create_new_device(0, 'signet'); 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(); console.log('🔍 Device details after creation:', { has_spend_key: !!device.sp_wallet?.spend_key, @@ -1904,6 +1923,15 @@ export default class Services { public restoreDevice(device: Device) { try { 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) { console.error(e); }