Skip to content

Commit 93d127b

Browse files
committed
fix: fix aggregated balances for the new network filter
1 parent 2135afc commit 93d127b

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

ui/hooks/useAccountTotalCrossChainFiatBalance.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
import {
77
getCrossChainTokenExchangeRates,
88
getCrossChainMetaMaskCachedBalances,
9+
getEnabledNetworksByNamespace,
910
} from '../selectors';
1011
import {
1112
getCurrentCurrency,
@@ -25,6 +26,7 @@ jest.mock('react-redux', () => ({
2526
jest.mock('../selectors', () => ({
2627
getCrossChainTokenExchangeRates: jest.fn(),
2728
getCrossChainMetaMaskCachedBalances: jest.fn(),
29+
getEnabledNetworksByNamespace: jest.fn(),
2830
}));
2931
jest.mock('../ducks/metamask/metamask', () => ({
3032
getCurrentCurrency: jest.fn(),
@@ -49,6 +51,9 @@ const mockGetCrossChainTokenExchangeRates = jest.mocked(
4951
const mockGetCrossChainMetaMaskCachedBalances = jest.mocked(
5052
getCrossChainMetaMaskCachedBalances,
5153
);
54+
const mockGetEnabledNetworksByNamespace = jest.mocked(
55+
getEnabledNetworksByNamespace,
56+
);
5257

5358
const mockUseTokenBalances = jest.fn().mockReturnValue({
5459
tokenBalances: {
@@ -193,6 +198,11 @@ describe('useAccountTotalCrossChainFiatBalance', () => {
193198
mockCachedBalances(),
194199
);
195200

201+
mockGetEnabledNetworksByNamespace.mockReturnValue({
202+
'0x1': {},
203+
'0xe708': {},
204+
});
205+
196206
jest.clearAllMocks();
197207
});
198208

ui/hooks/useAccountTotalCrossChainFiatBalance.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
import {
99
getCrossChainTokenExchangeRates,
1010
getCrossChainMetaMaskCachedBalances,
11+
getEnabledNetworksByNamespace,
1112
} from '../selectors';
1213
import {
1314
getValueFromWeiHex,
@@ -36,6 +37,9 @@ export const useAccountTotalCrossChainFiatBalance = (
3637
formattedTokensWithBalancesPerChain: FormattedTokensWithBalances[],
3738
) => {
3839
const allNetworks = useSelector(getNetworkConfigurationsByChainId);
40+
41+
const enabledNetworksByNamespace = useSelector(getEnabledNetworksByNamespace);
42+
3943
const currencyRates = useSelector(getCurrencyRates);
4044
const currentCurrency = useSelector(getCurrentCurrency);
4145

@@ -53,9 +57,24 @@ export const useAccountTotalCrossChainFiatBalance = (
5357
[crossChainContractRates],
5458
);
5559

60+
const filteredBalances = useMemo(() => {
61+
return formattedTokensWithBalancesPerChain
62+
.map((balances) => {
63+
if (
64+
Object.keys(enabledNetworksByNamespace).includes(
65+
balances.chainId.toString(),
66+
)
67+
) {
68+
return balances;
69+
}
70+
return null;
71+
})
72+
.filter((balance) => balance !== null);
73+
}, [formattedTokensWithBalancesPerChain, enabledNetworksByNamespace]);
74+
5675
const tokenFiatBalancesCrossChains = useMemo(
5776
() =>
58-
formattedTokensWithBalancesPerChain.map((singleChainTokenBalances) => {
77+
filteredBalances.map((singleChainTokenBalances) => {
5978
const { tokensWithBalances } = singleChainTokenBalances;
6079
// Attempt to use known currency symbols in map
6180
// Otherwise fallback to user defined currency

0 commit comments

Comments
 (0)