diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx
index 69df7b3175..f1f4b1bfc1 100644
--- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx
+++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/PortfolioScreen.tsx
@@ -134,6 +134,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element {
const { hasFetchedToken, allTokens } = useSelector(
(state: RootState) => state.wallet,
);
+ const { hasFetchedEvmTokens } = useSelector((state: RootState) => state.evm);
const ref = useRef(null);
const logger = useLogger();
useScrollToTop(ref);
@@ -686,7 +687,7 @@ export function PortfolioScreen({ navigation }: Props): JSX.Element {
{activeButtonGroup === ButtonGroupTabKey.AllTokens && (
)}
- {!hasFetchedToken ? (
+ {!(hasFetchedToken && hasFetchedEvmTokens) ? (
diff --git a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx
index 87286bf64c..cadcb737a4 100644
--- a/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx
+++ b/mobile-app/app/screens/AppNavigator/screens/Portfolio/components/DFIBalanceCard.tsx
@@ -42,6 +42,7 @@ export function DFIBalanceCard({
unifiedDFISelector(state.wallet),
);
const { hasFetchedToken } = useSelector((state: RootState) => state.wallet);
+ const { hasFetchedEvmTokens } = useSelector((state: RootState) => state.evm);
const { getTokenPrice } = useTokenPrice(denominationCurrency); // input based on selected denomination from portfolio tab
const isEvmDomain = domain === DomainType.EVM;
const tokenAmount = isEvmDomain
@@ -92,7 +93,7 @@ export function DFIBalanceCard({
"pt-0.5": Platform.OS === "android",
})}
>
- {hasFetchedToken ? (
+ {hasFetchedToken && hasFetchedEvmTokens ? (
state.wallet);
+ const { hasFetchedEvmTokens } = useSelector((state: RootState) => state.evm);
const [searchString, setSearchString] = useState("");
const { getTokenPrice } = useTokenPrice();
const debouncedSearchTerm = useDebounce(searchString, 250);
@@ -78,7 +79,8 @@ export function TokenSelectionScreen(): JSX.Element {
return filterTokensBySearchTerm(tokensWithBalance, debouncedSearchTerm);
}, [tokensWithBalance, debouncedSearchTerm]);
- if (hasFetchedToken && tokensWithBalance.length === 0) {
+ const hasFetchedDvmEvmTokens = hasFetchedToken && hasFetchedEvmTokens;
+ if (hasFetchedDvmEvmTokens && tokensWithBalance.length === 0) {
return ;
}
@@ -151,7 +153,7 @@ export function TokenSelectionScreen(): JSX.Element {
ref={searchRef}
/>
- {(!hasFetchedToken || debouncedSearchTerm.trim() === "") && (
+ {(!hasFetchedDvmEvmTokens || debouncedSearchTerm.trim() === "") && (
)}
- {hasFetchedToken && debouncedSearchTerm.trim() !== "" && (
+ {hasFetchedDvmEvmTokens && debouncedSearchTerm.trim() !== "" && (
)}
- {!hasFetchedToken && (
+ {!hasFetchedDvmEvmTokens && (
) => {
state.evmTokenBalances = action.payload;
+ state.hasFetchedEvmTokens = true;
},
);
},