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:
parent
07b13876ba
commit
b6f3a91b3f
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user