diff --git a/apps/namadillo/src/atoms/balance/functions.ts b/apps/namadillo/src/atoms/balance/functions.ts index b318ed381d..ca07e41949 100644 --- a/apps/namadillo/src/atoms/balance/functions.ts +++ b/apps/namadillo/src/atoms/balance/functions.ts @@ -17,24 +17,43 @@ export const getTotalDollar = (list?: TokenBalance[]): BigNumber => export const getTotalNam = (list?: TokenBalance[]): BigNumber => list?.find((i) => isNamadaAsset(i.asset))?.amount ?? new BigNumber(0); +// Type to handle both balance data structures +type BalanceItem = Balance | { tokenAddress: string; minDenomAmount: string }; + export const mapNamadaAddressesToAssets = ({ balances, assets, }: { - balances: Balance[]; + balances: BalanceItem[]; assets: NamadaAsset[]; }): Record => { const map: Record = {}; balances.forEach((item) => { - const asset = assets.find((asset) => asset.address === item.token.address); + // Handle both data structures temporarily: + // 1. {token: {address: '...'}, minDenomAmount: '...'} + // 2. {tokenAddress: '...', minDenomAmount: '...'} + let tokenAddress: string | undefined; + + if ("token" in item && item.token?.address) { + tokenAddress = item.token.address; + } else if ("tokenAddress" in item) { + tokenAddress = item.tokenAddress; + } + + if (!tokenAddress) { + return; + } + + const asset = assets.find((asset) => asset.address === tokenAddress); if (asset) { - map[item.token.address] = { + map[tokenAddress] = { amount: toDisplayAmount(asset, BigNumber(item.minDenomAmount)), asset, }; } }); + return map; };