Check before creating shared secret

This commit is contained in:
Sosthene 2024-11-25 21:35:45 +01:00
parent d923a188e6
commit 85931ba350
3 changed files with 20 additions and 11 deletions

View File

@ -56,10 +56,13 @@ async function onScanSuccess(decodedText: any, decodedResult: any) {
const service = await Services.getInstance(); const service = await Services.getInstance();
// Call the sendPairingTx function with the extracted sp_address // Call the sendPairingTx function with the extracted sp_address
try { try {
const member = { const sharedSecret = await service.getSecretForAddress(spAddress);
sp_addresses: [spAddress], if (!sharedSecret) {
const member = {
sp_addresses: [spAddress],
}
await service.connectMember([member]);
} }
await service.connectMember([member]);
// await service.sendPairingTx(spAddress); // await service.sendPairingTx(spAddress);
} catch (e) { } catch (e) {
console.error('Failed to pair:', e); console.error('Failed to pair:', e);

View File

@ -113,9 +113,12 @@ async function init(): Promise<void> {
const pairingAddress = urlParams.get('sp_address'); const pairingAddress = urlParams.get('sp_address');
if (pairingAddress) { if (pairingAddress) {
setTimeout(async () => { setTimeout(async () => {
// await services.sendPairingTx(pairingAddress)
try { try {
await services.connectMember([{sp_addresses: [pairingAddress]}]); // check if we have a shared secret with that address
const sharedSecret = await services.getSecretForAddress(pairingAddress);
if (!sharedSecret) {
await services.connectMember([{sp_addresses: [pairingAddress]}]);
}
} catch (e) { } catch (e) {
console.error('Failed to pair:', e); console.error('Failed to pair:', e);
} }

View File

@ -148,12 +148,15 @@ export function initAddressInput() {
async function onOkButtonClick() { async function onOkButtonClick() {
const service = await Services.getInstance(); const service = await Services.getInstance();
const addressInput = (document.getElementById('addressInput') as HTMLInputElement).value; const addressInput = (document.getElementById('addressInput') as HTMLInputElement).value;
const member = {
sp_addresses: [addressInput],
}
try { try {
await service.connectMember([member]); const sharedSecret = await service.getSecretForAddress(addressInput);
// await service.sendPairingTx(addressInput); if (!sharedSecret) {
const member = {
sp_addresses: [addressInput],
}
await service.connectMember([member]);
}
await service.createPairingProcess([addressInput], "sprt1qqdg4x69xdyhxpz4weuel0985qyswa0x9ycl4q6xc0fngf78jtj27gqj5vff4fvlt3fydx4g7vv0mh7vqv8jncgusp6n2zv860nufdzkyy59pqrdr", 1);
} catch (e) { } catch (e) {
console.error('onOkButtonClick error:', e); console.error('onOkButtonClick error:', e);
} }