@relayprotocol/relay-kit-ui 5.1.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/src/components/common/BalanceDisplay.js +4 -3
- package/_cjs/src/components/common/BalanceDisplay.js.map +1 -1
- package/_cjs/src/components/common/MultiWalletDropdown.js +5 -4
- package/_cjs/src/components/common/MultiWalletDropdown.js.map +1 -1
- package/_cjs/src/components/common/PercentageButtons.js +9 -9
- package/_cjs/src/components/common/PercentageButtons.js.map +1 -1
- package/_cjs/src/components/common/SlippageToleranceConfig.js +30 -17
- package/_cjs/src/components/common/SlippageToleranceConfig.js.map +1 -1
- package/_cjs/src/components/common/TokenSelector/ChainFilter.js +21 -19
- package/_cjs/src/components/common/TokenSelector/ChainFilter.js.map +1 -1
- package/_cjs/src/components/common/TokenSelector/ChainFilterRow.js +117 -0
- package/_cjs/src/components/common/TokenSelector/ChainFilterRow.js.map +1 -0
- package/_cjs/src/components/common/TokenSelector/ChainFilterSidebar.js +2 -13
- package/_cjs/src/components/common/TokenSelector/ChainFilterSidebar.js.map +1 -1
- package/_cjs/src/components/common/TokenSelector/CompactChainFilter.js +180 -0
- package/_cjs/src/components/common/TokenSelector/CompactChainFilter.js.map +1 -0
- package/_cjs/src/components/common/TokenSelector/PaymentMethod.js +456 -0
- package/_cjs/src/components/common/TokenSelector/PaymentMethod.js.map +1 -0
- package/_cjs/src/components/common/TokenSelector/PaymentTokenList.js +83 -0
- package/_cjs/src/components/common/TokenSelector/PaymentTokenList.js.map +1 -0
- package/_cjs/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js +77 -0
- package/_cjs/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js.map +1 -0
- package/_cjs/src/components/primitives/ChainTokenIcon.js +3 -2
- package/_cjs/src/components/primitives/ChainTokenIcon.js.map +1 -1
- package/_cjs/src/components/primitives/SlippageButton.js +40 -0
- package/_cjs/src/components/primitives/SlippageButton.js.map +1 -0
- package/_cjs/src/components/primitives/Tabs.js +4 -2
- package/_cjs/src/components/primitives/Tabs.js.map +1 -1
- package/_cjs/src/components/widgets/SwapButton.js +35 -7
- package/_cjs/src/components/widgets/SwapButton.js.map +1 -1
- package/_cjs/src/components/widgets/TokenWidget/AmountModeToggle.js +31 -0
- package/_cjs/src/components/widgets/TokenWidget/AmountModeToggle.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/AmountSectionHeader.js +8 -0
- package/_cjs/src/components/widgets/TokenWidget/AmountSectionHeader.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/BuyTabContent.js +218 -0
- package/_cjs/src/components/widgets/TokenWidget/BuyTabContent.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/DestinationWalletSelector.js +20 -0
- package/_cjs/src/components/widgets/TokenWidget/DestinationWalletSelector.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownInfo.js +26 -0
- package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownInfo.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js +40 -0
- package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/SectionContainer.js +22 -0
- package/_cjs/src/components/widgets/TokenWidget/SectionContainer.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/SellTabContent.js +280 -0
- package/_cjs/src/components/widgets/TokenWidget/SellTabContent.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/TransactionDetailsFooter.js +28 -0
- package/_cjs/src/components/widgets/TokenWidget/TransactionDetailsFooter.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/hooks/useWalletGuards.js +108 -0
- package/_cjs/src/components/widgets/TokenWidget/hooks/useWalletGuards.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/index.js +9 -0
- package/_cjs/src/components/widgets/TokenWidget/index.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js +770 -0
- package/_cjs/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js.map +1 -0
- package/_cjs/src/components/widgets/TokenWidget/widget/index.js +1005 -0
- package/_cjs/src/components/widgets/TokenWidget/widget/index.js.map +1 -0
- package/_cjs/src/hooks/index.js +3 -1
- package/_cjs/src/hooks/index.js.map +1 -1
- package/_cjs/src/hooks/useDuneBalances.js +2 -1
- package/_cjs/src/hooks/useDuneBalances.js.map +1 -1
- package/_cjs/src/hooks/useEOADetection.js +3 -0
- package/_cjs/src/hooks/useEOADetection.js.map +1 -1
- package/_cjs/src/hooks/useMultiWalletBalances.js +119 -0
- package/_cjs/src/hooks/useMultiWalletBalances.js.map +1 -0
- package/_cjs/src/index.js.map +1 -1
- package/_cjs/src/styles.css +251 -88
- package/_cjs/src/utils/numbers.js +39 -1
- package/_cjs/src/utils/numbers.js.map +1 -1
- package/_cjs/src/utils/tokenSelector.js +4 -1
- package/_cjs/src/utils/tokenSelector.js.map +1 -1
- package/_cjs/src/utils/tokens.js +20 -1
- package/_cjs/src/utils/tokens.js.map +1 -1
- package/_cjs/src/version.js +1 -1
- package/_cjs/tsconfig.build.tsbuildinfo +1 -1
- package/_esm/src/components/common/BalanceDisplay.js +4 -3
- package/_esm/src/components/common/BalanceDisplay.js.map +1 -1
- package/_esm/src/components/common/MultiWalletDropdown.js +5 -4
- package/_esm/src/components/common/MultiWalletDropdown.js.map +1 -1
- package/_esm/src/components/common/PercentageButtons.js +10 -10
- package/_esm/src/components/common/PercentageButtons.js.map +1 -1
- package/_esm/src/components/common/SlippageToleranceConfig.js +31 -23
- package/_esm/src/components/common/SlippageToleranceConfig.js.map +1 -1
- package/_esm/src/components/common/TokenSelector/ChainFilter.js +25 -23
- package/_esm/src/components/common/TokenSelector/ChainFilter.js.map +1 -1
- package/_esm/src/components/common/TokenSelector/ChainFilterRow.js +112 -0
- package/_esm/src/components/common/TokenSelector/ChainFilterRow.js.map +1 -0
- package/_esm/src/components/common/TokenSelector/ChainFilterSidebar.js +4 -15
- package/_esm/src/components/common/TokenSelector/ChainFilterSidebar.js.map +1 -1
- package/_esm/src/components/common/TokenSelector/CompactChainFilter.js +176 -0
- package/_esm/src/components/common/TokenSelector/CompactChainFilter.js.map +1 -0
- package/_esm/src/components/common/TokenSelector/PaymentMethod.js +461 -0
- package/_esm/src/components/common/TokenSelector/PaymentMethod.js.map +1 -0
- package/_esm/src/components/common/TokenSelector/PaymentTokenList.js +79 -0
- package/_esm/src/components/common/TokenSelector/PaymentTokenList.js.map +1 -0
- package/_esm/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js +72 -0
- package/_esm/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js.map +1 -0
- package/_esm/src/components/primitives/ChainTokenIcon.js +3 -2
- package/_esm/src/components/primitives/ChainTokenIcon.js.map +1 -1
- package/_esm/src/components/primitives/SlippageButton.js +36 -0
- package/_esm/src/components/primitives/SlippageButton.js.map +1 -0
- package/_esm/src/components/primitives/Tabs.js +4 -2
- package/_esm/src/components/primitives/Tabs.js.map +1 -1
- package/_esm/src/components/widgets/SwapButton.js +35 -7
- package/_esm/src/components/widgets/SwapButton.js.map +1 -1
- package/_esm/src/components/widgets/TokenWidget/AmountModeToggle.js +30 -0
- package/_esm/src/components/widgets/TokenWidget/AmountModeToggle.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/AmountSectionHeader.js +7 -0
- package/_esm/src/components/widgets/TokenWidget/AmountSectionHeader.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/BuyTabContent.js +215 -0
- package/_esm/src/components/widgets/TokenWidget/BuyTabContent.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/DestinationWalletSelector.js +16 -0
- package/_esm/src/components/widgets/TokenWidget/DestinationWalletSelector.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/FeeBreakdownInfo.js +21 -0
- package/_esm/src/components/widgets/TokenWidget/FeeBreakdownInfo.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js +39 -0
- package/_esm/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/SectionContainer.js +22 -0
- package/_esm/src/components/widgets/TokenWidget/SectionContainer.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/SellTabContent.js +283 -0
- package/_esm/src/components/widgets/TokenWidget/SellTabContent.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/TransactionDetailsFooter.js +27 -0
- package/_esm/src/components/widgets/TokenWidget/TransactionDetailsFooter.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/hooks/useWalletGuards.js +104 -0
- package/_esm/src/components/widgets/TokenWidget/hooks/useWalletGuards.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/index.js +2 -0
- package/_esm/src/components/widgets/TokenWidget/index.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js +795 -0
- package/_esm/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js.map +1 -0
- package/_esm/src/components/widgets/TokenWidget/widget/index.js +1073 -0
- package/_esm/src/components/widgets/TokenWidget/widget/index.js.map +1 -0
- package/_esm/src/hooks/index.js +2 -1
- package/_esm/src/hooks/index.js.map +1 -1
- package/_esm/src/hooks/useDuneBalances.js +2 -1
- package/_esm/src/hooks/useDuneBalances.js.map +1 -1
- package/_esm/src/hooks/useEOADetection.js +3 -0
- package/_esm/src/hooks/useEOADetection.js.map +1 -1
- package/_esm/src/hooks/useMultiWalletBalances.js +122 -0
- package/_esm/src/hooks/useMultiWalletBalances.js.map +1 -0
- package/_esm/src/index.js.map +1 -1
- package/_esm/src/styles.css +251 -88
- package/_esm/src/utils/numbers.js +44 -1
- package/_esm/src/utils/numbers.js.map +1 -1
- package/_esm/src/utils/tokenSelector.js +4 -1
- package/_esm/src/utils/tokenSelector.js.map +1 -1
- package/_esm/src/utils/tokens.js +25 -0
- package/_esm/src/utils/tokens.js.map +1 -1
- package/_esm/src/version.js +1 -1
- package/_esm/tsconfig.build.tsbuildinfo +1 -1
- package/_types/src/components/common/BalanceDisplay.d.ts +2 -0
- package/_types/src/components/common/BalanceDisplay.d.ts.map +1 -1
- package/_types/src/components/common/MultiWalletDropdown.d.ts +2 -1
- package/_types/src/components/common/MultiWalletDropdown.d.ts.map +1 -1
- package/_types/src/components/common/PercentageButtons.d.ts +3 -1
- package/_types/src/components/common/PercentageButtons.d.ts.map +1 -1
- package/_types/src/components/common/SlippageToleranceConfig.d.ts +7 -0
- package/_types/src/components/common/SlippageToleranceConfig.d.ts.map +1 -1
- package/_types/src/components/common/TokenSelector/ChainFilter.d.ts.map +1 -1
- package/_types/src/components/common/TokenSelector/ChainFilterRow.d.ts +19 -0
- package/_types/src/components/common/TokenSelector/ChainFilterRow.d.ts.map +1 -0
- package/_types/src/components/common/TokenSelector/ChainFilterSidebar.d.ts.map +1 -1
- package/_types/src/components/common/TokenSelector/CompactChainFilter.d.ts +14 -0
- package/_types/src/components/common/TokenSelector/CompactChainFilter.d.ts.map +1 -0
- package/_types/src/components/common/TokenSelector/PaymentMethod.d.ts +24 -0
- package/_types/src/components/common/TokenSelector/PaymentMethod.d.ts.map +1 -0
- package/_types/src/components/common/TokenSelector/PaymentTokenList.d.ts +15 -0
- package/_types/src/components/common/TokenSelector/PaymentTokenList.d.ts.map +1 -0
- package/_types/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.d.ts +13 -0
- package/_types/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.d.ts.map +1 -0
- package/_types/src/components/primitives/ChainTokenIcon.d.ts +1 -0
- package/_types/src/components/primitives/ChainTokenIcon.d.ts.map +1 -1
- package/_types/src/components/primitives/SlippageButton.d.ts +8 -0
- package/_types/src/components/primitives/SlippageButton.d.ts.map +1 -0
- package/_types/src/components/primitives/Tabs.d.ts.map +1 -1
- package/_types/src/components/widgets/SwapButton.d.ts +5 -2
- package/_types/src/components/widgets/SwapButton.d.ts.map +1 -1
- package/_types/src/components/widgets/TokenWidget/AmountModeToggle.d.ts +12 -0
- package/_types/src/components/widgets/TokenWidget/AmountModeToggle.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/AmountSectionHeader.d.ts +11 -0
- package/_types/src/components/widgets/TokenWidget/AmountSectionHeader.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/BuyTabContent.d.ts +52 -0
- package/_types/src/components/widgets/TokenWidget/BuyTabContent.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/DestinationWalletSelector.d.ts +17 -0
- package/_types/src/components/widgets/TokenWidget/DestinationWalletSelector.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/FeeBreakdownInfo.d.ts +16 -0
- package/_types/src/components/widgets/TokenWidget/FeeBreakdownInfo.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/FeeBreakdownTooltip.d.ts +15 -0
- package/_types/src/components/widgets/TokenWidget/FeeBreakdownTooltip.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/SectionContainer.d.ts +8 -0
- package/_types/src/components/widgets/TokenWidget/SectionContainer.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/SellTabContent.d.ts +61 -0
- package/_types/src/components/widgets/TokenWidget/SellTabContent.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/TransactionDetailsFooter.d.ts +14 -0
- package/_types/src/components/widgets/TokenWidget/TransactionDetailsFooter.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/hooks/useWalletGuards.d.ts +28 -0
- package/_types/src/components/widgets/TokenWidget/hooks/useWalletGuards.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/index.d.ts +3 -0
- package/_types/src/components/widgets/TokenWidget/index.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.d.ts +125 -0
- package/_types/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.d.ts.map +1 -0
- package/_types/src/components/widgets/TokenWidget/widget/index.d.ts +57 -0
- package/_types/src/components/widgets/TokenWidget/widget/index.d.ts.map +1 -0
- package/_types/src/hooks/index.d.ts +2 -1
- package/_types/src/hooks/index.d.ts.map +1 -1
- package/_types/src/hooks/useDuneBalances.d.ts.map +1 -1
- package/_types/src/hooks/useEOADetection.d.ts.map +1 -1
- package/_types/src/hooks/useMultiWalletBalances.d.ts +26 -0
- package/_types/src/hooks/useMultiWalletBalances.d.ts.map +1 -0
- package/_types/src/index.d.ts +1 -0
- package/_types/src/index.d.ts.map +1 -1
- package/_types/src/utils/numbers.d.ts +8 -1
- package/_types/src/utils/numbers.d.ts.map +1 -1
- package/_types/src/utils/tokenSelector.d.ts +1 -1
- package/_types/src/utils/tokenSelector.d.ts.map +1 -1
- package/_types/src/utils/tokens.d.ts +17 -0
- package/_types/src/utils/tokens.d.ts.map +1 -1
- package/_types/src/version.d.ts +1 -1
- package/_types/tsconfig.build.tsbuildinfo +1 -1
- package/dist/panda.buildinfo.json +74 -33
- package/dist/styles.css +251 -88
- package/package.json +8 -3
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
|
+
import { Flex, Text, Input, Box, Button } from '../../primitives/index.js';
|
|
4
|
+
import { Modal } from '../Modal.js';
|
|
5
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
6
|
+
import { faMagnifyingGlass, faFolderOpen, faChevronLeft } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import {} from './ChainFilter.js';
|
|
8
|
+
import useRelayClient from '../../../hooks/useRelayClient.js';
|
|
9
|
+
import {} from 'viem';
|
|
10
|
+
import { useDebounceState } from '../../../hooks/index.js';
|
|
11
|
+
import { useMultiWalletBalances } from '../../../hooks/useMultiWalletBalances.js';
|
|
12
|
+
import { useMediaQuery } from 'usehooks-ts';
|
|
13
|
+
import { useTokenList } from '@relayprotocol/relay-kit-hooks';
|
|
14
|
+
import { EventNames } from '../../../constants/events.js';
|
|
15
|
+
import { UnverifiedTokenModal } from '../UnverifiedTokenModal.js';
|
|
16
|
+
import { useEnhancedTokensList } from '../../../hooks/useEnhancedTokensList.js';
|
|
17
|
+
import { TokenList } from './TokenList.js';
|
|
18
|
+
import { UnsupportedDepositAddressChainIds } from '../../../constants/depositAddresses.js';
|
|
19
|
+
import { getRelayUiKitData } from '../../../utils/localStorage.js';
|
|
20
|
+
import { isValidAddress as isValidAddressUtil } from '../../../utils/address.js';
|
|
21
|
+
import { AccessibleList, AccessibleListItem } from '../../primitives/AccessibleList.js';
|
|
22
|
+
import { eclipse, solana } from '../../../utils/solana.js';
|
|
23
|
+
import { bitcoin } from '../../../utils/bitcoin.js';
|
|
24
|
+
import { SuggestedTokens } from './SuggestedTokens.js';
|
|
25
|
+
import { mergeTokenLists } from '../../../utils/tokens.js';
|
|
26
|
+
import {} from '@relayprotocol/relay-sdk';
|
|
27
|
+
import { getInitialChainFilter, sortChains } from '../../../utils/tokenSelector.js';
|
|
28
|
+
import { useInternalRelayChains } from '../../../hooks/index.js';
|
|
29
|
+
import { useTrendingCurrencies } from '@relayprotocol/relay-kit-hooks';
|
|
30
|
+
import { getStarredChainIds } from '../../../utils/localStorage.js';
|
|
31
|
+
import { PaymentTokenList } from './PaymentTokenList.js';
|
|
32
|
+
import { CompactChainFilter } from './CompactChainFilter.js';
|
|
33
|
+
const PaymentMethod = ({ token, trigger, chainIdsFilter, lockedChainIds, context, address, isValidAddress, multiWalletSupportEnabled = false, fromChainWalletVMSupported, supportedWalletVMs, popularChainIds, setToken, onAnalyticEvent, autoSelectToken = false }) => {
|
|
34
|
+
const relayClient = useRelayClient();
|
|
35
|
+
const { chains: allRelayChains } = useInternalRelayChains();
|
|
36
|
+
const isDesktop = useMediaQuery('(min-width: 660px)');
|
|
37
|
+
const [open, setOpen] = useState(false);
|
|
38
|
+
const [unverifiedTokenModalOpen, setUnverifiedTokenModalOpen] = useState(false);
|
|
39
|
+
const [unverifiedToken, setUnverifiedToken] = useState();
|
|
40
|
+
const [chainFilter, setChainFilter] = useState({
|
|
41
|
+
id: undefined,
|
|
42
|
+
name: 'All Chains'
|
|
43
|
+
});
|
|
44
|
+
const [starredChainIds, setStarredChainIds] = useState(() => getStarredChainIds());
|
|
45
|
+
const { value: tokenSearchInput, debouncedValue: debouncedTokenSearchValue, setValue: setTokenSearchInput } = useDebounceState('', 500);
|
|
46
|
+
const depositAddressOnly = context === 'from'
|
|
47
|
+
? chainFilter?.vmType
|
|
48
|
+
? !supportedWalletVMs?.includes(chainFilter.vmType)
|
|
49
|
+
: !chainFilter.id
|
|
50
|
+
? false
|
|
51
|
+
: !fromChainWalletVMSupported && chainFilter.id === token?.chainId
|
|
52
|
+
: !fromChainWalletVMSupported;
|
|
53
|
+
const isReceivingDepositAddress = depositAddressOnly && context === 'to';
|
|
54
|
+
// Configure chains
|
|
55
|
+
const configuredChains = useMemo(() => {
|
|
56
|
+
let chains = allRelayChains?.filter((chain) => relayClient?.chains?.find((relayChain) => relayChain.id === chain.id)) ?? [];
|
|
57
|
+
if (!multiWalletSupportEnabled && context === 'from') {
|
|
58
|
+
chains = chains.filter((chain) => chain.vmType === 'evm');
|
|
59
|
+
}
|
|
60
|
+
if (isReceivingDepositAddress) {
|
|
61
|
+
chains = chains.filter(({ id }) => !UnsupportedDepositAddressChainIds.includes(id));
|
|
62
|
+
}
|
|
63
|
+
return sortChains(chains);
|
|
64
|
+
}, [
|
|
65
|
+
allRelayChains,
|
|
66
|
+
relayClient?.chains,
|
|
67
|
+
multiWalletSupportEnabled,
|
|
68
|
+
context,
|
|
69
|
+
depositAddressOnly
|
|
70
|
+
]);
|
|
71
|
+
const configuredChainIds = useMemo(() => {
|
|
72
|
+
if (lockedChainIds) {
|
|
73
|
+
return lockedChainIds;
|
|
74
|
+
}
|
|
75
|
+
let _chainIds = configuredChains.map((chain) => chain.id);
|
|
76
|
+
if (chainIdsFilter) {
|
|
77
|
+
_chainIds = _chainIds.filter((id) => !chainIdsFilter.includes(id));
|
|
78
|
+
}
|
|
79
|
+
return _chainIds;
|
|
80
|
+
}, [configuredChains, lockedChainIds, chainIdsFilter, depositAddressOnly]);
|
|
81
|
+
const hasMultipleConfiguredChainIds = configuredChainIds.length > 1;
|
|
82
|
+
const chainFilterOptions = context === 'from'
|
|
83
|
+
? configuredChains?.filter((chain) => (chain.vmType === 'evm' ||
|
|
84
|
+
chain.vmType === 'suivm' ||
|
|
85
|
+
chain.vmType === 'tvm' ||
|
|
86
|
+
chain.vmType === 'hypevm' ||
|
|
87
|
+
chain.id === solana.id ||
|
|
88
|
+
chain.id === eclipse.id ||
|
|
89
|
+
chain.id === bitcoin.id) &&
|
|
90
|
+
configuredChainIds.includes(chain.id))
|
|
91
|
+
: configuredChains?.filter((chain) => configuredChainIds.includes(chain.id));
|
|
92
|
+
const allChains = useMemo(() => [
|
|
93
|
+
...(isReceivingDepositAddress
|
|
94
|
+
? []
|
|
95
|
+
: [{ id: undefined, name: 'All Chains' }]),
|
|
96
|
+
...chainFilterOptions
|
|
97
|
+
], [isReceivingDepositAddress, chainFilterOptions]);
|
|
98
|
+
const useDefaultTokenList = debouncedTokenSearchValue === '';
|
|
99
|
+
const { balanceMap: tokenBalances, data: duneTokens, isLoading: isLoadingBalances } = useMultiWalletBalances(undefined, address, isValidAddress, relayClient?.baseApiUrl?.includes('testnet') ? 'testnet' : 'mainnet');
|
|
100
|
+
const filteredDuneTokenBalances = useMemo(() => {
|
|
101
|
+
return duneTokens?.balances?.filter((balance) => configuredChainIds.includes(balance.chain_id));
|
|
102
|
+
}, [duneTokens?.balances, configuredChainIds]);
|
|
103
|
+
const userTokensQuery = useMemo(() => {
|
|
104
|
+
if (filteredDuneTokenBalances && filteredDuneTokenBalances.length > 0) {
|
|
105
|
+
return filteredDuneTokenBalances.map((balance) => `${balance.chain_id}:${balance.address}`);
|
|
106
|
+
}
|
|
107
|
+
return undefined;
|
|
108
|
+
}, [filteredDuneTokenBalances]);
|
|
109
|
+
const { data: userTokens, isLoading: isLoadingUserTokens } = useTokenList(relayClient?.baseApiUrl, userTokensQuery
|
|
110
|
+
? {
|
|
111
|
+
tokens: userTokensQuery,
|
|
112
|
+
limit: 100,
|
|
113
|
+
depositAddressOnly,
|
|
114
|
+
referrer: relayClient?.source
|
|
115
|
+
}
|
|
116
|
+
: undefined, {
|
|
117
|
+
enabled: !!filteredDuneTokenBalances
|
|
118
|
+
});
|
|
119
|
+
const isSearchTermValidAddress = isValidAddressUtil(chainFilter.vmType, debouncedTokenSearchValue, chainFilter.id);
|
|
120
|
+
const { data: trendingTokens, isLoading: isLoadingTrendingTokens } = useTrendingCurrencies(relayClient?.baseApiUrl, {
|
|
121
|
+
referrer: relayClient?.source
|
|
122
|
+
}, {
|
|
123
|
+
enabled: context === 'to'
|
|
124
|
+
});
|
|
125
|
+
// Get main token list
|
|
126
|
+
const { data: tokenList, isLoading: isLoadingTokenList } = useTokenList(relayClient?.baseApiUrl, {
|
|
127
|
+
chainIds: chainFilter.id
|
|
128
|
+
? [chainFilter.id]
|
|
129
|
+
: configuredChains.map((c) => c.id),
|
|
130
|
+
address: isSearchTermValidAddress ? debouncedTokenSearchValue : undefined,
|
|
131
|
+
term: !isSearchTermValidAddress ? debouncedTokenSearchValue : undefined,
|
|
132
|
+
defaultList: useDefaultTokenList && !depositAddressOnly,
|
|
133
|
+
limit: 12,
|
|
134
|
+
depositAddressOnly,
|
|
135
|
+
referrer: relayClient?.source
|
|
136
|
+
});
|
|
137
|
+
const { data: externalTokenList, isLoading: isLoadingExternalList } = useTokenList(relayClient?.baseApiUrl, {
|
|
138
|
+
chainIds: chainFilter.id
|
|
139
|
+
? [chainFilter.id]
|
|
140
|
+
: configuredChains.map((c) => c.id),
|
|
141
|
+
address: isSearchTermValidAddress
|
|
142
|
+
? debouncedTokenSearchValue
|
|
143
|
+
: undefined,
|
|
144
|
+
term: !isSearchTermValidAddress ? debouncedTokenSearchValue : undefined,
|
|
145
|
+
defaultList: false,
|
|
146
|
+
limit: 12,
|
|
147
|
+
useExternalSearch: true,
|
|
148
|
+
referrer: relayClient?.source
|
|
149
|
+
}, {
|
|
150
|
+
enabled: !!debouncedTokenSearchValue && !depositAddressOnly
|
|
151
|
+
});
|
|
152
|
+
// Merge token lists when searching
|
|
153
|
+
const combinedTokenList = useMemo(() => {
|
|
154
|
+
if (!debouncedTokenSearchValue)
|
|
155
|
+
return tokenList;
|
|
156
|
+
return mergeTokenLists([tokenList, externalTokenList]);
|
|
157
|
+
}, [tokenList, externalTokenList, debouncedTokenSearchValue]);
|
|
158
|
+
const sortedUserTokens = useEnhancedTokensList(userTokens, tokenBalances, context, multiWalletSupportEnabled, chainFilter.id, true);
|
|
159
|
+
const sortedTrendingTokens = useEnhancedTokensList(trendingTokens, tokenBalances, 'to', multiWalletSupportEnabled, undefined, false);
|
|
160
|
+
const sortedCombinedTokens = useEnhancedTokensList(combinedTokenList, tokenBalances, context, multiWalletSupportEnabled, chainFilter.id, false);
|
|
161
|
+
const [chainSearchInputElement, setChainSearchInputElement] = useState(null);
|
|
162
|
+
const [tokenSearchInputElement, setTokenSearchInputElement] = useState(null);
|
|
163
|
+
const inputElement = hasMultipleConfiguredChainIds
|
|
164
|
+
? chainSearchInputElement
|
|
165
|
+
: tokenSearchInputElement;
|
|
166
|
+
const handleChainStarToggle = useCallback(() => {
|
|
167
|
+
setStarredChainIds(getStarredChainIds());
|
|
168
|
+
}, []);
|
|
169
|
+
useEffect(() => {
|
|
170
|
+
if (!autoSelectToken) {
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (address &&
|
|
174
|
+
isValidAddress &&
|
|
175
|
+
!token &&
|
|
176
|
+
sortedUserTokens &&
|
|
177
|
+
sortedUserTokens.length > 0) {
|
|
178
|
+
const topToken = sortedUserTokens[0];
|
|
179
|
+
setToken(topToken);
|
|
180
|
+
}
|
|
181
|
+
}, [
|
|
182
|
+
address,
|
|
183
|
+
isValidAddress,
|
|
184
|
+
token,
|
|
185
|
+
sortedUserTokens,
|
|
186
|
+
setToken,
|
|
187
|
+
autoSelectToken
|
|
188
|
+
]);
|
|
189
|
+
useEffect(() => {
|
|
190
|
+
if (open) {
|
|
191
|
+
setStarredChainIds(getStarredChainIds());
|
|
192
|
+
}
|
|
193
|
+
}, [open]);
|
|
194
|
+
const resetState = useCallback(() => {
|
|
195
|
+
setTokenSearchInput('');
|
|
196
|
+
setChainSearchInputElement(null);
|
|
197
|
+
setTokenSearchInputElement(null);
|
|
198
|
+
}, []);
|
|
199
|
+
const onOpenChange = useCallback((openChange) => {
|
|
200
|
+
let tokenCount = undefined;
|
|
201
|
+
let usdcCount = 0;
|
|
202
|
+
let usdtCount = 0;
|
|
203
|
+
let ethCount = 0;
|
|
204
|
+
try {
|
|
205
|
+
if (!isLoadingBalances && tokenBalances) {
|
|
206
|
+
tokenCount = Object.keys(tokenBalances).length;
|
|
207
|
+
Object.values(tokenBalances).forEach((token) => {
|
|
208
|
+
const tokenSymbol = token.symbol
|
|
209
|
+
? token.symbol.toLowerCase()
|
|
210
|
+
: token.symbol;
|
|
211
|
+
if (tokenSymbol === 'usdc') {
|
|
212
|
+
usdcCount += 1;
|
|
213
|
+
}
|
|
214
|
+
else if (tokenSymbol === 'usdt') {
|
|
215
|
+
usdtCount += 1;
|
|
216
|
+
}
|
|
217
|
+
else if (tokenSymbol === 'eth') {
|
|
218
|
+
ethCount += 1;
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
onAnalyticEvent?.(openChange
|
|
223
|
+
? EventNames.SWAP_START_TOKEN_SELECT
|
|
224
|
+
: EventNames.SWAP_EXIT_TOKEN_SELECT, {
|
|
225
|
+
direction: context === 'from' ? 'input' : 'output',
|
|
226
|
+
...(!openChange && {
|
|
227
|
+
balanceData: {
|
|
228
|
+
tokenCount,
|
|
229
|
+
usdcCount,
|
|
230
|
+
usdtCount,
|
|
231
|
+
ethCount,
|
|
232
|
+
balanceAddress: address
|
|
233
|
+
}
|
|
234
|
+
})
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
console.error(error);
|
|
239
|
+
}
|
|
240
|
+
if (openChange) {
|
|
241
|
+
const chainFilter = getInitialChainFilter(chainFilterOptions, context, depositAddressOnly, token, true);
|
|
242
|
+
setChainFilter(chainFilter);
|
|
243
|
+
}
|
|
244
|
+
setOpen(openChange);
|
|
245
|
+
}, [
|
|
246
|
+
tokenBalances,
|
|
247
|
+
isLoadingBalances,
|
|
248
|
+
context,
|
|
249
|
+
address,
|
|
250
|
+
onAnalyticEvent,
|
|
251
|
+
setOpen,
|
|
252
|
+
chainFilterOptions,
|
|
253
|
+
depositAddressOnly,
|
|
254
|
+
token
|
|
255
|
+
]);
|
|
256
|
+
const handleTokenSelection = useCallback((selectedToken) => {
|
|
257
|
+
const isVerified = selectedToken.verified;
|
|
258
|
+
const direction = context === 'from' ? 'input' : 'output';
|
|
259
|
+
let position = undefined;
|
|
260
|
+
// Track position for search results
|
|
261
|
+
if (debouncedTokenSearchValue.length > 0) {
|
|
262
|
+
position = sortedCombinedTokens.findIndex((token) => token.chainId === selectedToken.chainId &&
|
|
263
|
+
token.address?.toLowerCase() ===
|
|
264
|
+
selectedToken.address?.toLowerCase());
|
|
265
|
+
}
|
|
266
|
+
if (!isVerified) {
|
|
267
|
+
const relayUiKitData = getRelayUiKitData();
|
|
268
|
+
const tokenKey = `${selectedToken.chainId}:${selectedToken.address}`;
|
|
269
|
+
const isAlreadyAccepted = relayUiKitData.acceptedUnverifiedTokens.includes(tokenKey);
|
|
270
|
+
if (isAlreadyAccepted) {
|
|
271
|
+
onAnalyticEvent?.(EventNames.SWAP_TOKEN_SELECT, {
|
|
272
|
+
direction,
|
|
273
|
+
token_symbol: selectedToken.symbol,
|
|
274
|
+
chain_id: selectedToken.chainId,
|
|
275
|
+
token_address: selectedToken.address,
|
|
276
|
+
search_term: debouncedTokenSearchValue,
|
|
277
|
+
position
|
|
278
|
+
});
|
|
279
|
+
setToken(selectedToken);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
setUnverifiedToken(selectedToken);
|
|
283
|
+
setUnverifiedTokenModalOpen(true);
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
onAnalyticEvent?.(EventNames.SWAP_TOKEN_SELECT, {
|
|
289
|
+
direction,
|
|
290
|
+
token_symbol: selectedToken.symbol,
|
|
291
|
+
chain_id: selectedToken.chainId,
|
|
292
|
+
token_address: selectedToken.address,
|
|
293
|
+
search_term: debouncedTokenSearchValue,
|
|
294
|
+
position
|
|
295
|
+
});
|
|
296
|
+
setToken(selectedToken);
|
|
297
|
+
}
|
|
298
|
+
onOpenChange(false);
|
|
299
|
+
}, [
|
|
300
|
+
setToken,
|
|
301
|
+
onOpenChange,
|
|
302
|
+
resetState,
|
|
303
|
+
context,
|
|
304
|
+
onAnalyticEvent,
|
|
305
|
+
debouncedTokenSearchValue,
|
|
306
|
+
sortedCombinedTokens
|
|
307
|
+
]);
|
|
308
|
+
useEffect(() => {
|
|
309
|
+
if (!open) {
|
|
310
|
+
resetState();
|
|
311
|
+
}
|
|
312
|
+
}, [open]);
|
|
313
|
+
// Focus input element when modal opens
|
|
314
|
+
useEffect(() => {
|
|
315
|
+
if (open && inputElement && isDesktop) {
|
|
316
|
+
inputElement.focus();
|
|
317
|
+
}
|
|
318
|
+
}, [open, inputElement]);
|
|
319
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: { position: 'relative' }, children: _jsx(Modal, { open: open, onOpenChange: onOpenChange, showCloseButton: false, trigger: trigger, css: {
|
|
320
|
+
p: '4',
|
|
321
|
+
display: 'flex',
|
|
322
|
+
flexDirection: 'column',
|
|
323
|
+
height: 'min(85vh, 540px)',
|
|
324
|
+
width: 'min(400px, 100vw)',
|
|
325
|
+
maxWidth: 'min(400px, 100vw)',
|
|
326
|
+
minWidth: 0,
|
|
327
|
+
boxSizing: 'border-box'
|
|
328
|
+
}, children: _jsxs(Flex, { direction: "column", css: {
|
|
329
|
+
width: '100%',
|
|
330
|
+
height: '100%',
|
|
331
|
+
gap: '3',
|
|
332
|
+
overflowY: 'hidden',
|
|
333
|
+
minWidth: 0,
|
|
334
|
+
maxWidth: '100%'
|
|
335
|
+
}, children: [_jsxs(Flex, { align: "center", css: { gap: '1' }, children: [_jsx(Button, { color: "ghost", size: "none", onClick: () => onOpenChange(false), css: {
|
|
336
|
+
p: '1',
|
|
337
|
+
minWidth: 'auto',
|
|
338
|
+
color: 'gray9',
|
|
339
|
+
cursor: 'pointer',
|
|
340
|
+
borderRadius: 8,
|
|
341
|
+
'--focusColor': 'colors.focus-color',
|
|
342
|
+
_focusVisible: {
|
|
343
|
+
boxShadow: 'inset 0 0 0 2px var(--focusColor)'
|
|
344
|
+
}
|
|
345
|
+
}, children: _jsx(FontAwesomeIcon, { icon: faChevronLeft, width: 20, height: 20 }) }), _jsx(Text, { style: "subtitle2", children: context === 'from' ? 'Pay with' : 'Sell to' })] }), _jsx(Flex, { css: {
|
|
346
|
+
flex: 1,
|
|
347
|
+
gap: '3',
|
|
348
|
+
overflow: 'hidden',
|
|
349
|
+
minWidth: 0,
|
|
350
|
+
maxWidth: '100%'
|
|
351
|
+
}, children: _jsxs(AccessibleList, { onSelect: (value) => {
|
|
352
|
+
if (value === 'input')
|
|
353
|
+
return;
|
|
354
|
+
const [chainId, ...addressParts] = value.split(':');
|
|
355
|
+
const address = addressParts.join(':');
|
|
356
|
+
const allTokens = [
|
|
357
|
+
...sortedUserTokens,
|
|
358
|
+
...sortedCombinedTokens,
|
|
359
|
+
...sortedTrendingTokens
|
|
360
|
+
];
|
|
361
|
+
const selectedToken = allTokens.find((token) => token.chainId === Number(chainId) &&
|
|
362
|
+
token.address?.toLowerCase() === address?.toLowerCase());
|
|
363
|
+
if (selectedToken) {
|
|
364
|
+
handleTokenSelection(selectedToken);
|
|
365
|
+
}
|
|
366
|
+
}, css: {
|
|
367
|
+
display: 'flex',
|
|
368
|
+
flexDirection: 'column',
|
|
369
|
+
width: '100%',
|
|
370
|
+
minWidth: 0,
|
|
371
|
+
maxWidth: '100%',
|
|
372
|
+
height: '100%'
|
|
373
|
+
}, children: [_jsx(Flex, { direction: "column", align: "start", css: {
|
|
374
|
+
width: '100%',
|
|
375
|
+
gap: '2',
|
|
376
|
+
background: 'modal-background',
|
|
377
|
+
minWidth: 0,
|
|
378
|
+
maxWidth: '100%'
|
|
379
|
+
}, children: _jsxs(Flex, { align: "center", css: {
|
|
380
|
+
width: '100%',
|
|
381
|
+
gap: '2',
|
|
382
|
+
minWidth: 0,
|
|
383
|
+
alignItems: 'center',
|
|
384
|
+
height: 40
|
|
385
|
+
}, children: [_jsx(AccessibleListItem, { value: "input", asChild: true, css: {
|
|
386
|
+
flex: 1,
|
|
387
|
+
minWidth: 0,
|
|
388
|
+
display: 'flex',
|
|
389
|
+
alignItems: 'center'
|
|
390
|
+
}, children: _jsx(Input, { ref: setTokenSearchInputElement, placeholder: "Search for a token", icon: _jsx(Box, { css: { color: 'gray9' }, children: _jsx(FontAwesomeIcon, { icon: faMagnifyingGlass, width: 16, height: 16 }) }), containerCss: {
|
|
391
|
+
width: '100%',
|
|
392
|
+
height: 40
|
|
393
|
+
}, css: {
|
|
394
|
+
width: '100%',
|
|
395
|
+
_placeholder_parent: {
|
|
396
|
+
textOverflow: 'ellipsis'
|
|
397
|
+
}
|
|
398
|
+
}, onChange: (e) => {
|
|
399
|
+
const value = e.target.value;
|
|
400
|
+
setTokenSearchInput(value);
|
|
401
|
+
if (isValidAddressUtil(chainFilter.vmType, value)) {
|
|
402
|
+
onAnalyticEvent?.(EventNames.TOKEN_SELECTOR_CONTRACT_SEARCH, {
|
|
403
|
+
search_term: value,
|
|
404
|
+
chain_filter: chainFilter.id
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
} }) }), (!configuredChainIds || hasMultipleConfiguredChainIds) && (_jsx(CompactChainFilter, { options: allChains, value: chainFilter, onSelect: setChainFilter, popularChainIds: popularChainIds, onChainStarToggle: handleChainStarToggle, starredChainIds: starredChainIds, onAnalyticEvent: onAnalyticEvent }))] }) }), _jsxs(Flex, { direction: "column", css: {
|
|
408
|
+
flex: 1,
|
|
409
|
+
overflowY: 'auto',
|
|
410
|
+
gap: '3',
|
|
411
|
+
pt: '2',
|
|
412
|
+
scrollbarColor: 'var(--relay-colors-gray5) transparent',
|
|
413
|
+
minWidth: 0,
|
|
414
|
+
maxWidth: '100%'
|
|
415
|
+
}, children: [chainFilter.id &&
|
|
416
|
+
tokenSearchInput.length === 0 &&
|
|
417
|
+
!depositAddressOnly ? (_jsx(SuggestedTokens, { chainId: chainFilter.id, depositAddressOnly: depositAddressOnly, onSelect: (token) => {
|
|
418
|
+
handleTokenSelection(token);
|
|
419
|
+
} })) : null, tokenSearchInput.length > 0 ? (_jsx(TokenList, { title: "Results", tokens: sortedCombinedTokens, isLoading: isLoadingTokenList ||
|
|
420
|
+
tokenSearchInput !== debouncedTokenSearchValue, isLoadingBalances: isLoadingBalances, chainFilterId: chainFilter.id })) : chainFilter.id ? (_jsx(TokenList, { title: "Tokens", tokens: sortedCombinedTokens, isLoading: isLoadingTokenList, isLoadingBalances: isLoadingBalances, chainFilterId: chainFilter.id })) : (_jsx(Flex, { direction: "column", css: { gap: '3' }, children: (() => {
|
|
421
|
+
const hasValidAddress = Boolean(address && isValidAddress);
|
|
422
|
+
const hasLoadedBalanceData = Boolean(duneTokens);
|
|
423
|
+
const userTokensReady = !isLoadingUserTokens;
|
|
424
|
+
const isWaitingForBalanceData = hasValidAddress &&
|
|
425
|
+
(isLoadingBalances || isLoadingUserTokens) &&
|
|
426
|
+
(!hasLoadedBalanceData || !userTokensReady);
|
|
427
|
+
if (isWaitingForBalanceData) {
|
|
428
|
+
return (_jsx(PaymentTokenList, { title: "Recommended", tokens: [], isLoading: true, isLoadingBalances: false, chainFilterId: chainFilter.id, limit: 10 }));
|
|
429
|
+
}
|
|
430
|
+
if (hasValidAddress &&
|
|
431
|
+
hasLoadedBalanceData &&
|
|
432
|
+
userTokensReady) {
|
|
433
|
+
const tokensWithValue = sortedUserTokens.filter((token) => token.balance?.value_usd &&
|
|
434
|
+
token.balance.value_usd > 0);
|
|
435
|
+
if (tokensWithValue.length > 0) {
|
|
436
|
+
const shouldShowBalanceLoading = isLoadingBalances && hasValidAddress;
|
|
437
|
+
return (_jsx(PaymentTokenList, { title: "Recommended", tokens: tokensWithValue, isLoading: false, isLoadingBalances: shouldShowBalanceLoading, chainFilterId: chainFilter.id, limit: tokensWithValue.length }));
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
const fallbackTokens = context === 'to' && sortedTrendingTokens.length > 0
|
|
441
|
+
? sortedTrendingTokens
|
|
442
|
+
: sortedCombinedTokens;
|
|
443
|
+
const isTrendingTokens = context === 'to' && sortedTrendingTokens.length > 0;
|
|
444
|
+
const shouldShowBalanceLoading = isLoadingBalances && hasValidAddress;
|
|
445
|
+
return (_jsx(PaymentTokenList, { title: isTrendingTokens ? 'Global 24h' : 'Tokens', tokens: fallbackTokens.slice(0, 10), isLoading: context === 'to'
|
|
446
|
+
? isLoadingTrendingTokens
|
|
447
|
+
: isLoadingTokenList, isLoadingBalances: shouldShowBalanceLoading, chainFilterId: chainFilter.id, limit: 10 }));
|
|
448
|
+
})() })), !isLoadingTokenList &&
|
|
449
|
+
!isLoadingExternalList &&
|
|
450
|
+
tokenList?.length === 0 &&
|
|
451
|
+
externalTokenList?.length === 0 ? (_jsxs(Flex, { direction: "column", align: "center", css: { py: '5', maxWidth: 312, alignSelf: 'center' }, children: [!chainFilter?.id && isSearchTermValidAddress && (_jsx(Box, { css: { color: 'gray8', mb: '2' }, children: _jsx(FontAwesomeIcon, { icon: faFolderOpen, size: "xl", width: 27, height: 24 }) })), _jsx(Text, { color: "subtle", style: "body2", css: { textAlign: 'center' }, children: !chainFilter?.id && isSearchTermValidAddress
|
|
452
|
+
? 'No results. Switch to the desired chain to search by contract.'
|
|
453
|
+
: 'No results.' })] })) : null] }, chainFilter.id ?? 'all')] }) })] }) }) }), unverifiedTokenModalOpen && (_jsx(UnverifiedTokenModal, { open: unverifiedTokenModalOpen, onOpenChange: setUnverifiedTokenModalOpen, data: unverifiedToken ? { token: unverifiedToken } : undefined, onAcceptToken: (token) => {
|
|
454
|
+
if (token) {
|
|
455
|
+
handleTokenSelection(token);
|
|
456
|
+
}
|
|
457
|
+
setUnverifiedTokenModalOpen(false);
|
|
458
|
+
} }))] }));
|
|
459
|
+
};
|
|
460
|
+
export default PaymentMethod;
|
|
461
|
+
//# sourceMappingURL=PaymentMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentMethod.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/PaymentMethod.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Flex, Text, Skeleton, ChainTokenIcon, AccessibleListItem, Box, Button } from '../../primitives/index.js';
|
|
4
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
5
|
+
import { faChevronDown, faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
|
|
6
|
+
import { formatBN, formatDollar } from '../../../utils/numbers.js';
|
|
7
|
+
export const PaymentTokenList = ({ title, tokens: rawTokens, isLoading, isLoadingBalances, chainFilterId, showMoreButton, limit = 5, opacity = 1 }) => {
|
|
8
|
+
const [tokensExpanded, setTokensExpanded] = useState(false);
|
|
9
|
+
const tokens = showMoreButton && rawTokens && rawTokens.length > limit && !tokensExpanded
|
|
10
|
+
? rawTokens.slice(0, limit)
|
|
11
|
+
: rawTokens.slice(0, limit);
|
|
12
|
+
if (isLoading) {
|
|
13
|
+
return (_jsx(_Fragment, { children: Array.from({ length: 10 }).map((_, index) => (_jsxs(Flex, { align: "center", css: { gap: '2', p: '2', width: '100%' }, children: [_jsx(Skeleton, { css: {
|
|
14
|
+
width: 40,
|
|
15
|
+
height: 40,
|
|
16
|
+
borderRadius: '50%',
|
|
17
|
+
flexShrink: 0
|
|
18
|
+
} }), _jsxs(Flex, { direction: "column", css: { gap: '2px', flexGrow: 1 }, children: [_jsx(Skeleton, { css: { width: '60%', height: 16 } }), _jsx(Skeleton, { css: { width: '40%', height: 16 } })] })] }, index))) }));
|
|
19
|
+
}
|
|
20
|
+
if (tokens.length > 0)
|
|
21
|
+
return (_jsxs(Flex, { direction: "column", css: { gap: '1', width: '100%' }, children: [_jsx(Text, { style: "subtitle2", color: "subtle", children: title }), tokens.map((token) => {
|
|
22
|
+
const value = `${token.chainId}:${token.address}`;
|
|
23
|
+
const compactBalance = Boolean(token.balance &&
|
|
24
|
+
token.decimals &&
|
|
25
|
+
token.balance.toString().length - token.decimals > 4);
|
|
26
|
+
return (_jsx(AccessibleListItem, { value: value, asChild: true, children: _jsxs(Button, { color: "ghost", css: {
|
|
27
|
+
gap: '2',
|
|
28
|
+
cursor: 'pointer',
|
|
29
|
+
px: '2',
|
|
30
|
+
py: '2',
|
|
31
|
+
transition: 'backdrop-filter 250ms linear',
|
|
32
|
+
_hover: {
|
|
33
|
+
backgroundColor: 'gray/10'
|
|
34
|
+
},
|
|
35
|
+
flexShrink: 0,
|
|
36
|
+
alignContent: 'center',
|
|
37
|
+
display: 'flex',
|
|
38
|
+
width: '100%',
|
|
39
|
+
'--focusColor': 'colors.focus-color',
|
|
40
|
+
_focusVisible: {
|
|
41
|
+
boxShadow: 'inset 0 0 0 2px var(--focusColor)'
|
|
42
|
+
},
|
|
43
|
+
'&[data-state="on"]': {
|
|
44
|
+
boxShadow: 'inset 0 0 0 2px var(--focusColor)'
|
|
45
|
+
},
|
|
46
|
+
_active: {
|
|
47
|
+
boxShadow: 'inset 0 0 0 2px var(--focusColor)'
|
|
48
|
+
},
|
|
49
|
+
_focusWithin: {
|
|
50
|
+
boxShadow: 'inset 0 0 0 2px var(--focusColor)'
|
|
51
|
+
},
|
|
52
|
+
scrollSnapAlign: 'start',
|
|
53
|
+
opacity
|
|
54
|
+
}, children: [_jsx(ChainTokenIcon, { chainId: token.chainId, tokenlogoURI: token.logoURI, tokenSymbol: token.symbol, size: "lg" }), _jsxs(Flex, { direction: "column", align: "start", css: { gap: '2px', maxWidth: '100%', minWidth: 0 }, children: [_jsxs(Flex, { align: "center", css: { gap: '1', maxWidth: '100%' }, children: [_jsx(Text, { style: "h6", ellipsify: true, css: {
|
|
55
|
+
gap: '1',
|
|
56
|
+
alignItems: 'center'
|
|
57
|
+
}, children: token.symbol }), token.isGasCurrency && chainFilterId && (_jsx(Text, { style: "subtitle3", css: {
|
|
58
|
+
px: '6px',
|
|
59
|
+
py: '4px',
|
|
60
|
+
borderRadius: '100px',
|
|
61
|
+
backgroundColor: 'gray3',
|
|
62
|
+
whiteSpace: 'nowrap',
|
|
63
|
+
flexShrink: 0,
|
|
64
|
+
lineHeight: '12px',
|
|
65
|
+
'button:hover &': {
|
|
66
|
+
backgroundColor: 'gray5'
|
|
67
|
+
}
|
|
68
|
+
}, children: "Gas Token" }))] }), _jsxs(Flex, { align: "center", css: { gap: '1', maxWidth: '100%' }, children: [_jsx(Text, { style: "subtitle3", color: "subtle", ellipsify: true, children: token.chain?.displayName ||
|
|
69
|
+
token.chain?.name ||
|
|
70
|
+
'Unknown Chain' }), !token.verified ? (_jsx(Box, { css: { color: 'gray8' }, children: _jsx(FontAwesomeIcon, { icon: faExclamationTriangle, width: 14, height: 14 }) })) : null] })] }), (token.balance || isLoadingBalances) && (_jsx(Flex, { direction: "column", align: "end", css: { gap: '2px', ml: 'auto', flexShrink: 0 }, children: isLoadingBalances ? (_jsxs(_Fragment, { children: [_jsx(Skeleton, { css: { ml: 'auto', width: 60 } }), _jsx(Skeleton, { css: { ml: 'auto', width: 60 } })] })) : (_jsxs(_Fragment, { children: [token.balance?.value_usd &&
|
|
71
|
+
token.balance.value_usd > 0 && (_jsx(Text, { style: "h6", children: formatDollar(token.balance?.value_usd) })), _jsx(Text, { style: "subtitle3", color: "subtle", children: formatBN(token.balance.amount, 4, token.decimals, compactBalance) })] })) }))] }) }, value));
|
|
72
|
+
}), showMoreButton && (_jsxs(Button, { color: "grey", size: "small", corners: "pill", css: { ml: 'auto', minHeight: 24, px: '2', py: '1' }, onClick: () => setTokensExpanded(!tokensExpanded), children: [_jsx(Text, { style: "subtitle3", color: "subtle", children: tokensExpanded ? 'Less' : 'More' }), _jsx(Text, { style: "body1", css: {
|
|
73
|
+
color: 'gray9',
|
|
74
|
+
marginLeft: 'auto',
|
|
75
|
+
transform: tokensExpanded ? 'rotate(180deg)' : 'rotate(0)',
|
|
76
|
+
width: 12
|
|
77
|
+
}, children: _jsx(FontAwesomeIcon, { icon: faChevronDown }) })] }))] }));
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=PaymentTokenList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentTokenList.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/PaymentTokenList.tsx"],"names":[],"mappings":"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"}
|