[bug] prevents addresses duplicates in transactions
This commit is contained in:
parent
6625771830
commit
b77dbceaa9
@ -294,7 +294,7 @@ export class Service {
|
|||||||
public async checkConnections(members: Member[]): Promise<void> {
|
public async checkConnections(members: Member[]): Promise<void> {
|
||||||
// Ensure the amount is available before proceeding
|
// Ensure the amount is available before proceeding
|
||||||
await this.getTokensFromFaucet();
|
await this.getTokensFromFaucet();
|
||||||
let unconnectedAddresses = [];
|
let unconnectedAddresses = new Set<string>();
|
||||||
const myAddress = this.getDeviceAddress();
|
const myAddress = this.getDeviceAddress();
|
||||||
for (const member of members) {
|
for (const member of members) {
|
||||||
const sp_addresses = member.sp_addresses;
|
const sp_addresses = member.sp_addresses;
|
||||||
@ -304,23 +304,23 @@ export class Service {
|
|||||||
if (address === myAddress) continue;
|
if (address === myAddress) continue;
|
||||||
const sharedSecret = await this.getSecretForAddress(address);
|
const sharedSecret = await this.getSecretForAddress(address);
|
||||||
if (!sharedSecret) {
|
if (!sharedSecret) {
|
||||||
unconnectedAddresses.push(address);
|
unconnectedAddresses.add(address);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (unconnectedAddresses && unconnectedAddresses.length != 0) {
|
if (unconnectedAddresses && unconnectedAddresses.size != 0) {
|
||||||
const apiResult = await this.connectAddresses(unconnectedAddresses);
|
const apiResult = await this.connectAddresses(unconnectedAddresses);
|
||||||
await this.handleApiReturn(apiResult);
|
await this.handleApiReturn(apiResult);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async connectAddresses(addresses: string[]): Promise<ApiReturn> {
|
public async connectAddresses(addresses: Set<string>): Promise<ApiReturn> {
|
||||||
if (addresses.length === 0) {
|
if (addresses.size === 0) {
|
||||||
throw new Error('Trying to connect to empty addresses list');
|
throw new Error('Trying to connect to empty addresses list');
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return wasm.create_transaction(addresses, 1);
|
return wasm.create_transaction(Array.from(addresses), 1);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Failed to connect member:', e);
|
console.error('Failed to connect member:', e);
|
||||||
throw e;
|
throw e;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user