Skip to content
Prev Previous commit
Next Next commit
Fix erc-20-history
  • Loading branch information
kien-ngo committed Oct 20, 2023
commit 9bcaf2ad46b84041eb552975779e9de0d833ace2
33 changes: 14 additions & 19 deletions packages/sdk/src/evm/core/classes/erc-20-history.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,25 +55,20 @@ export class TokenERC20History {
balances[to] = balances[to].add(amount);
}
});
const _promises = Object.entries(balances).map(async ([addr, value]) => {
const result = await fetchCurrencyValue(
this.contractWrapper.getProvider(),
this.contractWrapper.address,
value,
);
return { [addr]: result };
});
const balanceData = (await Promise.all(_promises)).reduce(
(result, currentObject) => {
return { ...result, ...currentObject };
},
{},
);
return Promise.all(
Object.keys(balances).map(async (addr) => ({
holder: addr,
balance: balanceData[addr],
})),

const entries = Object.entries(balances);
const results = await Promise.all(
entries.map(([, value]) =>
fetchCurrencyValue(
this.contractWrapper.getProvider(),
this.contractWrapper.address,
value,
),
),
);
return entries.map(([addr], index) => ({
holder: addr,
balance: results[index],
}));
}
}