From 3b2a7b8f0805c4b93f24f55ed3f8a97921991a99 Mon Sep 17 00:00:00 2001 From: Patryk Osmaczko Date: Tue, 11 Jun 2024 17:06:13 +0200 Subject: [PATCH] fix(communities): fetching owners of erc20 fixes: #14908 --- src/app_service/service/community_tokens/async_tasks.nim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/app_service/service/community_tokens/async_tasks.nim b/src/app_service/service/community_tokens/async_tasks.nim index e40c9c5a86..58930abf61 100644 --- a/src/app_service/service/community_tokens/async_tasks.nim +++ b/src/app_service/service/community_tokens/async_tasks.nim @@ -282,9 +282,11 @@ const fetchAssetOwnersTaskArg: Task = proc(argEncoded: string) {.gcsafe, nimcall let arg = decode[FetchAssetOwnersArg](argEncoded) try: let addressesResponse = communities_backend.getCommunityMembersForWalletAddresses(arg.communityId, arg.chainId) + var walletMemberTable: Table[string, ContactsDto] var allCommunityMembersAddresses: seq[string] = @[] - for address in addressesResponse.result.keys(): + for address, member in addressesResponse.result.pairs(): allCommunityMembersAddresses.add(address) + walletMemberTable[address.toUpper] = member.toContactsDto() let balancesResponse = backend.getBalancesByChain(@[arg.chainId], allCommunityMembersAddresses, @[arg.contractAddress]) @@ -292,7 +294,7 @@ const fetchAssetOwnersTaskArg: Task = proc(argEncoded: string) {.gcsafe, nimcall var collectibleOwners: seq[CommunityCollectibleOwner] = @[] for wallet, balance in walletBalanceTable.pairs(): - let member = addressesResponse.result[wallet].toContactsDto() + let member = walletMemberTable[wallet] let collectibleBalance = CollectibleBalance(tokenId: stint.u256(0), balance: balance) let collectibleOwner = CollectibleOwner(address: wallet, balances: @[collectibleBalance]) collectibleOwners.add(CommunityCollectibleOwner(