Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import release from "../generated/release";
import en from "../i18n/en.json";
import es from "../i18n/es.json";
import e2e from "../utils/e2e";
import queryClient, { persister } from "../utils/queryClient";
import queryClient, { persistOptions } from "../utils/queryClient";
import reportError from "../utils/reportError";
import exaConfig from "../utils/wagmi/exa";
import ownerConfig from "../utils/wagmi/owner";
Expand Down Expand Up @@ -169,7 +169,7 @@ export default wrap(function RootLayout() {

return (
<WagmiProvider config={exaConfig}>
<PersistQueryClientProvider client={queryClient} persistOptions={{ persister }}>
<PersistQueryClientProvider client={queryClient} persistOptions={persistOptions}>
<ToastProvider>
<SafeAreaProvider>
<ThemeProvider>
Expand Down
1 change: 0 additions & 1 deletion src/assets/images/optimism.svg

This file was deleted.

3 changes: 1 addition & 2 deletions src/components/activity/details/ReceivedActivity.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { ArrowDownToLine } from "@tamagui/lucide-icons";
import { Square, XStack, YStack } from "tamagui";

import TransactionDetails from "./TransactionDetails";
import assetLogos from "../../../utils/assetLogos";
import AssetLogo from "../../shared/AssetLogo";
import Text from "../../shared/Text";

Expand Down Expand Up @@ -38,7 +37,7 @@ export default function ReceivedActivity({ item }: { item: Omit<DepositActivity,
&nbsp;
{currency}
</Text>
<AssetLogo source={{ uri: assetLogos[currency as keyof typeof assetLogos] }} width={16} height={16} />
<AssetLogo symbol={currency} width={16} height={16} />
</XStack>
</YStack>
</YStack>
Expand Down
3 changes: 1 addition & 2 deletions src/components/activity/details/RepayActivity.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { ArrowUpFromLine } from "@tamagui/lucide-icons";
import { Square, XStack, YStack } from "tamagui";

import TransactionDetails from "./TransactionDetails";
import assetLogos from "../../../utils/assetLogos";
import AssetLogo from "../../shared/AssetLogo";
import Text from "../../shared/Text";

Expand Down Expand Up @@ -38,7 +37,7 @@ export default function RepayActivity({ item }: { item: Omit<RepayActivityType,
&nbsp;
{currency}
</Text>
<AssetLogo source={{ uri: assetLogos[currency as keyof typeof assetLogos] }} width={16} height={16} />
<AssetLogo symbol={currency} width={16} height={16} />
</XStack>
</YStack>
</YStack>
Expand Down
3 changes: 1 addition & 2 deletions src/components/activity/details/SentActivity.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import { Square, XStack, YStack } from "tamagui";
import shortenHex from "@exactly/common/shortenHex";

import TransactionDetails from "./TransactionDetails";
import assetLogos from "../../../utils/assetLogos";
import AssetLogo from "../../shared/AssetLogo";
import Text from "../../shared/Text";

Expand Down Expand Up @@ -44,7 +43,7 @@ export default function SentActivity({ item }: { item: Omit<WithdrawActivity, "b
&nbsp;
{currency}
</Text>
<AssetLogo source={{ uri: assetLogos[currency as keyof typeof assetLogos] }} width={16} height={16} />
<AssetLogo symbol={currency} width={16} height={16} />
</XStack>
</YStack>
</YStack>
Expand Down
4 changes: 2 additions & 2 deletions src/components/activity/details/TransactionDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ import { format } from "date-fns";
import chain from "@exactly/common/generated/chain";
import shortenHex from "@exactly/common/shortenHex";

import OptimismImage from "../../../assets/images/optimism.svg";
import openBrowser from "../../../utils/openBrowser";
import reportError from "../../../utils/reportError";
import ChainLogo from "../../shared/ChainLogo";
import Text from "../../shared/Text";

import type { ActivityItem } from "../../../utils/queryClient";
Expand Down Expand Up @@ -55,7 +55,7 @@ export default function TransactionDetails({
<Text callout color="$uiNeutralPrimary" alignContent="center">
{chain.name}
</Text>
<OptimismImage height={20} width={20} />
<ChainLogo size={20} />
</XStack>
</XStack>
{item?.type === "sent" && (
Expand Down
20 changes: 8 additions & 12 deletions src/components/add-funds/AddCrypto.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,19 @@ import chain from "@exactly/common/generated/chain";
import shortenHex from "@exactly/common/shortenHex";

import SupportedAssetsSheet from "./SupportedAssetsSheet";
import OptimismImage from "../../assets/images/optimism.svg";
import assetLogos from "../../utils/assetLogos";
import { presentArticle } from "../../utils/intercom";
import reportError from "../../utils/reportError";
import useAccount from "../../utils/useAccount";
import AssetLogo from "../shared/AssetLogo";
import ChainLogo from "../shared/ChainLogo";
import CopyAddressSheet from "../shared/CopyAddressSheet";
import SafeView from "../shared/SafeView";
import Button from "../shared/StyledButton";
import Text from "../shared/Text";
import View from "../shared/View";

const supportedAssets = Object.entries(assetLogos)
.filter(([symbol]) => symbol !== "USDC.e" && symbol !== "DAI")
.map(([symbol, image]) => ({ symbol, image }));
const supportedAssets = Object.keys(assetLogos).filter((s) => s !== "USDC.e" && s !== "DAI");

export default function AddCrypto() {
const router = useRouter();
Expand Down Expand Up @@ -128,7 +126,7 @@ export default function AddCrypto() {
</XStack>
<XStack gap="$s5" justifyContent="space-between" alignItems="center">
<XStack alignItems="center" gap="$s3" flex={1}>
<OptimismImage height={32} width={32} />
<ChainLogo size={32} />
<Text emphasized primary headline>
{chain.name}
</Text>
Expand All @@ -144,13 +142,11 @@ export default function AddCrypto() {
setSupportedAssetsShown(true);
}}
>
{supportedAssets.map(({ symbol, image }, index) => {
return (
<XStack key={symbol} marginRight={index < supportedAssets.length - 1 ? -12 : 0} zIndex={index}>
<AssetLogo source={{ uri: image }} width={32} height={32} />
</XStack>
);
})}
{supportedAssets.map((symbol, index) => (
<XStack key={symbol} marginRight={index < supportedAssets.length - 1 ? -12 : 0} zIndex={index}>
<AssetLogo symbol={symbol} width={32} height={32} />
</XStack>
Comment on lines +145 to +148
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Replace hardcoded negative spacing with a token-derived value.

marginRight={... ? -12 : 0} violates the token-only spacing rule. Use a Tamagui space token value instead.

🛠️ Suggested fix using Tamagui tokens
-import { ScrollView, XStack, YStack } from "tamagui";
+import { ScrollView, XStack, YStack, useToken } from "tamagui";
@@
 export default function AddCrypto() {
   const router = useRouter();
   const fontScale = PixelRatio.getFontScale();
+  const overlapSpacing = -useToken("space", "s3");
   const { address } = useAccount();
@@
-                {supportedAssets.map((symbol, index) => (
-                  <XStack key={symbol} marginRight={index < supportedAssets.length - 1 ? -12 : 0} zIndex={index}>
+                {supportedAssets.map((symbol, index) => (
+                  <XStack key={symbol} marginRight={index < supportedAssets.length - 1 ? overlapSpacing : 0} zIndex={index}>
                     <AssetLogo symbol={symbol} width={32} height={32} />
                   </XStack>
                 ))}

As per coding guidelines, use design tokens for spacing values.

🤖 Prompt for AI Agents
In `@src/components/add-funds/AddCrypto.tsx` around lines 145 - 148, The XStack
mapping over supportedAssets uses a hardcoded negative marginRight (-12) which
violates the token-only spacing rule; update the XStack rendered in the
supportedAssets.map (the XStack element that wraps AssetLogo) to use a Tamagui
space token instead of the literal -12 (e.g., replace the conditional
marginRight value with the appropriate negative space token from your
theme/spacing tokens), ensuring the token is referenced directly (not a computed
pixel literal) and preserving the conditional logic for the last item.

))}
</XStack>
</XStack>
</YStack>
Expand Down
4 changes: 2 additions & 2 deletions src/components/add-funds/AddFunds.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import chain from "@exactly/common/generated/chain";
import shortenHex from "@exactly/common/shortenHex";

import AddFundsOption from "./AddFundsOption";
import OptimismImage from "../../assets/images/optimism.svg";
import { presentArticle } from "../../utils/intercom";
import reportError from "../../utils/reportError";
import ChainLogo from "../shared/ChainLogo";
import SafeView from "../shared/SafeView";
import Text from "../shared/Text";
import View from "../shared/View";
Expand Down Expand Up @@ -70,7 +70,7 @@ export default function AddFunds() {
}}
/>
<AddFundsOption
icon={<OptimismImage width={40} height={40} />}
icon={<ChainLogo size={40} />}
title={t("From another wallet")}
subtitle={t("On {{chain}}", { chain: chain.name })}
onPress={() => {
Expand Down
4 changes: 2 additions & 2 deletions src/components/add-funds/AssetSelectSheet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { ScrollView, XStack, YStack } from "tamagui";

import { formatUnits } from "viem";

import TokenLogo from "./TokenLogo";
import AssetLogo from "../shared/AssetLogo";
import Input from "../shared/Input";
import ModalSheet from "../shared/ModalSheet";
import SafeView from "../shared/SafeView";
Expand Down Expand Up @@ -131,7 +131,7 @@ export default function AssetSelectSheet({
gap="$s3_5"
>
<XStack gap="$s3_5" alignItems="center" flex={1}>
<TokenLogo token={token} />
<AssetLogo symbol={token.symbol} width={36} height={36} />
<YStack flex={1}>
<Text emphasized subHeadline color="$uiNeutralPrimary">
{token.symbol}
Expand Down
18 changes: 5 additions & 13 deletions src/components/add-funds/Bridge.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,14 @@ import shortenHex from "@exactly/common/shortenHex";
import { WAD } from "@exactly/lib";

import AssetSelectSheet from "./AssetSelectSheet";
import TokenLogo from "./TokenLogo";
import OptimismImage from "../../assets/images/optimism.svg";
import { getBridgeSources, getRouteFrom, tokenCorrelation, type BridgeSources, type RouteFrom } from "../../utils/lifi";
import openBrowser from "../../utils/openBrowser";
import queryClient from "../../utils/queryClient";
import reportError from "../../utils/reportError";
import useAccount from "../../utils/useAccount";
import ownerConfig, { addChains } from "../../utils/wagmi/owner";
import AssetLogo from "../shared/AssetLogo";
import ChainLogo from "../shared/ChainLogo";
import GradientScrollView from "../shared/GradientScrollView";
import SafeView from "../shared/SafeView";
import Skeleton from "../shared/Skeleton";
Expand Down Expand Up @@ -537,7 +536,7 @@ export default function Bridge() {
</Text>
</YStack>
<XStack gap="$s3" alignItems="center">
<TokenLogo token={bridgePreview.sourceToken} size={32} />
<AssetLogo symbol={bridgePreview.sourceToken.symbol} width={32} height={32} />
<Text title primary color="$uiNeutralPrimary">
{`${Number(
formatUnits(bridgePreview.sourceAmount, bridgePreview.sourceToken.decimals),
Expand Down Expand Up @@ -660,7 +659,6 @@ export default function Bridge() {
onUseMax={(maxAmount) => {
setSourceAmount(maxAmount);
}}
chainLogoUri={selectedGroup?.chain.id === 10 ? undefined : selectedGroup?.chain.logoURI}
/>
)}
{insufficientBalance && (
Expand Down Expand Up @@ -699,23 +697,17 @@ export default function Bridge() {
<XStack gap="$s3_5" alignItems="center" justifyContent="space-between" flex={1}>
<XStack gap="$s3_5" alignItems="center" flex={1}>
<View width={40} height={40} position="relative">
{destinationToken.logoURI ? (
<AssetLogo source={{ uri: destinationToken.logoURI }} width={40} height={40} />
) : (
<TokenLogo token={destinationToken} size={40} />
)}
<AssetLogo symbol={destinationToken.symbol} width={40} height={40} />
<View
position="absolute"
bottom={0}
right={0}
width={20}
height={20}
borderWidth={1}
borderColor="white"
borderRadius={10}
borderRadius="$r_0"
overflow="hidden"
>
<OptimismImage width="100%" height="100%" />
<ChainLogo size={20} />
</View>
Comment on lines +700 to 711
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# First, locate the tamagui config file
find . -name "tamagui.config.*" -type f 2>/dev/null | head -20

Repository: exactly/exa

Length of output: 74


🏁 Script executed:

#!/bin/bash
# Get basic info about the Bridge.tsx file to understand context
wc -l src/components/add-funds/Bridge.tsx
head -30 src/components/add-funds/Bridge.tsx

Repository: exactly/exa

Length of output: 1174


🏁 Script executed:

#!/bin/bash
# Examine the tamagui config to see color tokens
cat tamagui.config.ts | head -200

Repository: exactly/exa

Length of output: 6719


🏁 Script executed:

#!/bin/bash
# Look at the specific lines in Bridge.tsx to understand context
sed -n '690,720p' src/components/add-funds/Bridge.tsx

Repository: exactly/exa

Length of output: 1731


🏁 Script executed:

#!/bin/bash
# Check if there are more color tokens defined, particularly looking for background or neutral tokens
grep -n "background\|neutral\|border" tamagui.config.ts | head -50

Repository: exactly/exa

Length of output: 2863


🏁 Script executed:

#!/bin/bash
# Get the complete color tokens section to see if there's a white or neutral color
sed -n '/color: {/,/},/p' tamagui.config.ts | tail -100

Repository: exactly/exa

Length of output: 3341


🏁 Script executed:

#!/bin/bash
# Also check if there's any design token documentation or if $background is actually defined
grep -n "\$background\|background:" tamagui.config.ts

Repository: exactly/exa

Length of output: 106


🏁 Script executed:

#!/bin/bash
# Check the exact hex value for grayscaleLight1 to confirm it's white-ish
grep -n "grayscaleLight1:" tamagui.config.ts

Repository: exactly/exa

Length of output: 90


🏁 Script executed:

#!/bin/bash
# Let's see the full tamagui config around line 262-268 to understand the theme tokens better
sed -n '260,275p' tamagui.config.ts

Repository: exactly/exa

Length of output: 927


🏁 Script executed:

#!/bin/bash
# Verify all available color tokens in the light theme
sed -n '260,275p' tamagui.config.ts

Repository: exactly/exa

Length of output: 927


🏁 Script executed:

#!/bin/bash
# Check for any other white-like or neutral border tokens
grep -n "uiNeutral\|borderNeutral" tamagui.config.ts | head -20

Repository: exactly/exa

Length of output: 1276


🏁 Script executed:

#!/bin/bash
# Search for other uses of borderColor in Bridge.tsx to see pattern
grep -n "borderColor" src/components/add-funds/Bridge.tsx

Repository: exactly/exa

Length of output: 374


🏁 Script executed:

#!/bin/bash
# Search for other badge/overlay patterns with borders in the codebase
rg "borderColor.*white|borderColor.*\$ui|borderColor.*\$background" --type=tsx -C2 | head -50

Repository: exactly/exa

Length of output: 82


🏁 Script executed:

#!/bin/bash
# Get more context about the light/dark theme tokens and what's available
sed -n '260,380p' tamagui.config.ts | grep -E "border|inverse"

Repository: exactly/exa

Length of output: 853


Hardcoded color violates design token guidelines; proposed fix is incorrect.

Line 706 uses borderColor="white" instead of a design token. However, the proposed fix using $background is incorrect—that token is defined as an empty string in the config. Looking at similar border usage patterns in this file (lines 614, 628, 672, 918), the appropriate token is $borderNeutralSoft, which maps to the light grayscale border color.

Proposed fix
                              <View
                                position="absolute"
                                bottom={0}
                                right={0}
                                borderWidth={1}
-                               borderColor="white"
+                               borderColor="$borderNeutralSoft"
                                borderRadius="$r_0"
                                overflow="hidden"
                              >
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<AssetLogo symbol={destinationToken.symbol} width={40} height={40} />
<View
position="absolute"
bottom={0}
right={0}
width={20}
height={20}
borderWidth={1}
borderColor="white"
borderRadius={10}
borderRadius="$r_0"
overflow="hidden"
>
<OptimismImage width="100%" height="100%" />
<ChainLogo size={20} />
</View>
<AssetLogo symbol={destinationToken.symbol} width={40} height={40} />
<View
position="absolute"
bottom={0}
right={0}
borderWidth={1}
borderColor="$borderNeutralSoft"
borderRadius="$r_0"
overflow="hidden"
>
<ChainLogo size={20} />
</View>
🤖 Prompt for AI Agents
In `@src/components/add-funds/Bridge.tsx` around lines 700 - 711, The View
wrapping ChainLogo currently uses a hardcoded borderColor="white"; replace that
with the design token borderColor="$borderNeutralSoft" to match the existing
border usage pattern in this component (see other Asset/Chain logo wrappers
using $borderNeutralSoft) so the View containing ChainLogo and the AssetLogo
remain consistent with theme tokens and not use $background which is empty.

</View>
<YStack flex={1}>
Expand Down
42 changes: 19 additions & 23 deletions src/components/add-funds/SupportedAssetsSheet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ import SafeView from "../shared/SafeView";
import Text from "../shared/Text";
import View from "../shared/View";

const supportedAssets = Object.entries(assetLogos)
.filter(([symbol]) => symbol !== "USDC.e" && symbol !== "DAI")
.map(([symbol, image]) => ({ symbol, image }));
const supportedAssets = Object.keys(assetLogos).filter((symbol) => symbol !== "USDC.e" && symbol !== "DAI");

export default function SupportedAssetsSheet({ open, onClose }: { onClose: () => void; open: boolean }) {
const { t } = useTranslation();
Expand All @@ -40,26 +38,24 @@ export default function SupportedAssetsSheet({ open, onClose }: { onClose: () =>
</Text>
</YStack>
<XStack justifyContent="center" flexWrap="wrap">
{supportedAssets.map(({ symbol, image }) => {
return (
<XStack
key={symbol}
borderWidth={1}
alignItems="center"
borderColor="$borderNeutralSoft"
borderRadius="$r_0"
alignSelf="center"
padding="$s3_5"
margin="$s3"
gap="$s2"
>
<AssetLogo source={{ uri: image }} width={32} height={32} />
<Text primary emphasized callout>
{symbol}
</Text>
</XStack>
);
})}
{supportedAssets.map((symbol) => (
<XStack
key={symbol}
borderWidth={1}
alignItems="center"
borderColor="$borderNeutralSoft"
borderRadius="$r_0"
alignSelf="center"
padding="$s3_5"
margin="$s3"
gap="$s2"
>
<AssetLogo symbol={symbol} width={32} height={32} />
<Text primary emphasized callout>
{symbol}
</Text>
</XStack>
))}
</XStack>
<XStack
gap="$s4"
Expand Down
27 changes: 0 additions & 27 deletions src/components/add-funds/TokenLogo.tsx

This file was deleted.

13 changes: 5 additions & 8 deletions src/components/home/AssetList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ import { previewerAddress, ratePreviewerAddress } from "@exactly/common/generate
import { useReadPreviewerExactly, useReadRatePreviewerSnapshot } from "@exactly/common/generated/hooks";
import { floatingDepositRates } from "@exactly/lib";

import assetLogos from "../../utils/assetLogos";
import useAccount from "../../utils/useAccount";
import useAccountAssets from "../../utils/useAccountAssets";
import usePortfolio from "../../utils/usePortfolio";
import AssetLogo from "../shared/AssetLogo";
import Skeleton from "../shared/Skeleton";
import Text from "../shared/Text";
Expand All @@ -21,7 +20,6 @@ type AssetItem = {
amount: bigint;
assetName?: string;
decimals: number;
logoURI?: string;
market?: string;
rate?: bigint;
symbol: string;
Expand All @@ -34,11 +32,11 @@ function AssetRow({ asset }: { asset: AssetItem }) {
t,
i18n: { language },
} = useTranslation();
const { symbol, logoURI, amount, decimals, usdPrice, usdValue, rate } = asset;
const { symbol, amount, decimals, usdPrice, usdValue, rate } = asset;
return (
<XStack alignItems="center" borderColor="$borderNeutralSoft" paddingVertical={vs(10)} gap="$s2" width="100%">
<XStack gap={10} alignItems="center" flex={1} $platform-web={{ flexBasis: 1 / 3 }}>
<AssetLogo height={32} source={{ uri: logoURI ?? assetLogos[symbol as keyof typeof assetLogos] }} width={32} />
<AssetLogo height={32} symbol={symbol} width={32} />
<YStack gap="$s2" alignItems="flex-start">
<Text subHeadline color="$uiNeutralPrimary" numberOfLines={1}>
{symbol}
Expand Down Expand Up @@ -111,7 +109,7 @@ export default function AssetList() {
const { t } = useTranslation();
const { address } = useAccount();
const { data: markets } = useReadPreviewerExactly({ address: previewerAddress, args: [address ?? zeroAddress] });
const { externalAssets } = useAccountAssets();
const { externalAssets } = usePortfolio();
const { data: snapshots, dataUpdatedAt } = useReadRatePreviewerSnapshot({
address: ratePreviewerAddress,
});
Expand All @@ -138,10 +136,9 @@ export default function AssetList() {
.filter(({ amount, symbol }) => (symbol === "USDC.e" ? amount > 0n : true))
.sort((a, b) => Number(b.usdValue) - Number(a.usdValue)) ?? [];

const externalAssetItems = externalAssets.map(({ symbol, name, logoURI, amount, decimals, usdValue, priceUSD }) => ({
const externalAssetItems = externalAssets.map(({ symbol, name, amount, decimals, usdValue, priceUSD }) => ({
symbol,
name,
logoURI,
amount: amount ?? 0n,
decimals,
usdValue: parseUnits(usdValue.toFixed(18), 18),
Expand Down
3 changes: 1 addition & 2 deletions src/components/home/CardLimits.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import { marketUSDCAddress, previewerAddress } from "@exactly/common/generated/c
import { useReadPreviewerExactly } from "@exactly/common/generated/hooks";
import { borrowLimit, WAD, withdrawLimit } from "@exactly/lib";

import assetLogos from "../../utils/assetLogos";
import useAccount from "../../utils/useAccount";
import AssetLogo from "../shared/AssetLogo";
import Text from "../shared/Text";
Expand All @@ -34,7 +33,7 @@ export default function CardLimits({ onPress }: { onPress: () => void }) {
<YStack justifyContent="space-between" height="100%">
<YStack justifyContent="center" gap="$s2" alignItems="flex-start">
<XStack justifyContent="center" alignItems="center" gap="$s3">
{isCredit ? null : <AssetLogo width={24} height={24} source={{ uri: assetLogos.USDC }} />}
{isCredit ? null : <AssetLogo width={24} height={24} symbol="USDC" />}
<Text
sensitive
textAlign="center"
Expand Down
Loading