diff --git a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts index 9846ab78f1f9..64d9632c75a7 100644 --- a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts +++ b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts @@ -338,6 +338,19 @@ describe('useBalanceChanges', () => { expect(result.current.value[0].fiatAmount).toBe(-663.3337769927953); }); + it('handles unavailable native fiat rate', async () => { + mockGetConversionRate.mockReturnValue(null); + const { result, waitForNextUpdate } = setupHook({ + ...dummyBalanceChange, + difference: DIFFERENCE_ETH_MOCK, + isDecrease: true, + }); + + await waitForNextUpdate(); + + expect(result.current.value[0].fiatAmount).toBe(FIAT_UNAVAILABLE); + }); + it('handles no native balance change', async () => { const { result, waitForNextUpdate } = setupHook(undefined); await waitForNextUpdate(); diff --git a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts index 5d426acf2ffc..6f2a033cc567 100644 --- a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts +++ b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts @@ -113,16 +113,18 @@ async function fetchTokenFiatRates( // Compiles the balance change for the native asset function getNativeBalanceChange( nativeBalanceChange: SimulationBalanceChange | undefined, - nativeFiatRate: number, + nativeFiatRate: number | undefined, ): BalanceChange | undefined { if (!nativeBalanceChange) { return undefined; } const asset = NATIVE_ASSET_IDENTIFIER; const amount = getAssetAmount(nativeBalanceChange, NATIVE_DECIMALS); - const fiatAmount = amount - .times(convertNumberToStringWithPrecisionWarning(nativeFiatRate)) - .toNumber(); + const fiatAmount = nativeFiatRate + ? amount + .times(convertNumberToStringWithPrecisionWarning(nativeFiatRate)) + .toNumber() + : FIAT_UNAVAILABLE; return { asset, amount, fiatAmount }; }