From b77dbceaa9d11aa440fd628aed5ce3d6553a440b Mon Sep 17 00:00:00 2001 From: Sosthene Date: Thu, 4 Sep 2025 04:45:03 +0200 Subject: [PATCH] [bug] prevents addresses duplicates in transactions --- src/service.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/service.ts b/src/service.ts index e188067..aca4297 100644 --- a/src/service.ts +++ b/src/service.ts @@ -294,7 +294,7 @@ export class Service { public async checkConnections(members: Member[]): Promise { // Ensure the amount is available before proceeding await this.getTokensFromFaucet(); - let unconnectedAddresses = []; + let unconnectedAddresses = new Set(); const myAddress = this.getDeviceAddress(); for (const member of members) { const sp_addresses = member.sp_addresses; @@ -304,23 +304,23 @@ export class Service { if (address === myAddress) continue; const sharedSecret = await this.getSecretForAddress(address); if (!sharedSecret) { - unconnectedAddresses.push(address); + unconnectedAddresses.add(address); } } } - if (unconnectedAddresses && unconnectedAddresses.length != 0) { + if (unconnectedAddresses && unconnectedAddresses.size != 0) { const apiResult = await this.connectAddresses(unconnectedAddresses); await this.handleApiReturn(apiResult); } } - public async connectAddresses(addresses: string[]): Promise { - if (addresses.length === 0) { + public async connectAddresses(addresses: Set): Promise { + if (addresses.size === 0) { throw new Error('Trying to connect to empty addresses list'); } try { - return wasm.create_transaction(addresses, 1); + return wasm.create_transaction(Array.from(addresses), 1); } catch (e) { console.error('Failed to connect member:', e); throw e;