@lifi/widget 3.7.0-beta.7 → 3.7.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/AppProvider.tsx +6 -4
- package/AppRoutes.tsx +14 -2
- package/CHANGELOG.md +22 -0
- package/_esm/AppProvider.js +3 -2
- package/_esm/AppProvider.js.map +1 -1
- package/_esm/AppRoutes.js +9 -2
- package/_esm/AppRoutes.js.map +1 -1
- package/_esm/components/ActiveTransactions/ActiveTransactions.style.js +1 -1
- package/_esm/components/ActiveTransactions/ActiveTransactions.style.js.map +1 -1
- package/_esm/components/AmountInput/AmountInputEndAdornment.js +3 -1
- package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/_esm/components/AppContainer.js +10 -5
- package/_esm/components/AppContainer.js.map +1 -1
- package/_esm/components/Avatar/AccountAvatar.d.ts +1 -1
- package/_esm/components/Avatar/AccountAvatar.js +1 -1
- package/_esm/components/Avatar/AccountAvatar.js.map +1 -1
- package/_esm/components/Avatar/Avatar.d.ts +0 -1
- package/_esm/components/Avatar/Avatar.js +4 -7
- package/_esm/components/Avatar/Avatar.js.map +1 -1
- package/_esm/components/Avatar/Avatar.style.d.ts +3 -6
- package/_esm/components/Avatar/Avatar.style.js +6 -19
- package/_esm/components/Avatar/Avatar.style.js.map +1 -1
- package/_esm/components/Avatar/TokenAvatar.js +1 -1
- package/_esm/components/Avatar/TokenAvatar.js.map +1 -1
- package/_esm/components/BaseTransactionButton/BaseTransactionButton.js +5 -3
- package/_esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/_esm/components/ChainSelect/useChainSelect.js +1 -5
- package/_esm/components/ChainSelect/useChainSelect.js.map +1 -1
- package/_esm/components/FeeBreakdownTooltip.js +1 -4
- package/_esm/components/FeeBreakdownTooltip.js.map +1 -1
- package/_esm/components/FullPageContainer.d.ts +2 -0
- package/_esm/components/FullPageContainer.js +9 -0
- package/_esm/components/FullPageContainer.js.map +1 -0
- package/_esm/components/Header/EVMDisconnectIconButton.d.ts +4 -0
- package/_esm/components/Header/EVMDisconnectIconButton.js +12 -0
- package/_esm/components/Header/EVMDisconnectIconButton.js.map +1 -0
- package/_esm/components/Header/Header.js +23 -3
- package/_esm/components/Header/Header.js.map +1 -1
- package/_esm/components/Header/NavigationHeader.js +1 -1
- package/_esm/components/Header/NavigationHeader.js.map +1 -1
- package/_esm/components/Header/SVMDisconnectIconButton.d.ts +1 -0
- package/_esm/components/Header/SVMDisconnectIconButton.js +12 -0
- package/_esm/components/Header/SVMDisconnectIconButton.js.map +1 -0
- package/_esm/components/Header/WalletHeader.js +9 -5
- package/_esm/components/Header/WalletHeader.js.map +1 -1
- package/_esm/components/Header/WalletMenu.js +18 -10
- package/_esm/components/Header/WalletMenu.js.map +1 -1
- package/_esm/components/Header/WalletMenu.style.js +1 -5
- package/_esm/components/Header/WalletMenu.style.js.map +1 -1
- package/_esm/components/PageContainer.d.ts +2 -1
- package/_esm/components/PageContainer.js.map +1 -1
- package/_esm/components/PageEntered.d.ts +1 -0
- package/_esm/components/PageEntered.js +13 -0
- package/_esm/components/PageEntered.js.map +1 -0
- package/_esm/components/Routes/RoutesExpanded.js +1 -1
- package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
- package/_esm/components/Search/SearchInput.d.ts +11 -0
- package/_esm/components/Search/SearchInput.js +21 -0
- package/_esm/components/Search/SearchInput.js.map +1 -0
- package/_esm/components/Search/SearchInput.style.d.ts +12 -0
- package/_esm/components/Search/SearchInput.style.js +38 -0
- package/_esm/components/Search/SearchInput.style.js.map +1 -0
- package/_esm/components/Search/SearchNotFound.d.ts +6 -0
- package/_esm/components/Search/SearchNotFound.js +5 -0
- package/_esm/components/Search/SearchNotFound.js.map +1 -0
- package/_esm/components/Search/SearchNotFound.style.d.ts +14 -0
- package/_esm/components/Search/SearchNotFound.style.js +29 -0
- package/_esm/components/Search/SearchNotFound.style.js.map +1 -0
- package/_esm/components/SendToWallet/SendToWalletButton.js +1 -1
- package/_esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/_esm/components/Skeleton/WidgetSkeleton.js +3 -4
- package/_esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
- package/_esm/components/Skeleton/WidgetSkeleton.style.d.ts +3 -0
- package/_esm/components/Skeleton/WidgetSkeleton.style.js +20 -1
- package/_esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -1
- package/_esm/components/SmallAvatar.d.ts +10 -0
- package/_esm/components/SmallAvatar.js +19 -0
- package/_esm/components/SmallAvatar.js.map +1 -0
- package/_esm/components/StepActions/StepActions.js +1 -1
- package/_esm/components/StepActions/StepActions.js.map +1 -1
- package/_esm/components/Tabs/Tabs.style.d.ts +1 -1
- package/_esm/components/Token/Token.js +1 -1
- package/_esm/components/Token/Token.js.map +1 -1
- package/_esm/components/TokenList/TokenList.js +2 -5
- package/_esm/components/TokenList/TokenList.js.map +1 -1
- package/_esm/components/TokenList/TokenListItem.js +5 -11
- package/_esm/components/TokenList/TokenListItem.js.map +1 -1
- package/_esm/components/TokenList/TokenNotFound.js +5 -13
- package/_esm/components/TokenList/TokenNotFound.js.map +1 -1
- package/_esm/components/TokenList/VirtualizedTokenList.js +1 -1
- package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_esm/components/TokenList/types.d.ts +3 -3
- package/_esm/components/TokenRate/TokenRate.js +2 -2
- package/_esm/components/TokenRate/TokenRate.js.map +1 -1
- package/_esm/config/version.d.ts +1 -1
- package/_esm/config/version.js +1 -1
- package/_esm/config/version.js.map +1 -1
- package/_esm/hooks/useAccount.d.ts +45 -0
- package/_esm/hooks/useAccount.js +56 -0
- package/_esm/hooks/useAccount.js.map +1 -0
- package/_esm/hooks/useAvailableChains.d.ts +1 -2
- package/_esm/hooks/useAvailableChains.js +8 -9
- package/_esm/hooks/useAvailableChains.js.map +1 -1
- package/_esm/hooks/useChains.d.ts +3 -4
- package/_esm/hooks/useChains.js +3 -5
- package/_esm/hooks/useChains.js.map +1 -1
- package/_esm/hooks/useFromTokenSufficiency.js +1 -1
- package/_esm/hooks/useFromTokenSufficiency.js.map +1 -1
- package/_esm/hooks/useGasSufficiency.js +3 -3
- package/_esm/hooks/useGasSufficiency.js.map +1 -1
- package/_esm/hooks/useProcessMessage.js +0 -4
- package/_esm/hooks/useProcessMessage.js.map +1 -1
- package/_esm/hooks/useRouteExecution.js +1 -1
- package/_esm/hooks/useRouteExecution.js.map +1 -1
- package/_esm/hooks/useRoutes.js +3 -2
- package/_esm/hooks/useRoutes.js.map +1 -1
- package/_esm/hooks/useScrollableContainer.d.ts +0 -1
- package/_esm/hooks/useScrollableContainer.js +1 -2
- package/_esm/hooks/useScrollableContainer.js.map +1 -1
- package/_esm/hooks/useSetContentHeight.js +9 -6
- package/_esm/hooks/useSetContentHeight.js.map +1 -1
- package/_esm/hooks/useTokenBalance.js +1 -1
- package/_esm/hooks/useTokenBalance.js.map +1 -1
- package/_esm/hooks/useTokenBalances.js +1 -1
- package/_esm/hooks/useTokenBalances.js.map +1 -1
- package/_esm/hooks/useTokens.js +1 -1
- package/_esm/hooks/useTokens.js.map +1 -1
- package/_esm/hooks/useTransactionDetails.js +1 -1
- package/_esm/hooks/useTransactionDetails.js.map +1 -1
- package/_esm/hooks/useTransactionHistory.js +1 -1
- package/_esm/hooks/useTransactionHistory.js.map +1 -1
- package/_esm/hooks/useWallets.d.ts +6 -0
- package/_esm/hooks/useWallets.js +80 -0
- package/_esm/hooks/useWallets.js.map +1 -0
- package/_esm/i18n/en.json +11 -4
- package/_esm/index.d.ts +2 -0
- package/_esm/index.js +2 -0
- package/_esm/index.js.map +1 -1
- package/_esm/pages/RoutesPage/RoutesPage.js +1 -1
- package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/_esm/pages/SelectChainPage/SelectChainPage.js +27 -8
- package/_esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
- package/_esm/pages/SelectEnabledToolsPage.js +38 -16
- package/_esm/pages/SelectEnabledToolsPage.js.map +1 -1
- package/_esm/pages/SelectTokenPage/SearchTokenInput.js +2 -12
- package/_esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
- package/_esm/pages/SelectTokenPage/SelectTokenPage.js +2 -2
- package/_esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
- package/_esm/pages/SelectTokenPage/useTokenListHeight.js +8 -14
- package/_esm/pages/SelectTokenPage/useTokenListHeight.js.map +1 -1
- package/_esm/pages/SelectWalletPage/EVMListItemButton.d.ts +9 -0
- package/_esm/pages/SelectWalletPage/EVMListItemButton.js +39 -0
- package/_esm/pages/SelectWalletPage/EVMListItemButton.js.map +1 -0
- package/_esm/pages/SelectWalletPage/SVMListItemButton.d.ts +6 -0
- package/_esm/pages/SelectWalletPage/SVMListItemButton.js +32 -0
- package/_esm/pages/SelectWalletPage/SVMListItemButton.js.map +1 -0
- package/_esm/pages/SelectWalletPage/SelectWalletPage.d.ts +1 -0
- package/_esm/pages/SelectWalletPage/SelectWalletPage.js +41 -0
- package/_esm/pages/SelectWalletPage/SelectWalletPage.js.map +1 -0
- package/_esm/pages/SendToWallet/ConnectedWalletsPage.js +1 -1
- package/_esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
- package/_esm/pages/SendToWallet/SendToWalletPage.js +1 -1
- package/_esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
- package/_esm/pages/TransactionPage/StatusBottomSheet.js +5 -5
- package/_esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
- package/_esm/providers/I18nProvider/types.d.ts +2 -2
- package/_esm/providers/WalletProvider/SDKProviders.js +7 -15
- package/_esm/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/_esm/providers/WalletProvider/WalletProvider.d.ts +0 -1
- package/_esm/providers/WalletProvider/WalletProvider.js +1 -14
- package/_esm/providers/WalletProvider/WalletProvider.js.map +1 -1
- package/_esm/providers/WalletProvider/useHasExternalWalletProvider.d.ts +1 -1
- package/_esm/providers/WalletProvider/useHasExternalWalletProvider.js +3 -8
- package/_esm/providers/WalletProvider/useHasExternalWalletProvider.js.map +1 -1
- package/_esm/providers/WidgetProvider/WidgetProvider.js +1 -2
- package/_esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
- package/_esm/providers/WidgetProvider/types.d.ts +2 -0
- package/_esm/stores/form/FormUpdater.js +1 -1
- package/_esm/stores/form/FormUpdater.js.map +1 -1
- package/_esm/stores/form/types.d.ts +4 -4
- package/_esm/stores/header/types.d.ts +2 -0
- package/_esm/stores/header/useHeaderStore.d.ts +7 -1
- package/_esm/stores/header/useHeaderStore.js +26 -2
- package/_esm/stores/header/useHeaderStore.js.map +1 -1
- package/_esm/stores/routes/useExecutingRoutesIds.js +1 -1
- package/_esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
- package/_esm/stores/settings/types.d.ts +1 -1
- package/_esm/stores/settings/useSettingsStore.js +22 -9
- package/_esm/stores/settings/useSettingsStore.js.map +1 -1
- package/_esm/themes/createTheme.js +1 -2
- package/_esm/themes/createTheme.js.map +1 -1
- package/_esm/types/events.d.ts +6 -6
- package/_esm/types/events.js +3 -2
- package/_esm/types/events.js.map +1 -1
- package/_esm/utils/chainType.js +3 -2
- package/_esm/utils/chainType.js.map +1 -1
- package/_esm/utils/converters.js +2 -1
- package/_esm/utils/converters.js.map +1 -1
- package/_esm/utils/elements.d.ts +5 -2
- package/_esm/utils/elements.js +6 -1
- package/_esm/utils/elements.js.map +1 -1
- package/_esm/utils/fees.js +5 -9
- package/_esm/utils/fees.js.map +1 -1
- package/_esm/utils/format.js +1 -1
- package/_esm/utils/format.js.map +1 -1
- package/_esm/utils/navigationRoutes.d.ts +3 -1
- package/_esm/utils/navigationRoutes.js +3 -0
- package/_esm/utils/navigationRoutes.js.map +1 -1
- package/_esm/utils/svm.d.ts +1 -0
- package/_esm/utils/svm.js +11 -0
- package/_esm/utils/svm.js.map +1 -0
- package/_esm/utils/wallet.js +1 -1
- package/components/ActiveTransactions/ActiveTransactions.style.ts +1 -1
- package/components/AmountInput/AmountInputEndAdornment.tsx +5 -1
- package/components/AppContainer.tsx +15 -10
- package/components/Avatar/AccountAvatar.tsx +2 -2
- package/components/Avatar/Avatar.style.tsx +7 -20
- package/components/Avatar/Avatar.tsx +4 -12
- package/components/Avatar/TokenAvatar.tsx +1 -1
- package/components/BaseTransactionButton/BaseTransactionButton.tsx +5 -3
- package/components/ChainSelect/useChainSelect.ts +1 -10
- package/components/FeeBreakdownTooltip.tsx +1 -4
- package/components/FullPageContainer.tsx +14 -0
- package/components/Header/EVMDisconnectIconButton.tsx +24 -0
- package/components/Header/Header.tsx +28 -3
- package/components/Header/NavigationHeader.tsx +1 -1
- package/components/Header/SVMDisconnectIconButton.tsx +19 -0
- package/components/Header/WalletHeader.tsx +12 -11
- package/components/Header/WalletMenu.style.tsx +1 -5
- package/components/Header/WalletMenu.tsx +32 -22
- package/components/PageContainer.ts +2 -1
- package/components/PageEntered.ts +14 -0
- package/components/Routes/RoutesExpanded.tsx +2 -1
- package/components/Search/SearchInput.style.tsx +46 -0
- package/components/Search/SearchInput.tsx +57 -0
- package/components/Search/SearchNotFound.style.tsx +36 -0
- package/components/Search/SearchNotFound.tsx +23 -0
- package/components/SendToWallet/SendToWalletButton.tsx +1 -1
- package/components/Skeleton/WidgetSkeleton.style.tsx +21 -1
- package/components/Skeleton/WidgetSkeleton.tsx +10 -9
- package/components/SmallAvatar.tsx +25 -0
- package/components/StepActions/StepActions.tsx +1 -1
- package/components/Token/Token.tsx +1 -1
- package/components/TokenList/TokenList.tsx +2 -9
- package/components/TokenList/TokenListItem.tsx +7 -15
- package/components/TokenList/TokenNotFound.tsx +7 -27
- package/components/TokenList/VirtualizedTokenList.tsx +1 -1
- package/components/TokenList/types.ts +3 -3
- package/components/TokenRate/TokenRate.tsx +2 -2
- package/config/version.ts +1 -1
- package/hooks/useAccount.ts +109 -0
- package/hooks/useAvailableChains.ts +10 -9
- package/hooks/useChains.ts +3 -6
- package/hooks/useFromTokenSufficiency.ts +1 -1
- package/hooks/useGasSufficiency.ts +3 -5
- package/hooks/useProcessMessage.ts +0 -4
- package/hooks/useRouteExecution.ts +1 -1
- package/hooks/useRoutes.ts +3 -2
- package/hooks/useScrollableContainer.ts +1 -6
- package/hooks/useSetContentHeight.ts +10 -6
- package/hooks/useTokenBalance.ts +1 -1
- package/hooks/useTokenBalances.ts +1 -1
- package/hooks/useTokens.ts +1 -2
- package/hooks/useTransactionDetails.ts +1 -1
- package/hooks/useTransactionHistory.ts +1 -1
- package/hooks/useWallets.ts +147 -0
- package/i18n/en.json +11 -4
- package/index.ts +2 -0
- package/package.json +4 -3
- package/pages/RoutesPage/RoutesPage.tsx +1 -1
- package/pages/SelectChainPage/SelectChainPage.tsx +62 -23
- package/pages/SelectEnabledToolsPage.tsx +94 -37
- package/pages/SelectTokenPage/SearchTokenInput.tsx +8 -26
- package/pages/SelectTokenPage/SelectTokenPage.tsx +3 -3
- package/pages/SelectTokenPage/useTokenListHeight.ts +14 -21
- package/pages/SelectWalletPage/EVMListItemButton.tsx +74 -0
- package/pages/SelectWalletPage/SVMListItemButton.tsx +47 -0
- package/pages/SelectWalletPage/SelectWalletPage.tsx +90 -0
- package/pages/SendToWallet/ConnectedWalletsPage.tsx +2 -2
- package/pages/SendToWallet/SendToWalletPage.tsx +1 -1
- package/pages/TransactionPage/StatusBottomSheet.tsx +6 -8
- package/providers/I18nProvider/types.ts +2 -2
- package/providers/WalletProvider/SDKProviders.tsx +7 -25
- package/providers/WalletProvider/WalletProvider.tsx +3 -24
- package/providers/WalletProvider/useHasExternalWalletProvider.ts +5 -11
- package/providers/WidgetProvider/WidgetProvider.tsx +1 -2
- package/providers/WidgetProvider/types.ts +2 -0
- package/stores/form/FormUpdater.tsx +1 -1
- package/stores/form/types.ts +4 -4
- package/stores/header/types.ts +2 -0
- package/stores/header/useHeaderStore.tsx +40 -2
- package/stores/routes/useExecutingRoutesIds.ts +1 -1
- package/stores/settings/types.ts +1 -1
- package/stores/settings/useSettingsStore.ts +30 -9
- package/themes/createTheme.ts +1 -3
- package/types/events.ts +5 -5
- package/utils/chainType.ts +3 -2
- package/utils/converters.ts +2 -1
- package/utils/elements.ts +21 -1
- package/utils/fees.ts +13 -15
- package/utils/format.ts +1 -1
- package/utils/navigationRoutes.ts +7 -1
- package/utils/svm.ts +10 -0
- package/utils/wallet.ts +1 -1
- package/_esm/components/Avatar/SmallAvatar.d.ts +0 -4
- package/_esm/components/Avatar/SmallAvatar.js +0 -12
- package/_esm/components/Avatar/SmallAvatar.js.map +0 -1
- package/_esm/components/Header/DisconnectIconButton.d.ts +0 -4
- package/_esm/components/Header/DisconnectIconButton.js +0 -12
- package/_esm/components/Header/DisconnectIconButton.js.map +0 -1
- package/_esm/hooks/useHeaderHeight.d.ts +0 -6
- package/_esm/hooks/useHeaderHeight.js +0 -23
- package/_esm/hooks/useHeaderHeight.js.map +0 -1
- package/_esm/providers/WalletProvider/UTXOBaseProvider.d.ts +0 -2
- package/_esm/providers/WalletProvider/UTXOBaseProvider.js +0 -17
- package/_esm/providers/WalletProvider/UTXOBaseProvider.js.map +0 -1
- package/_esm/providers/WalletProvider/UTXOExternalContext.d.ts +0 -1
- package/_esm/providers/WalletProvider/UTXOExternalContext.js +0 -3
- package/_esm/providers/WalletProvider/UTXOExternalContext.js.map +0 -1
- package/_esm/providers/WalletProvider/UTXOProvider.d.ts +0 -3
- package/_esm/providers/WalletProvider/UTXOProvider.js +0 -18
- package/_esm/providers/WalletProvider/UTXOProvider.js.map +0 -1
- package/components/Avatar/SmallAvatar.tsx +0 -16
- package/components/Header/DisconnectIconButton.tsx +0 -18
- package/hooks/useHeaderHeight.ts +0 -27
- package/providers/WalletProvider/UTXOBaseProvider.tsx +0 -28
- package/providers/WalletProvider/UTXOExternalContext.ts +0 -3
- package/providers/WalletProvider/UTXOProvider.tsx +0 -26
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CreateConnectorFnExtended } from '@lifi/wallet-management';
|
|
2
|
+
import type { Wallet } from '@solana/wallet-adapter-react';
|
|
3
|
+
import type { Connector } from 'wagmi';
|
|
4
|
+
import type { WidgetChains, WidgetWalletConfig } from '../types/widget.js';
|
|
5
|
+
export declare const useWallets: (walletConfig?: WidgetWalletConfig, chains?: WidgetChains) => (Connector | Wallet | CreateConnectorFnExtended)[];
|
|
6
|
+
export declare const walletComparator: (a: CreateConnectorFnExtended | Connector | Wallet, b: CreateConnectorFnExtended | Connector | Wallet) => number;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ChainType } from '@lifi/sdk';
|
|
2
|
+
import { createCoinbaseConnector, createMetaMaskConnector, createWalletConnectConnector, getWalletPriority, isWalletInstalled, } from '@lifi/wallet-management';
|
|
3
|
+
import { useMediaQuery } from '@mui/material';
|
|
4
|
+
import { WalletReadyState } from '@solana/wallet-adapter-base';
|
|
5
|
+
import { useWallet } from '@solana/wallet-adapter-react';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { useConnect, useAccount as useWagmiAccount } from 'wagmi';
|
|
8
|
+
import { defaultCoinbaseConfig } from '../config/coinbase.js';
|
|
9
|
+
import { defaultMetaMaskConfig } from '../config/metaMask.js';
|
|
10
|
+
import { defaultWalletConnectConfig } from '../config/walletConnect.js';
|
|
11
|
+
import { isItemAllowed } from '../utils/item.js';
|
|
12
|
+
export const useWallets = (walletConfig, chains) => {
|
|
13
|
+
const account = useWagmiAccount();
|
|
14
|
+
const { connectors } = useConnect();
|
|
15
|
+
const { wallets: solanaWallets } = useWallet();
|
|
16
|
+
const isDesktopView = useMediaQuery((theme) => theme.breakpoints.up('sm'));
|
|
17
|
+
const wallets = useMemo(() => {
|
|
18
|
+
const evmConnectors = Array.from(connectors);
|
|
19
|
+
if (!connectors.some((connector) => connector.id.toLowerCase().includes('walletconnect'))) {
|
|
20
|
+
evmConnectors.unshift(createWalletConnectConnector(walletConfig?.walletConnect ?? defaultWalletConnectConfig));
|
|
21
|
+
}
|
|
22
|
+
if (!connectors.some((connector) => connector.id.toLowerCase().includes('coinbase')) &&
|
|
23
|
+
!isWalletInstalled('coinbase')) {
|
|
24
|
+
evmConnectors.unshift(createCoinbaseConnector(walletConfig?.coinbase ?? defaultCoinbaseConfig));
|
|
25
|
+
}
|
|
26
|
+
if (!connectors.some((connector) => connector.id.toLowerCase().includes('metamask')) &&
|
|
27
|
+
!isWalletInstalled('metaMask')) {
|
|
28
|
+
evmConnectors.unshift(createMetaMaskConnector(walletConfig?.metaMask ?? defaultMetaMaskConfig));
|
|
29
|
+
}
|
|
30
|
+
const evmInstalled = isItemAllowed(ChainType.EVM, chains?.types)
|
|
31
|
+
? evmConnectors.filter((connector) => isWalletInstalled(connector.id) &&
|
|
32
|
+
// We should not show already connected connectors
|
|
33
|
+
account.connector?.id !== connector.id)
|
|
34
|
+
: [];
|
|
35
|
+
const evmNotDetected = isItemAllowed(ChainType.EVM, chains?.types)
|
|
36
|
+
? evmConnectors.filter((connector) => !isWalletInstalled(connector.id))
|
|
37
|
+
: [];
|
|
38
|
+
const svmInstalled = isItemAllowed(ChainType.SVM, chains?.types)
|
|
39
|
+
? solanaWallets?.filter((connector) => connector.adapter.readyState === WalletReadyState.Installed &&
|
|
40
|
+
// We should not show already connected connectors
|
|
41
|
+
!connector.adapter.connected)
|
|
42
|
+
: [];
|
|
43
|
+
const svmNotDetected = isItemAllowed(ChainType.SVM, chains?.types)
|
|
44
|
+
? solanaWallets?.filter((connector) => connector.adapter.readyState !== WalletReadyState.Installed)
|
|
45
|
+
: [];
|
|
46
|
+
const installedWallets = [...evmInstalled, ...svmInstalled].sort(walletComparator);
|
|
47
|
+
if (isDesktopView) {
|
|
48
|
+
const notDetectedWallets = [...evmNotDetected, ...svmNotDetected].sort(walletComparator);
|
|
49
|
+
installedWallets.push(...notDetectedWallets);
|
|
50
|
+
}
|
|
51
|
+
return installedWallets;
|
|
52
|
+
}, [
|
|
53
|
+
account.connector?.id,
|
|
54
|
+
chains?.types,
|
|
55
|
+
connectors,
|
|
56
|
+
isDesktopView,
|
|
57
|
+
solanaWallets,
|
|
58
|
+
walletConfig?.coinbase,
|
|
59
|
+
walletConfig?.metaMask,
|
|
60
|
+
walletConfig?.walletConnect,
|
|
61
|
+
]);
|
|
62
|
+
return wallets;
|
|
63
|
+
};
|
|
64
|
+
export const walletComparator = (a, b) => {
|
|
65
|
+
let aId = a.id || a.adapter?.name;
|
|
66
|
+
let bId = b.id || b.adapter?.name;
|
|
67
|
+
const priorityA = getWalletPriority(aId);
|
|
68
|
+
const priorityB = getWalletPriority(bId);
|
|
69
|
+
if (priorityA !== priorityB) {
|
|
70
|
+
return priorityA - priorityB;
|
|
71
|
+
}
|
|
72
|
+
if (aId < bId) {
|
|
73
|
+
return -1;
|
|
74
|
+
}
|
|
75
|
+
if (aId > bId) {
|
|
76
|
+
return 1;
|
|
77
|
+
}
|
|
78
|
+
return 0;
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=useWallets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWallets.js","sourceRoot":"","sources":["../../hooks/useWallets.ts"],"names":[],"mappings":"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"}
|
package/_esm/i18n/en.json
CHANGED
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"bridgeReview": "Review bridge",
|
|
17
17
|
"buy": "Buy",
|
|
18
18
|
"cancel": "Cancel",
|
|
19
|
+
"changeWallet": "Change wallet",
|
|
19
20
|
"checkoutReview": "Review purchase",
|
|
20
21
|
"close": "Close",
|
|
21
22
|
"confirm": "Confirm",
|
|
22
|
-
"connectAnotherWallet": "Connect another wallet",
|
|
23
23
|
"connectWallet": "Connect wallet",
|
|
24
24
|
"contactSupport": "Contact support",
|
|
25
25
|
"continue": "Continue",
|
|
@@ -82,6 +82,9 @@
|
|
|
82
82
|
"autoRefuel": "You're low on {{chainName}} gas. By continuing, you'll get enough gas to complete the transaction.",
|
|
83
83
|
"emptyActiveTransactions": "Transactions in progress will appear here. Once completed, find them in transaction history.",
|
|
84
84
|
"emptyTokenList": "We couldn't find tokens on {{chainName}} chain or you don't have any. Please search by contract address if your token doesn't appear or choose another chain.",
|
|
85
|
+
"emptyChainList": "We couldn't find any chains that match your search",
|
|
86
|
+
"emptyBridgesList": "We couldn't find any bridges that match your search",
|
|
87
|
+
"emptyExchangesList": "We couldn't find any exchanges that match your search",
|
|
85
88
|
"emptyTransactionHistory": "Transaction history is only stored locally and will be deleted if you clear your browser data.",
|
|
86
89
|
"fundsToExchange": "Funds sent to an exchange may be lost",
|
|
87
90
|
"toAddressIsRequired": "Please provide the destination wallet address to which the funds will be transferred.",
|
|
@@ -139,7 +142,6 @@
|
|
|
139
142
|
"signatureRejected": "Your signature is required to complete the transaction. {{amount, number(maximumFractionDigits: 9)}} {{tokenSymbol}} on {{chainName}} remain in your wallet.",
|
|
140
143
|
"slippageThreshold": "The slippage is larger than the defined threshold. Please request a new quote.",
|
|
141
144
|
"transactionCanceled": "Transaction was canceled.",
|
|
142
|
-
"transactionConflict": "Transaction couldn't be processed because it's conflicting with another pending transaction using the same funds. Please wait for the pending transaction to be confirmed or check your transaction history before trying again.",
|
|
143
145
|
"transactionExpired": "The block height has exceeded the maximum allowed limit or blockhash is no longer recent enough.",
|
|
144
146
|
"transactionFailed": "Please check the block explorer for more information.",
|
|
145
147
|
"transactionNotSent": "Transaction was not sent.",
|
|
@@ -159,7 +161,6 @@
|
|
|
159
161
|
"signatureRejected": "Signature required",
|
|
160
162
|
"slippageNotMet": "Slippage conditions not met",
|
|
161
163
|
"transactionCanceled": "Transaction canceled",
|
|
162
|
-
"transactionConflict": "Transaction conflict",
|
|
163
164
|
"transactionExpired": "Transaction expired",
|
|
164
165
|
"transactionFailed": "Transaction failed",
|
|
165
166
|
"transactionSimulationFailed": "Transaction simulation failed",
|
|
@@ -277,7 +278,10 @@
|
|
|
277
278
|
"tokenOnChain": "{{tokenSymbol}} on {{chainName}}",
|
|
278
279
|
"tokenOnChainAmount": "{{amount, number(maximumFractionDigits: 9)}} {{tokenSymbol}} on {{chainName}}",
|
|
279
280
|
"tokenSearch": "Search by token name or address",
|
|
280
|
-
"valueLoss": "Value loss"
|
|
281
|
+
"valueLoss": "Value loss",
|
|
282
|
+
"searchChains": "Search by chain name",
|
|
283
|
+
"searchBridges": "Search by bridge name",
|
|
284
|
+
"searchExchanges": "Search by exchange name"
|
|
281
285
|
},
|
|
282
286
|
"settings": {
|
|
283
287
|
"theme": "Theme",
|
|
@@ -305,5 +309,8 @@
|
|
|
305
309
|
"noBookmarkedWallets": "No bookmarked wallets",
|
|
306
310
|
"noConnectedWallets": "No connected wallets",
|
|
307
311
|
"noRecentWallets": "No recent wallets"
|
|
312
|
+
},
|
|
313
|
+
"wallet": {
|
|
314
|
+
"extensionNotFound": "Please make sure that only the {{name}} browser extension is active before choosing this wallet."
|
|
308
315
|
}
|
|
309
316
|
}
|
package/_esm/index.d.ts
CHANGED
|
@@ -8,7 +8,9 @@ export * from './components/ContractComponent/NFT/types.js';
|
|
|
8
8
|
export * from './components/Skeleton/WidgetSkeleton.js';
|
|
9
9
|
export { defaultMaxHeight } from './config/constants.js';
|
|
10
10
|
export * from './config/version.js';
|
|
11
|
+
export { useAccount } from './hooks/useAccount.js';
|
|
11
12
|
export { useAvailableChains } from './hooks/useAvailableChains.js';
|
|
13
|
+
export { useWallets, walletComparator } from './hooks/useWallets.js';
|
|
12
14
|
export { useWidgetEvents, widgetEvents } from './hooks/useWidgetEvents.js';
|
|
13
15
|
export * from './stores/form/types.js';
|
|
14
16
|
export { useFieldActions } from './stores/form/useFieldActions.js';
|
package/_esm/index.js
CHANGED
|
@@ -7,7 +7,9 @@ export * from './components/ContractComponent/NFT/types.js';
|
|
|
7
7
|
export * from './components/Skeleton/WidgetSkeleton.js';
|
|
8
8
|
export { defaultMaxHeight } from './config/constants.js';
|
|
9
9
|
export * from './config/version.js';
|
|
10
|
+
export { useAccount } from './hooks/useAccount.js';
|
|
10
11
|
export { useAvailableChains } from './hooks/useAvailableChains.js';
|
|
12
|
+
export { useWallets, walletComparator } from './hooks/useWallets.js';
|
|
11
13
|
export { useWidgetEvents, widgetEvents } from './hooks/useWidgetEvents.js';
|
|
12
14
|
export * from './stores/form/types.js';
|
|
13
15
|
export { useFieldActions } from './stores/form/useFieldActions.js';
|
package/_esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3E,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3E,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useAccount } from '@lifi/wallet-management';
|
|
3
2
|
import { useMemo } from 'react';
|
|
4
3
|
import { useTranslation } from 'react-i18next';
|
|
5
4
|
import { ProgressToNextUpdate } from '../../components/ProgressToNextUpdate.js';
|
|
6
5
|
import { RouteCard } from '../../components/RouteCard/RouteCard.js';
|
|
7
6
|
import { RouteCardSkeleton } from '../../components/RouteCard/RouteCardSkeleton.js';
|
|
8
7
|
import { RouteNotFoundCard } from '../../components/RouteCard/RouteNotFoundCard.js';
|
|
8
|
+
import { useAccount } from '../../hooks/useAccount.js';
|
|
9
9
|
import { useHeader } from '../../hooks/useHeader.js';
|
|
10
10
|
import { useNavigateBack } from '../../hooks/useNavigateBack.js';
|
|
11
11
|
import { useRoutes } from '../../hooks/useRoutes.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutesPage.js","sourceRoot":"","sources":["../../../pages/RoutesPage/RoutesPage.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"RoutesPage.js","sourceRoot":"","sources":["../../../pages/RoutesPage/RoutesPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Avatar,
|
|
2
|
+
import { Avatar, debounce, ListItemAvatar } from '@mui/material';
|
|
3
|
+
import { useState } from 'react';
|
|
3
4
|
import { useTranslation } from 'react-i18next';
|
|
4
5
|
import { useChainSelect } from '../../components/ChainSelect/useChainSelect.js';
|
|
6
|
+
import { FullPageContainer } from '../../components/FullPageContainer.js';
|
|
5
7
|
import { ListItemButton } from '../../components/ListItemButton.js';
|
|
6
8
|
import { ListItemText } from '../../components/ListItemText.js';
|
|
7
|
-
import {
|
|
9
|
+
import { StickySearchInput } from '../../components/Search/SearchInput.js';
|
|
10
|
+
import { SearchList } from '../../components/Search/SearchInput.style.js';
|
|
11
|
+
import { SearchNotFound } from '../../components/Search/SearchNotFound.js';
|
|
8
12
|
import { useTokenSelect } from '../../components/TokenList/useTokenSelect.js';
|
|
13
|
+
import { useDefaultElementId } from '../../hooks/useDefaultElementId.js';
|
|
9
14
|
import { useHeader } from '../../hooks/useHeader.js';
|
|
10
15
|
import { useNavigateBack } from '../../hooks/useNavigateBack.js';
|
|
16
|
+
import { useScrollableContainer } from '../../hooks/useScrollableContainer.js';
|
|
11
17
|
export const SelectChainPage = ({ formType, selectNativeToken, }) => {
|
|
12
18
|
const { navigateBack } = useNavigateBack();
|
|
13
19
|
const { chains, setCurrentChain } = useChainSelect(formType);
|
|
14
20
|
const selectToken = useTokenSelect(formType, navigateBack);
|
|
21
|
+
const elementId = useDefaultElementId();
|
|
22
|
+
const scrollableContainer = useScrollableContainer(elementId);
|
|
15
23
|
const { t } = useTranslation();
|
|
16
24
|
useHeader(t('header.selectChain'));
|
|
17
25
|
const handleClick = async (chain) => {
|
|
@@ -23,11 +31,22 @@ export const SelectChainPage = ({ formType, selectNativeToken, }) => {
|
|
|
23
31
|
navigateBack();
|
|
24
32
|
}
|
|
25
33
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
const [filteredChains, setFilteredChains] = useState(chains ?? []);
|
|
35
|
+
const handleSearchInputChange = (e) => {
|
|
36
|
+
const value = e.target.value;
|
|
37
|
+
if (!value) {
|
|
38
|
+
setFilteredChains(chains ?? []);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
setFilteredChains(chains
|
|
42
|
+
? chains.filter((chain) => chain.name.toLowerCase().includes(value.toLowerCase()))
|
|
43
|
+
: []);
|
|
44
|
+
}
|
|
45
|
+
if (scrollableContainer) {
|
|
46
|
+
scrollableContainer.scrollTop = 0;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const debouncedSearchInputChange = debounce(handleSearchInputChange, 250);
|
|
50
|
+
return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(StickySearchInput, { onChange: debouncedSearchInputChange, placeholder: t('main.searchChains') }), filteredChains.length ? (_jsx(SearchList, { children: filteredChains.map((chain) => (_jsxs(ListItemButton, { onClick: () => handleClick(chain), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: chain.logoURI, alt: chain.name, children: chain.name[0] }) }), _jsx(ListItemText, { primary: chain.name })] }, chain.id))) })) : (_jsx(SearchNotFound, { message: t('info.message.emptyChainList'), adjustForStickySearchInput: true }))] }));
|
|
32
51
|
};
|
|
33
52
|
//# sourceMappingURL=SelectChainPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectChainPage.js","sourceRoot":"","sources":["../../../pages/SelectChainPage/SelectChainPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectChainPage.js","sourceRoot":"","sources":["../../../pages/SelectChainPage/SelectChainPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,65 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Check, CheckBoxOutlineBlankOutlined, CheckBoxOutlined, IndeterminateCheckBoxOutlined, } from '@mui/icons-material';
|
|
3
|
-
import { Avatar,
|
|
4
|
-
import { useMemo } from 'react';
|
|
3
|
+
import { Avatar, debounce, IconButton, ListItemAvatar, Tooltip, useTheme, } from '@mui/material';
|
|
4
|
+
import { useMemo, useState } from 'react';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
6
|
import { shallow } from 'zustand/shallow';
|
|
7
|
+
import { FullPageContainer } from '../components/FullPageContainer.js';
|
|
7
8
|
import { ListItemText } from '../components/ListItemText.js';
|
|
8
|
-
import {
|
|
9
|
+
import { StickySearchInput } from '../components/Search/SearchInput.js';
|
|
10
|
+
import { SearchList } from '../components/Search/SearchInput.style.js';
|
|
11
|
+
import { SearchNotFound } from '../components/Search/SearchNotFound.js';
|
|
9
12
|
import { SettingsListItemButton } from '../components/SettingsListItemButton.js';
|
|
13
|
+
import { useDefaultElementId } from '../hooks/useDefaultElementId.js';
|
|
10
14
|
import { useHeader } from '../hooks/useHeader.js';
|
|
15
|
+
import { useScrollableContainer } from '../hooks/useScrollableContainer.js';
|
|
11
16
|
import { useTools } from '../hooks/useTools.js';
|
|
12
17
|
import { useSettingsStore } from '../stores/settings/useSettingsStore.js';
|
|
13
|
-
const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, onClick, }) => {
|
|
18
|
+
const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, noCheckboxesAvailable, onClick, }) => {
|
|
14
19
|
const { t } = useTranslation();
|
|
15
20
|
const theme = useTheme();
|
|
16
|
-
const tooltipTitle =
|
|
17
|
-
?
|
|
18
|
-
:
|
|
21
|
+
const tooltipTitle = noCheckboxesAvailable
|
|
22
|
+
? undefined
|
|
23
|
+
: allCheckboxesSelected
|
|
24
|
+
? t('tooltip.deselectAll')
|
|
25
|
+
: t('tooltip.selectAll');
|
|
19
26
|
return (_jsx(Tooltip, { title: tooltipTitle, children: _jsx(IconButton, { size: "medium", edge: theme?.navigation?.edge ? 'end' : false, onClick: onClick, children: allCheckboxesSelected ? (_jsx(CheckBoxOutlined, {})) : anyCheckboxesSelected ? (_jsx(IndeterminateCheckBoxOutlined, {})) : (_jsx(CheckBoxOutlineBlankOutlined, {})) }) }));
|
|
20
27
|
};
|
|
21
28
|
export const SelectEnabledToolsPage = ({ type }) => {
|
|
22
29
|
const typeKey = type.toLowerCase();
|
|
23
30
|
const { tools } = useTools();
|
|
24
|
-
const [enabledTools, disabledTools, setToolValue,
|
|
31
|
+
const [enabledTools, disabledTools, setToolValue, toggleToolKeys] = useSettingsStore((state) => [
|
|
25
32
|
state[`_enabled${type}`],
|
|
26
33
|
state[`disabled${type}`],
|
|
27
34
|
state.setToolValue,
|
|
28
|
-
state.
|
|
35
|
+
state.toggleToolKeys,
|
|
29
36
|
], shallow);
|
|
30
37
|
const { t } = useTranslation();
|
|
31
|
-
const
|
|
38
|
+
const elementId = useDefaultElementId();
|
|
39
|
+
const scrollableContainer = useScrollableContainer(elementId);
|
|
40
|
+
const [filteredTools, setFilteredTools] = useState(tools?.[typeKey] ?? []);
|
|
41
|
+
const headerAction = useMemo(() => (_jsx(SelectAllCheckbox, { allCheckboxesSelected: !!filteredTools.length &&
|
|
42
|
+
filteredTools.every((tool) => !disabledTools.includes(tool.key)), anyCheckboxesSelected: !!filteredTools.length &&
|
|
43
|
+
filteredTools.some((tool) => disabledTools.includes(tool.key)), noCheckboxesAvailable: !filteredTools.length, onClick: () => toggleToolKeys(type, filteredTools.map((tool) => tool.key)) })), [disabledTools, toggleToolKeys, type, filteredTools]);
|
|
32
44
|
useHeader(t(`settings.enabled${type}`), headerAction);
|
|
33
45
|
const handleClick = (key) => {
|
|
34
46
|
setToolValue(type, key, !enabledTools[key]);
|
|
35
47
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
const handleSearchInputChange = (e) => {
|
|
49
|
+
const value = e.target.value;
|
|
50
|
+
if (!value) {
|
|
51
|
+
setFilteredTools(tools?.[typeKey] ?? []);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
setFilteredTools((tools?.[typeKey]
|
|
55
|
+
? tools[typeKey].filter((tool) => tool.name.toLowerCase().includes(value.toLowerCase()))
|
|
56
|
+
: []));
|
|
57
|
+
}
|
|
58
|
+
if (scrollableContainer) {
|
|
59
|
+
scrollableContainer.scrollTop = 0;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const debouncedSearchInputChange = debounce(handleSearchInputChange, 250);
|
|
63
|
+
return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(StickySearchInput, { onChange: debouncedSearchInputChange, placeholder: t(`main.search${type}`) }), filteredTools.length ? (_jsx(SearchList, { children: filteredTools.map((tool) => (_jsxs(SettingsListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools[tool.key] && _jsx(Check, { color: "primary" })] }, tool.name))) })) : (_jsx(SearchNotFound, { message: t(`info.message.empty${type}List`), adjustForStickySearchInput: true }))] }));
|
|
42
64
|
};
|
|
43
65
|
//# sourceMappingURL=SelectEnabledToolsPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../pages/SelectEnabledToolsPage.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../pages/SelectEnabledToolsPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Search } from '@mui/icons-material';
|
|
3
|
-
import { FormControl, InputAdornment } from '@mui/material';
|
|
4
2
|
import { useEffect } from 'react';
|
|
5
3
|
import { useTranslation } from 'react-i18next';
|
|
6
|
-
import {
|
|
4
|
+
import { SearchInput } from '../../components/Search/SearchInput.js';
|
|
7
5
|
import { useFieldActions } from '../../stores/form/useFieldActions.js';
|
|
8
6
|
import { useFieldController } from '../../stores/form/useFieldController.js';
|
|
9
|
-
import { Input } from './SearchTokenInput.style.js';
|
|
10
7
|
export const SearchTokenInput = () => {
|
|
11
8
|
const { t } = useTranslation();
|
|
12
9
|
const { setFieldValue } = useFieldActions();
|
|
@@ -16,13 +13,6 @@ export const SearchTokenInput = () => {
|
|
|
16
13
|
useEffect(() => () => {
|
|
17
14
|
setFieldValue('tokenSearchFilter', '');
|
|
18
15
|
}, [setFieldValue]);
|
|
19
|
-
return (_jsx(
|
|
20
|
-
inputMode: 'search',
|
|
21
|
-
onChange: (e) => onChange(e.target.value),
|
|
22
|
-
onBlur,
|
|
23
|
-
name,
|
|
24
|
-
value,
|
|
25
|
-
maxLength: 128,
|
|
26
|
-
}, autoComplete: "off" }) }) }));
|
|
16
|
+
return (_jsx(SearchInput, { name: name, placeholder: t(`main.tokenSearch`), onChange: (e) => onChange(e.target.value), onBlur: onBlur, value: value }));
|
|
27
17
|
};
|
|
28
18
|
//# sourceMappingURL=SearchTokenInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchTokenInput.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SearchTokenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchTokenInput.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SearchTokenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;QAC3D,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;IAEH,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,EAC/D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAA2B,GAClC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Box } from '@mui/material';
|
|
|
3
3
|
import { useRef } from 'react';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
import { ChainSelect } from '../../components/ChainSelect/ChainSelect.js';
|
|
6
|
-
import {
|
|
6
|
+
import { FullPageContainer } from '../../components/FullPageContainer.js';
|
|
7
7
|
import { TokenList } from '../../components/TokenList/TokenList.js';
|
|
8
8
|
import { useHeader } from '../../hooks/useHeader.js';
|
|
9
9
|
import { useNavigateBack } from '../../hooks/useNavigateBack.js';
|
|
@@ -31,6 +31,6 @@ export const SelectTokenPage = ({ formType }) => {
|
|
|
31
31
|
: t(`header.to`);
|
|
32
32
|
useHeader(title);
|
|
33
33
|
const hideChainSelect = swapOnly && formType === 'to';
|
|
34
|
-
return (_jsxs(
|
|
34
|
+
return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsxs(Box, { pb: 2, px: 3, ref: headerRef, children: [!hideChainSelect ? _jsx(ChainSelect, { formType: formType }) : null, _jsx(Box, { mt: !hideChainSelect ? 2 : 0, children: _jsx(SearchTokenInput, {}) })] }), _jsx(Box, { height: minListHeight, children: _jsx(TokenList, { parentRef: listParentRef, height: tokenListHeight, onClick: navigateBack, formType: formType }) })] }));
|
|
35
35
|
};
|
|
36
36
|
//# sourceMappingURL=SelectTokenPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SelectTokenPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SelectTokenPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjE,2BAA2B,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC;QAC5D,aAAa;QACb,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GACT,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,UAAU,KAAK,QAAQ;YACvB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACrB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAErB,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,eAAe,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC;IAEtD,OAAO,CACL,MAAC,iBAAiB,IAAC,cAAc,mBAC/B,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,aAC9B,CAAC,eAAe,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAC/B,KAAC,gBAAgB,KAAG,GAChB,IACF,EACN,KAAC,GAAG,IAAC,MAAM,EAAE,aAAa,YACxB,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,GAClB,GACE,IACY,CACrB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
import { useTheme } from '@mui/material';
|
|
1
|
+
import { debounce, useTheme } from '@mui/material';
|
|
2
2
|
import { useLayoutEffect, useState } from 'react';
|
|
3
3
|
import { useDefaultElementId } from '../../hooks/useDefaultElementId.js';
|
|
4
|
-
import { ElementId,
|
|
5
|
-
const debounce = (func, timeout = 300) => {
|
|
6
|
-
let timer;
|
|
7
|
-
return (...args) => {
|
|
8
|
-
clearTimeout(timer);
|
|
9
|
-
timer = setTimeout(() => {
|
|
10
|
-
func.apply(this, args);
|
|
11
|
-
}, timeout);
|
|
12
|
-
};
|
|
13
|
-
};
|
|
4
|
+
import { ElementId, getAppContainer, getHeaderElement, getScrollableContainer, } from '../../utils/elements.js';
|
|
14
5
|
const getContentHeight = (elementId, listParentRef) => {
|
|
15
|
-
const containerElement =
|
|
16
|
-
const headerElement =
|
|
6
|
+
const containerElement = getScrollableContainer(elementId);
|
|
7
|
+
const headerElement = getHeaderElement(elementId);
|
|
17
8
|
const listParentElement = listParentRef?.current;
|
|
18
9
|
let oldHeight;
|
|
19
10
|
// This covers the case where in full height flex mode when the browser height is reduced
|
|
@@ -37,6 +28,9 @@ const getContentHeight = (elementId, listParentRef) => {
|
|
|
37
28
|
};
|
|
38
29
|
export const minTokenListHeight = 360;
|
|
39
30
|
export const minMobileTokenListHeight = 160;
|
|
31
|
+
// NOTE: this hook is implicitly tied to the widget height functionality in the
|
|
32
|
+
// AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts
|
|
33
|
+
// CSS changes in those components can have implications for the functionality in this hook
|
|
40
34
|
export const useTokenListHeight = ({ listParentRef, headerRef, }) => {
|
|
41
35
|
const elementId = useDefaultElementId();
|
|
42
36
|
const [contentHeight, setContentHeight] = useState(0);
|
|
@@ -48,7 +42,7 @@ export const useTokenListHeight = ({ listParentRef, headerRef, }) => {
|
|
|
48
42
|
const processResize = debounce(() => handleResize(), 40);
|
|
49
43
|
// calling this on initial mount prevents the lists resizing appearing glitchy
|
|
50
44
|
handleResize();
|
|
51
|
-
const appContainer =
|
|
45
|
+
const appContainer = getAppContainer(elementId);
|
|
52
46
|
let resizeObserver;
|
|
53
47
|
if (appContainer) {
|
|
54
48
|
resizeObserver = new ResizeObserver(processResize);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenListHeight.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/useTokenListHeight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useTokenListHeight.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/useTokenListHeight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CreateConnectorFnExtended } from '@lifi/wallet-management';
|
|
2
|
+
import type { Connector } from 'wagmi';
|
|
3
|
+
interface EVMListItemButtonProps {
|
|
4
|
+
connectedConnector?: Connector;
|
|
5
|
+
connector: CreateConnectorFnExtended | Connector;
|
|
6
|
+
onNotInstalled(connector: Connector): void;
|
|
7
|
+
}
|
|
8
|
+
export declare const EVMListItemButton: ({ connectedConnector, connector, onNotInstalled, }: EVMListItemButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChainType } from '@lifi/sdk';
|
|
3
|
+
import { getConnectorIcon, isWalletInstalledAsync, } from '@lifi/wallet-management';
|
|
4
|
+
import { Avatar, ListItemAvatar } from '@mui/material';
|
|
5
|
+
import { useConnect, useDisconnect } from 'wagmi';
|
|
6
|
+
import { ListItemButton } from '../../components/ListItemButton.js';
|
|
7
|
+
import { ListItemText } from '../../components/ListItemText.js';
|
|
8
|
+
import { useNavigateBack } from '../../hooks/useNavigateBack.js';
|
|
9
|
+
import { useWidgetEvents } from '../../hooks/useWidgetEvents.js';
|
|
10
|
+
import { WidgetEvent } from '../../types/events.js';
|
|
11
|
+
export const EVMListItemButton = ({ connectedConnector, connector, onNotInstalled, }) => {
|
|
12
|
+
const { navigateBack } = useNavigateBack();
|
|
13
|
+
const emitter = useWidgetEvents();
|
|
14
|
+
const { connectAsync } = useConnect();
|
|
15
|
+
const { disconnectAsync } = useDisconnect();
|
|
16
|
+
const handleEVMConnect = async () => {
|
|
17
|
+
const identityCheckPassed = await isWalletInstalledAsync(connector.id);
|
|
18
|
+
if (!identityCheckPassed) {
|
|
19
|
+
onNotInstalled(connector);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (connectedConnector) {
|
|
23
|
+
await disconnectAsync({ connector: connectedConnector });
|
|
24
|
+
}
|
|
25
|
+
await connectAsync({ connector }, {
|
|
26
|
+
onSuccess(data) {
|
|
27
|
+
emitter.emit(WidgetEvent.WalletConnected, {
|
|
28
|
+
address: data.accounts[0],
|
|
29
|
+
chainId: data.chainId,
|
|
30
|
+
chainType: ChainType.EVM,
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
navigateBack();
|
|
35
|
+
};
|
|
36
|
+
const connectorName = connector.displayName || connector.name;
|
|
37
|
+
return (_jsxs(ListItemButton, { onClick: handleEVMConnect, children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: getConnectorIcon(connector), alt: connectorName, children: connectorName?.[0] }) }), _jsx(ListItemText, { primary: connectorName })] }, connector.id));
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=EVMListItemButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EVMListItemButton.js","sourceRoot":"","sources":["../../../pages/SelectWalletPage/EVMListItemButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,kBAAkB,EAClB,SAAS,EACT,cAAc,GACS,EAAE,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE,CAAC;IAE5C,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CACrD,SAAuB,CAAC,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,cAAc,CAAC,SAAsB,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,YAAY,CAChB,EAAE,SAAS,EAAE,EACb;YACE,SAAS,CAAC,IAAI;gBACZ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;oBACxC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,SAAS,CAAC,GAAG;iBACzB,CAAC,CAAC;YACL,CAAC;SACF,CACF,CAAC;QACF,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAChB,SAAuC,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;IAEzE,OAAO,CACL,MAAC,cAAc,IAAoB,OAAO,EAAE,gBAAgB,aAC1D,KAAC,cAAc,cACb,KAAC,MAAM,IACL,GAAG,EAAE,gBAAgB,CAAC,SAAsB,CAAC,EAC7C,GAAG,EAAE,aAAa,YAEjB,aAAa,EAAE,CAAC,CAAC,CAAC,GACZ,GACM,EACjB,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,GAAI,KATrB,SAAS,CAAC,EAAE,CAUhB,CAClB,CAAC;AACJ,CAAC,CAAC"}
|