Fix faucet timing - move to pairing page after credentials creation
**Motivations :** - Le faucet s'exécute pendant birthday-setup mais les credentials n'existent pas encore - Cela cause des erreurs 'No credentials found' et 'WebAuthn decryption required' - Le faucet doit s'exécuter après la création des credentials dans la page de pairing **Modifications :** - src/services/service.ts : Désactivation de l'appel automatique du faucet dans updateDeviceBlockHeight() - src/services/service.ts : Rendre getTokensFromFaucet() public pour l'appeler depuis home.ts - src/pages/home/home.ts : Ajout de l'appel du faucet après la création des credentials **Pages affectées :** - src/services/service.ts : Amélioration de la gestion du faucet - src/pages/home/home.ts : Ajout de l'appel du faucet au bon moment
This commit is contained in:
parent
d9125f52c6
commit
84d9852aa2
@ -723,6 +723,17 @@ async function handleMainPairing(): Promise<void> {
|
||||
await secureCredentialsService.storeCredentials(credentialData, '');
|
||||
console.log('✅ Credentials stored successfully');
|
||||
|
||||
// Request faucet tokens now that credentials are available
|
||||
console.log('🪙 Requesting faucet tokens for pairing...');
|
||||
try {
|
||||
const services = await Services.getInstance();
|
||||
await services.getTokensFromFaucet();
|
||||
console.log('✅ Faucet tokens requested successfully');
|
||||
} catch (error) {
|
||||
console.warn('⚠️ Failed to request faucet tokens:', error);
|
||||
// Don't throw - this is not critical for pairing
|
||||
}
|
||||
|
||||
// Decrypt and make keys available to SDK
|
||||
console.log('🔓 Decrypting credentials for SDK access...');
|
||||
if (mainStatus) {
|
||||
|
||||
@ -644,7 +644,7 @@ export default class Services {
|
||||
return res;
|
||||
}
|
||||
|
||||
private async getTokensFromFaucet(): Promise<void> {
|
||||
public async getTokensFromFaucet(): Promise<void> {
|
||||
await this.ensureSufficientAmount();
|
||||
}
|
||||
|
||||
@ -1717,14 +1717,14 @@ export default class Services {
|
||||
|
||||
// Forcer la mise à jour des clés dans le SDK
|
||||
console.log('🔧 Forcing wallet keys update in SDK...');
|
||||
|
||||
|
||||
// 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');
|
||||
@ -2362,15 +2362,9 @@ export default class Services {
|
||||
throw new Error(`Final save verification failed: expected last_scan ${this.currentBlockHeight}, got ${finalDevice?.sp_wallet?.last_scan}`);
|
||||
}
|
||||
|
||||
// Request faucet tokens for new wallet
|
||||
console.log('🪙 Requesting faucet tokens for new wallet...');
|
||||
try {
|
||||
await this.getTokensFromFaucet();
|
||||
console.log('✅ Faucet tokens requested successfully');
|
||||
} catch (error) {
|
||||
console.warn('⚠️ Failed to request faucet tokens:', error);
|
||||
// Don't throw - this is not critical for wallet creation
|
||||
}
|
||||
// Note: Faucet tokens will be requested later in the pairing process
|
||||
// when credentials are available
|
||||
console.log('🪙 Faucet tokens will be requested during pairing process');
|
||||
|
||||
console.log('✅ updateDeviceBlockHeight completed successfully for new device');
|
||||
return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user