extendBalancesWithDustTransfer = async (_logger, rawAccountInfo) => {
  const accountInfo = rawAccountInfo;
  const ignoreAssets = ['BNB', 'BTC'];

  const newBalances = await Promise.all(
    accountInfo.balances.map(async b => {
      const balance = b;
      const symbol = `${b.asset}BTC`;

      // Set default value
      balance.estimatedBTC = -1;
      balance.canDustTransfer = false;

      // If asset can be ignored
      if (ignoreAssets.includes(balance.asset)) {
        return balance;
      }

      // Get latest candle for asset+BTC pair
      const cachedLatestCandle =
        JSON.parse(
          await cache.hget('trailing-trade-symbols', `${symbol}-latest-candle`)
        ) || {};

      // If cannot find the latest candle, assume not be able to do dust transfer
      if (_.isEmpty(cachedLatestCandle)) {
        return balance;
      }

      // https://academy.binance.com/en/articles/converting-dust-on-binance
      // In order to qualify the dust must have a value less than 0.001BTC

      balance.estimatedBTC = Number(
        parseFloat(cachedLatestCandle.close) * parseFloat(balance.free)
      ).toFixed(8);

      // If the estimated BTC is less than 0.001, then set dust transfer
      if (balance.estimatedBTC <= 0.001) {
        balance.canDustTransfer = true;
      }

      return balance;
    })
  );

  accountInfo.balances = newBalances;
  return accountInfo;
}
Add estimatedBTC and canDustTransfer flags to balance
 - Leave this function for future reference

@param {*} _logger
@param {*} rawAccountInfo
@returns