@lifi/widget 3.40.8 → 4.0.0-alpha.1
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/CHANGELOG.md +0 -50
- package/dist/esm/AppDefault.d.ts +8 -0
- package/dist/esm/AppDefault.js +231 -14
- package/dist/esm/AppDefault.js.map +1 -1
- package/dist/esm/AppLayout.d.ts +1 -0
- package/dist/esm/AppLayout.js +19 -0
- package/dist/esm/AppLayout.js.map +1 -0
- package/dist/esm/AppProvider.js +7 -20
- package/dist/esm/AppProvider.js.map +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +9 -6
- package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactions.js +2 -2
- package/dist/esm/components/ActiveTransactions/ActiveTransactions.js.map +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
- package/dist/esm/components/AmountInput/AmountInput.js +5 -7
- package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
- package/dist/esm/components/AmountInput/AmountInput.style.d.ts +2 -2
- package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +1 -1
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +1 -1
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +1 -1
- package/dist/esm/components/AppContainer.d.ts +1 -1
- package/dist/esm/components/Avatar/AccountAvatar.d.ts +1 -1
- package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.style.d.ts +1 -1
- package/dist/esm/components/Avatar/SmallAvatar.d.ts +1 -1
- package/dist/esm/components/ButtonTertiary.d.ts +1 -1
- package/dist/esm/components/Card/Card.d.ts +1 -1
- package/dist/esm/components/Card/CardButton.style.d.ts +2 -2
- package/dist/esm/components/Card/CardHeader.d.ts +1 -1
- package/dist/esm/components/Card/CardIconButton.d.ts +3 -3
- package/dist/esm/components/Card/CardLabel.d.ts +1 -1
- package/dist/esm/components/Card/CardTitle.d.ts +1 -1
- package/dist/esm/components/Card/InputCard.d.ts +1 -1
- package/dist/esm/components/ChainSelect/ChainSelect.js +8 -3
- package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
- package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +3 -3
- package/dist/esm/components/Chains/ChainList.style.d.ts +4 -4
- package/dist/esm/components/Chains/VirtualizedChainList.d.ts +1 -1
- package/dist/esm/components/Chains/VirtualizedChainList.js +7 -1
- package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts +1 -1
- package/dist/esm/components/ContractComponent/ItemPrice.js +1 -1
- package/dist/esm/components/ContractComponent/ItemPrice.js.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.js +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.js.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.style.d.ts +1 -1
- package/dist/esm/components/Header/BackButton.d.ts +1 -2
- package/dist/esm/components/Header/BackButton.js +16 -2
- package/dist/esm/components/Header/BackButton.js.map +1 -1
- package/dist/esm/components/Header/DisconnectIconButton.d.ts +1 -1
- package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -1
- package/dist/esm/components/Header/Header.js +1 -1
- package/dist/esm/components/Header/Header.js.map +1 -1
- package/dist/esm/components/Header/Header.style.d.ts +3 -3
- package/dist/esm/components/Header/NavigationHeader.js +7 -13
- package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
- package/dist/esm/components/Header/SettingsButton.js +3 -3
- package/dist/esm/components/Header/SettingsButton.js.map +1 -1
- package/dist/esm/components/Header/SettingsButton.style.d.ts +2 -2
- package/dist/esm/components/Header/TransactionHistoryButton.js +3 -3
- package/dist/esm/components/Header/TransactionHistoryButton.js.map +1 -1
- package/dist/esm/components/Header/WalletHeader.js.map +1 -1
- package/dist/esm/components/ListItem/ListItem.d.ts +1 -1
- package/dist/esm/components/ListItem/ListItemButton.d.ts +1 -1
- package/dist/esm/components/ListItemButton.d.ts +1 -1
- package/dist/esm/components/Messages/GasSufficiencyMessage.js +1 -1
- package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -1
- package/dist/esm/components/PageContainer.d.ts +1 -1
- package/dist/esm/components/PageEntered.js +1 -1
- package/dist/esm/components/PageEntered.js.map +1 -1
- package/dist/esm/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +0 -9
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
- package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
- package/dist/esm/components/RouteCard/RouteCard.js +1 -3
- package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
- package/dist/esm/components/Routes/Routes.js +3 -4
- package/dist/esm/components/Routes/Routes.js.map +1 -1
- package/dist/esm/components/Routes/RoutesContent.js +1 -2
- package/dist/esm/components/Routes/RoutesContent.js.map +1 -1
- package/dist/esm/components/Routes/RoutesExpanded.js +4 -3
- package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
- package/dist/esm/components/Routes/RoutesExpanded.style.d.ts +1 -1
- package/dist/esm/components/Search/SearchInput.style.d.ts +1 -1
- package/dist/esm/components/Search/SearchNotFound.style.d.ts +2 -2
- package/dist/esm/components/SelectChainAndToken.js +2 -3
- package/dist/esm/components/SelectChainAndToken.js.map +1 -1
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.js +10 -10
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +3 -3
- package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -1
- package/dist/esm/components/SendToWallet/SendToWalletButton.js +10 -8
- package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/dist/esm/components/SettingsListItemButton.d.ts +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +4 -4
- package/dist/esm/components/Step/CircularProgress.d.ts +3 -3
- package/dist/esm/components/Step/CircularProgress.js +8 -8
- package/dist/esm/components/Step/CircularProgress.js.map +1 -1
- package/dist/esm/components/Step/CircularProgress.style.d.ts +2 -2
- package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
- package/dist/esm/components/Step/Step.js +8 -11
- package/dist/esm/components/Step/Step.js.map +1 -1
- package/dist/esm/components/Step/StepAction.d.ts +5 -0
- package/dist/esm/components/Step/{StepProcess.js → StepAction.js} +16 -12
- package/dist/esm/components/Step/StepAction.js.map +1 -0
- package/dist/esm/components/StepActions/StepActions.js +3 -2
- package/dist/esm/components/StepActions/StepActions.js.map +1 -1
- package/dist/esm/components/StepActions/StepActions.style.d.ts +2 -2
- package/dist/esm/components/StepDivider/StepDivider.style.d.ts +1 -1
- package/dist/esm/components/Tabs/NavigationTabs.d.ts +4 -4
- package/dist/esm/components/Tabs/Tabs.style.d.ts +3 -3
- package/dist/esm/components/Timer/StepTimer.js +26 -74
- package/dist/esm/components/Timer/StepTimer.js.map +1 -1
- package/dist/esm/components/Token/Token.style.d.ts +1 -1
- package/dist/esm/components/TokenList/PinTokenButton.d.ts +6 -0
- package/dist/esm/components/TokenList/PinTokenButton.js +29 -0
- package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -0
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.d.ts +2 -2
- package/dist/esm/components/TokenList/TokenList.js +13 -5
- package/dist/esm/components/TokenList/TokenList.js.map +1 -1
- package/dist/esm/components/TokenList/TokenList.style.d.ts +6 -6
- package/dist/esm/components/TokenList/TokenListItem.js +5 -4
- package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
- package/dist/esm/components/TokenList/VirtualizedTokenList.js +63 -38
- package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/dist/esm/components/TokenList/types.d.ts +2 -3
- package/dist/esm/components/TokenList/useTokenSelect.js +2 -3
- package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
- package/dist/esm/components/TokenRate/TokenRate.d.ts +1 -1
- package/dist/esm/components/TokenRate/TokenRate.js +1 -1
- package/dist/esm/components/TokenRate/TokenRate.js.map +1 -1
- package/dist/esm/components/TokenRate/TokenRate.style.d.ts +1 -1
- package/dist/esm/components/TransactionDetails.js +3 -2
- package/dist/esm/components/TransactionDetails.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/config/version.js.map +1 -1
- package/dist/esm/hooks/useActionMessage.d.ts +5 -0
- package/dist/esm/hooks/useActionMessage.js +18 -0
- package/dist/esm/hooks/useActionMessage.js.map +1 -0
- package/dist/esm/hooks/useAddressActivity.js +18 -9
- package/dist/esm/hooks/useAddressActivity.js.map +1 -1
- package/dist/esm/hooks/useAddressValidation.js +5 -2
- package/dist/esm/hooks/useAddressValidation.js.map +1 -1
- package/dist/esm/hooks/useAvailableChains.d.ts +2 -1
- package/dist/esm/hooks/useAvailableChains.js +32 -11
- package/dist/esm/hooks/useAvailableChains.js.map +1 -1
- package/dist/esm/hooks/useExplorer.js +1 -2
- package/dist/esm/hooks/useExplorer.js.map +1 -1
- package/dist/esm/hooks/useFilteredByTokenBalances.js +3 -1
- package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useFromTokenSufficiency.d.ts +1 -1
- package/dist/esm/hooks/useFromTokenSufficiency.js +4 -4
- package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -1
- package/dist/esm/hooks/useGasRecommendation.js +3 -1
- package/dist/esm/hooks/useGasRecommendation.js.map +1 -1
- package/dist/esm/hooks/useGasSufficiency.js +21 -15
- package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
- package/dist/esm/hooks/useHasChainExpansion.d.ts +1 -1
- package/dist/esm/hooks/useHasChainExpansion.js +11 -3
- package/dist/esm/hooks/useHasChainExpansion.js.map +1 -1
- package/dist/esm/hooks/useInitializeSDKProviders.d.ts +1 -0
- package/dist/esm/hooks/useInitializeSDKProviders.js +11 -0
- package/dist/esm/hooks/useInitializeSDKProviders.js.map +1 -0
- package/dist/esm/hooks/useIsBatchingSupported.js +7 -3
- package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -1
- package/dist/esm/hooks/useIsContractAddress.js +12 -9
- package/dist/esm/hooks/useIsContractAddress.js.map +1 -1
- package/dist/esm/hooks/useNavigateBack.d.ts +1 -4
- package/dist/esm/hooks/useNavigateBack.js +9 -23
- package/dist/esm/hooks/useNavigateBack.js.map +1 -1
- package/dist/esm/hooks/useRouteExecution.js +12 -13
- package/dist/esm/hooks/useRouteExecution.js.map +1 -1
- package/dist/esm/hooks/useRoutes.js +23 -60
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/hooks/useToAddressAutoPopulate.js +3 -1
- package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -1
- package/dist/esm/hooks/useToAddressRequirements.js +3 -2
- package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
- package/dist/esm/hooks/useTokenBalance.d.ts +3 -3
- package/dist/esm/hooks/useTokenBalance.js +8 -6
- package/dist/esm/hooks/useTokenBalance.js.map +1 -1
- package/dist/esm/hooks/useTokenBalances.d.ts +1 -0
- package/dist/esm/hooks/useTokenBalances.js +70 -5
- package/dist/esm/hooks/useTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useTokenBalancesQueries.js +4 -2
- package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -1
- package/dist/esm/hooks/useTokenSearch.js +3 -1
- package/dist/esm/hooks/useTokenSearch.js.map +1 -1
- package/dist/esm/hooks/useTokens.js +11 -5
- package/dist/esm/hooks/useTokens.js.map +1 -1
- package/dist/esm/hooks/useTools.js +3 -1
- package/dist/esm/hooks/useTools.js.map +1 -1
- package/dist/esm/hooks/useTransactionDetails.js +3 -1
- package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
- package/dist/esm/hooks/useTransactionHistory.js +3 -1
- package/dist/esm/hooks/useTransactionHistory.js.map +1 -1
- package/dist/esm/hooks/useWidgetChains.d.ts +6 -0
- package/dist/esm/hooks/useWidgetChains.js +5 -0
- package/dist/esm/hooks/useWidgetChains.js.map +1 -0
- package/dist/esm/i18n/bn.json +4 -1
- package/dist/esm/i18n/de.json +4 -1
- package/dist/esm/i18n/en.json +3 -14
- package/dist/esm/i18n/es.json +4 -1
- package/dist/esm/i18n/fr.json +4 -1
- package/dist/esm/i18n/hi.json +4 -1
- package/dist/esm/i18n/id.json +4 -1
- package/dist/esm/i18n/it.json +4 -1
- package/dist/esm/i18n/ja.json +4 -1
- package/dist/esm/i18n/ko.json +4 -1
- package/dist/esm/i18n/pl.json +4 -1
- package/dist/esm/i18n/pt.json +4 -1
- package/dist/esm/i18n/th.json +4 -1
- package/dist/esm/i18n/tr.json +4 -1
- package/dist/esm/i18n/uk.json +4 -1
- package/dist/esm/i18n/vi.json +4 -1
- package/dist/esm/i18n/zh.json +4 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pages/LanguagesPage.js +7 -6
- package/dist/esm/pages/LanguagesPage.js.map +1 -1
- package/dist/esm/pages/MainPage/MainPage.js +1 -3
- package/dist/esm/pages/MainPage/MainPage.js.map +1 -1
- package/dist/esm/pages/MainPage/ReviewButton.js +5 -5
- package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -1
- package/dist/esm/pages/RoutesPage/RoutesPage.d.ts +1 -2
- package/dist/esm/pages/RoutesPage/RoutesPage.js +5 -4
- package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/dist/esm/pages/SelectChainPage/SelectChainPage.js +1 -1
- package/dist/esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
- package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +2 -13
- package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/BookmarksPage.js +3 -5
- package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +1 -1
- package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
- package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +4 -3
- package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +4 -7
- package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +1 -1
- package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.d.ts +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js +5 -5
- package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +8 -8
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +4 -2
- package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/LanguageSetting.js +2 -2
- package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.d.ts +12 -2
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +10 -4
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.d.ts +1 -1
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +2 -2
- package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SettingsPage.js +5 -1
- package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +3 -3
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +3 -3
- package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +9 -9
- package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.d.ts +1 -0
- package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js +58 -0
- package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +7 -8
- package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
- package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryItem.js +4 -3
- package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
- package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.d.ts +1 -2
- package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
- package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +13 -12
- package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.d.ts +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js +13 -6
- package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
- package/dist/esm/providers/I18nProvider/I18nProvider.js +1 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
- package/dist/esm/providers/SDKClientProvider.d.ts +4 -0
- package/dist/esm/providers/SDKClientProvider.js +29 -0
- package/dist/esm/providers/SDKClientProvider.js.map +1 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +7 -2
- package/dist/esm/providers/WalletProvider/WalletProvider.js +27 -11
- package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
- package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +15 -18
- package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js.map +1 -1
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js +0 -27
- package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
- package/dist/esm/stores/StoreProvider.js +2 -1
- package/dist/esm/stores/StoreProvider.js.map +1 -1
- package/dist/esm/stores/bookmarks/types.d.ts +2 -3
- package/dist/esm/stores/chains/ChainOrderStore.js +17 -12
- package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
- package/dist/esm/stores/chains/createChainOrderStore.d.ts +0 -8
- package/dist/esm/stores/chains/createChainOrderStore.js +1 -5
- package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
- package/dist/esm/stores/form/FormStore.js +18 -8
- package/dist/esm/stores/form/FormStore.js.map +1 -1
- package/dist/esm/stores/form/FormUpdater.js +5 -50
- package/dist/esm/stores/form/FormUpdater.js.map +1 -1
- package/dist/esm/stores/form/URLSearchParamsBuilder.js +11 -31
- package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
- package/dist/esm/stores/form/getDefaultValuesFromQueryString.d.ts +7 -0
- package/dist/esm/stores/form/getDefaultValuesFromQueryString.js +32 -0
- package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -0
- package/dist/esm/stores/form/types.d.ts +2 -3
- package/dist/esm/stores/form/types.js.map +1 -1
- package/dist/esm/stores/header/types.d.ts +5 -3
- package/dist/esm/stores/header/useHeaderStore.js +14 -0
- package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.d.ts +4 -0
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +20 -0
- package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -0
- package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.d.ts +19 -0
- package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js +61 -0
- package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -0
- package/dist/esm/stores/pinnedTokens/types.d.ts +17 -0
- package/dist/esm/stores/pinnedTokens/types.js +2 -0
- package/dist/esm/stores/pinnedTokens/types.js.map +1 -0
- package/dist/esm/stores/routes/RouteExecutionStore.d.ts +2 -3
- package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
- package/dist/esm/stores/routes/createRouteExecutionStore.js +2 -5
- package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
- package/dist/esm/stores/routes/useExecutingRoutesIds.js +2 -2
- package/dist/esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
- package/dist/esm/stores/routes/utils.d.ts +2 -2
- package/dist/esm/stores/routes/utils.js +15 -15
- package/dist/esm/stores/routes/utils.js.map +1 -1
- package/dist/esm/stores/settings/SettingsStore.d.ts +2 -3
- package/dist/esm/stores/settings/SettingsStore.js.map +1 -1
- package/dist/esm/stores/settings/createSettingsStore.d.ts +2 -0
- package/dist/esm/stores/settings/createSettingsStore.js +2 -1
- package/dist/esm/stores/settings/createSettingsStore.js.map +1 -1
- package/dist/esm/stores/settings/types.d.ts +3 -3
- package/dist/esm/stores/settings/types.js.map +1 -1
- package/dist/esm/types/events.d.ts +2 -10
- package/dist/esm/types/events.js +0 -1
- package/dist/esm/types/events.js.map +1 -1
- package/dist/esm/types/token.d.ts +1 -0
- package/dist/esm/types/widget.d.ts +9 -16
- package/dist/esm/types/widget.js +1 -0
- package/dist/esm/types/widget.js.map +1 -1
- package/dist/esm/utils/chainType.d.ts +1 -2
- package/dist/esm/utils/chainType.js +1 -19
- package/dist/esm/utils/chainType.js.map +1 -1
- package/dist/esm/utils/converters.js +11 -18
- package/dist/esm/utils/converters.js.map +1 -1
- package/dist/esm/utils/format.d.ts +1 -0
- package/dist/esm/utils/format.js +2 -1
- package/dist/esm/utils/format.js.map +1 -1
- package/dist/esm/utils/getActionMessage.d.ts +7 -0
- package/dist/esm/utils/getActionMessage.js +111 -0
- package/dist/esm/utils/getActionMessage.js.map +1 -0
- package/dist/esm/utils/getErrorMessage.d.ts +6 -0
- package/dist/esm/utils/getErrorMessage.js +118 -0
- package/dist/esm/utils/getErrorMessage.js.map +1 -0
- package/dist/esm/utils/prepareActions.d.ts +2 -0
- package/dist/esm/utils/prepareActions.js +24 -0
- package/dist/esm/utils/prepareActions.js.map +1 -0
- package/dist/esm/utils/tokenList.d.ts +3 -2
- package/dist/esm/utils/tokenList.js +104 -8
- package/dist/esm/utils/tokenList.js.map +1 -1
- package/package.json +15 -23
- package/package.json.tmp +16 -28
- package/src/AppDefault.tsx +279 -31
- package/src/AppLayout.tsx +36 -0
- package/src/AppProvider.tsx +12 -40
- package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +9 -6
- package/src/components/ActiveTransactions/ActiveTransactions.tsx +2 -2
- package/src/components/AmountInput/AmountInput.tsx +6 -8
- package/src/components/AmountInput/AmountInputEndAdornment.tsx +1 -1
- package/src/components/Avatar/AccountAvatar.tsx +1 -1
- package/src/components/ChainSelect/ChainSelect.tsx +8 -4
- package/src/components/Chains/VirtualizedChainList.tsx +7 -3
- package/src/components/ContractComponent/ItemPrice.tsx +1 -2
- package/src/components/ContractComponent/NFT/NFT.tsx +1 -1
- package/src/components/Header/BackButton.tsx +15 -3
- package/src/components/Header/DisconnectIconButton.tsx +2 -1
- package/src/components/Header/Header.tsx +1 -1
- package/src/components/Header/NavigationHeader.tsx +23 -46
- package/src/components/Header/SettingsButton.tsx +3 -3
- package/src/components/Header/TransactionHistoryButton.tsx +3 -3
- package/src/components/Header/WalletHeader.tsx +1 -1
- package/src/components/Messages/GasSufficiencyMessage.tsx +1 -1
- package/src/components/PageEntered.ts +1 -1
- package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +0 -10
- package/src/components/RouteCard/RouteCard.tsx +1 -3
- package/src/components/Routes/Routes.tsx +3 -4
- package/src/components/Routes/RoutesContent.tsx +1 -2
- package/src/components/Routes/RoutesExpanded.tsx +4 -3
- package/src/components/SelectChainAndToken.tsx +2 -4
- package/src/components/SelectTokenButton/SelectTokenButton.tsx +11 -13
- package/src/components/SendToWallet/SendToWalletButton.tsx +9 -12
- package/src/components/Step/CircularProgress.style.tsx +3 -3
- package/src/components/Step/CircularProgress.tsx +11 -11
- package/src/components/Step/Step.tsx +13 -14
- package/src/components/Step/{StepProcess.tsx → StepAction.tsx} +20 -15
- package/src/components/StepActions/StepActions.tsx +3 -2
- package/src/components/Timer/StepTimer.tsx +43 -105
- package/src/components/TokenList/PinTokenButton.tsx +50 -0
- package/src/components/TokenList/TokenList.tsx +67 -59
- package/src/components/TokenList/TokenListItem.tsx +20 -11
- package/src/components/TokenList/VirtualizedTokenList.tsx +80 -53
- package/src/components/TokenList/types.ts +2 -3
- package/src/components/TokenList/useTokenSelect.ts +2 -8
- package/src/components/TokenRate/TokenRate.tsx +1 -2
- package/src/components/TransactionDetails.tsx +3 -2
- package/src/config/version.ts +1 -1
- package/src/hooks/useActionMessage.ts +33 -0
- package/src/hooks/useAddressActivity.ts +19 -11
- package/src/hooks/useAddressValidation.ts +9 -2
- package/src/hooks/useAvailableChains.ts +42 -14
- package/src/hooks/useExplorer.ts +1 -2
- package/src/hooks/useFilteredByTokenBalances.ts +3 -1
- package/src/hooks/useFromTokenSufficiency.ts +8 -5
- package/src/hooks/useGasRecommendation.ts +3 -0
- package/src/hooks/useGasSufficiency.ts +23 -13
- package/src/hooks/useHasChainExpansion.ts +13 -3
- package/src/hooks/useInitializeSDKProviders.ts +12 -0
- package/src/hooks/useIsBatchingSupported.ts +11 -5
- package/src/hooks/useIsContractAddress.ts +14 -10
- package/src/hooks/useNavigateBack.ts +11 -29
- package/src/hooks/useRouteExecution.ts +12 -16
- package/src/hooks/useRoutes.ts +26 -74
- package/src/hooks/useToAddressAutoPopulate.ts +3 -1
- package/src/hooks/useToAddressRequirements.ts +3 -2
- package/src/hooks/useTokenBalance.ts +18 -3
- package/src/hooks/useTokenBalances.ts +91 -5
- package/src/hooks/useTokenBalancesQueries.ts +4 -2
- package/src/hooks/useTokenSearch.ts +10 -3
- package/src/hooks/useTokens.ts +11 -6
- package/src/hooks/useTools.ts +3 -1
- package/src/hooks/useTransactionDetails.ts +3 -0
- package/src/hooks/useTransactionHistory.ts +3 -0
- package/src/hooks/useWidgetChains.ts +6 -0
- package/src/i18n/bn.json +4 -1
- package/src/i18n/de.json +4 -1
- package/src/i18n/en.json +3 -14
- package/src/i18n/es.json +4 -1
- package/src/i18n/fr.json +4 -1
- package/src/i18n/hi.json +4 -1
- package/src/i18n/id.json +4 -1
- package/src/i18n/it.json +4 -1
- package/src/i18n/ja.json +4 -1
- package/src/i18n/ko.json +4 -1
- package/src/i18n/pl.json +4 -1
- package/src/i18n/pt.json +4 -1
- package/src/i18n/th.json +4 -1
- package/src/i18n/tr.json +4 -1
- package/src/i18n/uk.json +4 -1
- package/src/i18n/vi.json +4 -1
- package/src/i18n/zh.json +4 -1
- package/src/index.ts +2 -8
- package/src/pages/LanguagesPage.tsx +2 -1
- package/src/pages/MainPage/MainPage.tsx +1 -3
- package/src/pages/MainPage/ReviewButton.tsx +5 -5
- package/src/pages/RoutesPage/RoutesPage.tsx +6 -6
- package/src/pages/SelectChainPage/SelectChainPage.tsx +1 -1
- package/src/pages/SelectTokenPage/SelectTokenPage.tsx +4 -28
- package/src/pages/SendToWallet/BookmarksPage.tsx +3 -5
- package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +1 -1
- package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +5 -4
- package/src/pages/SendToWallet/RecentWalletsPage.tsx +4 -7
- package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +1 -1
- package/src/pages/SendToWallet/SendToWalletPage.tsx +6 -6
- package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +4 -2
- package/src/pages/SettingsPage/LanguageSetting.tsx +2 -2
- package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +63 -33
- package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +3 -2
- package/src/pages/SettingsPage/SettingsPage.tsx +7 -0
- package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +10 -10
- package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +5 -5
- package/src/pages/SettingsPage/SmallBalanceFilterSettings.tsx +116 -0
- package/src/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +7 -8
- package/src/pages/TransactionHistoryPage/TransactionHistoryItem.tsx +4 -3
- package/src/pages/TransactionHistoryPage/TransactionHistoryPage.tsx +1 -2
- package/src/pages/TransactionPage/StatusBottomSheet.tsx +15 -14
- package/src/pages/TransactionPage/TransactionPage.tsx +14 -7
- package/src/providers/I18nProvider/I18nProvider.tsx +1 -0
- package/src/providers/SDKClientProvider.tsx +41 -0
- package/src/providers/WalletProvider/WalletProvider.tsx +61 -20
- package/src/providers/WalletProvider/useExternalWalletProvider.ts +20 -18
- package/src/providers/WidgetProvider/WidgetProvider.tsx +0 -29
- package/src/stores/StoreProvider.tsx +10 -7
- package/src/stores/bookmarks/types.ts +2 -3
- package/src/stores/chains/ChainOrderStore.tsx +29 -16
- package/src/stores/chains/createChainOrderStore.ts +1 -5
- package/src/stores/form/FormStore.tsx +19 -18
- package/src/stores/form/FormUpdater.tsx +5 -73
- package/src/stores/form/URLSearchParamsBuilder.tsx +12 -39
- package/src/stores/form/getDefaultValuesFromQueryString.ts +48 -0
- package/src/stores/form/types.ts +2 -5
- package/src/stores/header/types.ts +5 -3
- package/src/stores/header/useHeaderStore.tsx +14 -0
- package/src/stores/pinnedTokens/PinnedTokensStore.tsx +38 -0
- package/src/stores/pinnedTokens/createPinnedTokensStore.ts +71 -0
- package/src/stores/pinnedTokens/types.ts +20 -0
- package/src/stores/routes/RouteExecutionStore.tsx +2 -5
- package/src/stores/routes/createRouteExecutionStore.ts +4 -5
- package/src/stores/routes/useExecutingRoutesIds.ts +2 -2
- package/src/stores/routes/utils.ts +21 -19
- package/src/stores/settings/SettingsStore.tsx +2 -3
- package/src/stores/settings/createSettingsStore.ts +2 -1
- package/src/stores/settings/types.ts +3 -5
- package/src/types/events.ts +2 -11
- package/src/types/token.ts +1 -0
- package/src/types/widget.ts +18 -26
- package/src/utils/chainType.ts +1 -24
- package/src/utils/converters.ts +14 -20
- package/src/utils/format.ts +3 -1
- package/src/utils/getActionMessage.ts +168 -0
- package/src/utils/getErrorMessage.ts +144 -0
- package/src/utils/prepareActions.ts +27 -0
- package/src/utils/tokenList.ts +117 -11
- package/dist/esm/AppRoutes.d.ts +0 -1
- package/dist/esm/AppRoutes.js +0 -111
- package/dist/esm/AppRoutes.js.map +0 -1
- package/dist/esm/components/Step/StepProcess.d.ts +0 -5
- package/dist/esm/components/Step/StepProcess.js.map +0 -1
- package/dist/esm/config/baseAccount.d.ts +0 -2
- package/dist/esm/config/baseAccount.js +0 -6
- package/dist/esm/config/baseAccount.js.map +0 -1
- package/dist/esm/config/coinbase.d.ts +0 -2
- package/dist/esm/config/coinbase.js +0 -6
- package/dist/esm/config/coinbase.js.map +0 -1
- package/dist/esm/config/metaMask.d.ts +0 -2
- package/dist/esm/config/metaMask.js +0 -11
- package/dist/esm/config/metaMask.js.map +0 -1
- package/dist/esm/config/walletConnect.d.ts +0 -2
- package/dist/esm/config/walletConnect.js +0 -4
- package/dist/esm/config/walletConnect.js.map +0 -1
- package/dist/esm/hooks/useExpansionRoutes.d.ts +0 -2
- package/dist/esm/hooks/useExpansionRoutes.js +0 -26
- package/dist/esm/hooks/useExpansionRoutes.js.map +0 -1
- package/dist/esm/hooks/useInternalWalletProvider.d.ts +0 -1
- package/dist/esm/hooks/useInternalWalletProvider.js +0 -6
- package/dist/esm/hooks/useInternalWalletProvider.js.map +0 -1
- package/dist/esm/hooks/useProcessMessage.d.ts +0 -11
- package/dist/esm/hooks/useProcessMessage.js +0 -199
- package/dist/esm/hooks/useProcessMessage.js.map +0 -1
- package/dist/esm/providers/WalletProvider/EVMBaseProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/EVMBaseProvider.js +0 -31
- package/dist/esm/providers/WalletProvider/EVMBaseProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/EVMExternalContext.d.ts +0 -1
- package/dist/esm/providers/WalletProvider/EVMExternalContext.js +0 -3
- package/dist/esm/providers/WalletProvider/EVMExternalContext.js.map +0 -1
- package/dist/esm/providers/WalletProvider/EVMProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/EVMProvider.js +0 -20
- package/dist/esm/providers/WalletProvider/EVMProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SDKProviders.d.ts +0 -1
- package/dist/esm/providers/WalletProvider/SDKProviders.js +0 -62
- package/dist/esm/providers/WalletProvider/SDKProviders.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SVMBaseProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/SVMBaseProvider.js +0 -27
- package/dist/esm/providers/WalletProvider/SVMBaseProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SVMExternalContext.d.ts +0 -1
- package/dist/esm/providers/WalletProvider/SVMExternalContext.js +0 -3
- package/dist/esm/providers/WalletProvider/SVMExternalContext.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SVMProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/SVMProvider.js +0 -20
- package/dist/esm/providers/WalletProvider/SVMProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SuiBaseProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/SuiBaseProvider.js +0 -17
- package/dist/esm/providers/WalletProvider/SuiBaseProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SuiExternalContext.d.ts +0 -1
- package/dist/esm/providers/WalletProvider/SuiExternalContext.js +0 -3
- package/dist/esm/providers/WalletProvider/SuiExternalContext.js.map +0 -1
- package/dist/esm/providers/WalletProvider/SuiProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/SuiProvider.js +0 -20
- package/dist/esm/providers/WalletProvider/SuiProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/UTXOBaseProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js +0 -18
- package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js.map +0 -1
- package/dist/esm/providers/WalletProvider/UTXOExternalContext.d.ts +0 -1
- package/dist/esm/providers/WalletProvider/UTXOExternalContext.js +0 -3
- package/dist/esm/providers/WalletProvider/UTXOExternalContext.js.map +0 -1
- package/dist/esm/providers/WalletProvider/UTXOProvider.d.ts +0 -2
- package/dist/esm/providers/WalletProvider/UTXOProvider.js +0 -20
- package/dist/esm/providers/WalletProvider/UTXOProvider.js.map +0 -1
- package/src/AppRoutes.tsx +0 -112
- package/src/config/baseAccount.ts +0 -7
- package/src/config/coinbase.ts +0 -7
- package/src/config/metaMask.ts +0 -13
- package/src/config/walletConnect.ts +0 -5
- package/src/hooks/useExpansionRoutes.ts +0 -29
- package/src/hooks/useInternalWalletProvider.ts +0 -6
- package/src/hooks/useProcessMessage.ts +0 -273
- package/src/providers/WalletProvider/EVMBaseProvider.tsx +0 -41
- package/src/providers/WalletProvider/EVMExternalContext.ts +0 -3
- package/src/providers/WalletProvider/EVMProvider.tsx +0 -28
- package/src/providers/WalletProvider/SDKProviders.tsx +0 -86
- package/src/providers/WalletProvider/SVMBaseProvider.tsx +0 -37
- package/src/providers/WalletProvider/SVMExternalContext.ts +0 -3
- package/src/providers/WalletProvider/SVMProvider.tsx +0 -29
- package/src/providers/WalletProvider/SuiBaseProvider.tsx +0 -31
- package/src/providers/WalletProvider/SuiExternalContext.ts +0 -3
- package/src/providers/WalletProvider/SuiProvider.tsx +0 -28
- package/src/providers/WalletProvider/UTXOBaseProvider.tsx +0 -29
- package/src/providers/WalletProvider/UTXOExternalContext.ts +0 -3
- package/src/providers/WalletProvider/UTXOProvider.tsx +0 -28
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useTranslation } from 'react-i18next';
|
|
2
|
+
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
3
|
+
import { getActionMessage } from '../utils/getActionMessage.js';
|
|
4
|
+
import { getErrorMessage } from '../utils/getErrorMessage.js';
|
|
5
|
+
import { useAvailableChains } from './useAvailableChains.js';
|
|
6
|
+
export const useActionMessage = (step, action) => {
|
|
7
|
+
const { subvariant, subvariantOptions } = useWidgetConfig();
|
|
8
|
+
const { t } = useTranslation();
|
|
9
|
+
const { getChainById } = useAvailableChains();
|
|
10
|
+
if (!step || !action) {
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
13
|
+
if (action.status === 'FAILED') {
|
|
14
|
+
return getErrorMessage(t, getChainById, step, action);
|
|
15
|
+
}
|
|
16
|
+
return getActionMessage(t, step, action.type, action.status, action.substatus, subvariant, subvariantOptions);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=useActionMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useActionMessage.js","sourceRoot":"","sources":["../../../src/hooks/useActionMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAuB,EACvB,MAAwB,EACxB,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7C,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,gBAAgB,CACrB,CAAC,EACD,IAAI,EACJ,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,SAAS,EAChB,UAAU,EACV,iBAAiB,CAClB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ChainType } from '@lifi/sdk';
|
|
2
|
+
import { useEthereumContext } from '@lifi/widget-provider';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
4
|
import { useFieldValues } from '../stores/form/useFieldValues.js';
|
|
5
|
+
import { useAvailableChains } from './useAvailableChains.js';
|
|
4
6
|
export const useAddressActivity = (chainId) => {
|
|
7
|
+
const { getChainById } = useAvailableChains();
|
|
5
8
|
const [toAddress, toChainId] = useFieldValues('toAddress', 'toChain');
|
|
9
|
+
const { getTransactionCount } = useEthereumContext();
|
|
6
10
|
const destinationChainId = chainId ?? toChainId;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
staleTime: 300000,
|
|
11
|
+
const toChain = getChainById(destinationChainId);
|
|
12
|
+
const { data: transactionCount, isLoading, isFetched, error, } = useQuery({
|
|
13
|
+
queryKey: ['getTransactionCount', toAddress, destinationChainId],
|
|
14
|
+
queryFn: async () => {
|
|
15
|
+
const count = await getTransactionCount?.(destinationChainId, toAddress);
|
|
16
|
+
return count ?? null;
|
|
14
17
|
},
|
|
18
|
+
refetchInterval: 300000,
|
|
19
|
+
staleTime: 300000,
|
|
20
|
+
enabled: toChain?.chainType === ChainType.EVM &&
|
|
21
|
+
!!destinationChainId &&
|
|
22
|
+
!!toAddress &&
|
|
23
|
+
!!getTransactionCount,
|
|
15
24
|
});
|
|
16
25
|
return {
|
|
17
26
|
toAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAddressActivity.js","sourceRoot":"","sources":["../../../src/hooks/useAddressActivity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAddressActivity.js","sourceRoot":"","sources":["../../../src/hooks/useAddressActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAQ5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAAmB,EAAE;IACtE,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACrE,MAAM,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAEpD,MAAM,kBAAkB,GAAG,OAAO,IAAI,SAAS,CAAA;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAEhD,MAAM,EACJ,IAAI,EAAE,gBAAgB,EACtB,SAAS,EACT,SAAS,EACT,KAAK,GACN,GAAG,QAAQ,CAAC;QACX,QAAQ,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE,kBAAkB,CAAC;QAChE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,KAAK,GAAG,MAAM,mBAAmB,EAAE,CAAC,kBAAmB,EAAE,SAAU,CAAC,CAAA;YAC1E,OAAO,KAAK,IAAI,IAAI,CAAA;QACtB,CAAC;QACD,eAAe,EAAE,MAAO;QACxB,SAAS,EAAE,MAAO;QAClB,OAAO,EACL,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG;YACpC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mBAAmB;KACxB,CAAC,CAAA;IAEF,OAAO;QACL,SAAS;QACT,WAAW,EAAE,OAAO,CAAC,gBAAgB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAC9D,SAAS;QACT,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK;KAC/B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getNameServiceAddress } from '@lifi/sdk';
|
|
2
|
+
import { useChainTypeFromAddress } from '@lifi/widget-provider';
|
|
2
3
|
import { useMutation } from '@tanstack/react-query';
|
|
3
4
|
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import {
|
|
5
|
+
import { useSDKClient } from '../providers/SDKClientProvider';
|
|
5
6
|
export var AddressType;
|
|
6
7
|
(function (AddressType) {
|
|
7
8
|
AddressType[AddressType["Address"] = 0] = "Address";
|
|
@@ -9,6 +10,8 @@ export var AddressType;
|
|
|
9
10
|
})(AddressType || (AddressType = {}));
|
|
10
11
|
export const useAddressValidation = () => {
|
|
11
12
|
const { t } = useTranslation();
|
|
13
|
+
const { getChainTypeFromAddress } = useChainTypeFromAddress();
|
|
14
|
+
const sdkClient = useSDKClient();
|
|
12
15
|
const { mutateAsync: validateAddress, isPending: isValidating } = useMutation({
|
|
13
16
|
mutationFn: async ({ value, chainType, chain, }) => {
|
|
14
17
|
try {
|
|
@@ -24,7 +27,7 @@ export const useAddressValidation = () => {
|
|
|
24
27
|
isValid: true,
|
|
25
28
|
};
|
|
26
29
|
}
|
|
27
|
-
const address = await getNameServiceAddress(value, chainType);
|
|
30
|
+
const address = await getNameServiceAddress(sdkClient, value, chainType);
|
|
28
31
|
if (address) {
|
|
29
32
|
const _chainType = getChainTypeFromAddress(address);
|
|
30
33
|
if (_chainType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAddressValidation.js","sourceRoot":"","sources":["../../../src/hooks/useAddressValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useAddressValidation.js","sourceRoot":"","sources":["../../../src/hooks/useAddressValidation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAE7D,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,2DAAe,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAoBD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,uBAAuB,EAAE,GAAG,uBAAuB,EAAE,CAAA;IAC7D,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,WAAW,CAC3E;QACE,UAAU,EAAE,KAAK,EAAE,EACjB,KAAK,EACL,SAAS,EACT,KAAK,GACU,EAA4C,EAAE;YAC7D,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,EAAE,CAAA;gBACnB,CAAC;gBAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAA;gBACjD,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,WAAW,CAAC,OAAO;wBAChC,SAAS,EAAE,UAAU;wBACrB,OAAO,EAAE,IAAI;qBACd,CAAA;gBACH,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CACzC,SAAS,EACT,KAAK,EACL,SAAS,CACV,CAAA;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;oBACnD,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO;4BACL,OAAO,EAAE,OAAO;4BAChB,WAAW,EAAE,WAAW,CAAC,WAAW;4BACpC,SAAS,EAAE,UAAU;4BACrB,OAAO,EAAE,IAAI;yBACd,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,KAAK,EAAE,CAAA;YACnB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,CAAC,CACN,kCAAkC,EAClC,KAAK,EAAE,IAAI;wBACT,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE;wBAC7C,CAAC,CAAC,SAAS,CACd;iBACF,CAAA;YACH,CAAC;QACH,CAAC;KACF,CACF,CAAA;IAED,OAAO;QACL,eAAe;QACf,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { ExtendedChain } from '@lifi/sdk';
|
|
2
2
|
import { ChainType } from '@lifi/sdk';
|
|
3
|
+
import type { WidgetConfig } from '../types/widget.js';
|
|
3
4
|
type GetChainById = (chainId?: number, chains?: ExtendedChain[]) => ExtendedChain | undefined;
|
|
4
|
-
export declare const useAvailableChains: (chainTypes?: ChainType[]) => {
|
|
5
|
+
export declare const useAvailableChains: (chainTypes?: ChainType[], widgetConfig?: WidgetConfig) => {
|
|
5
6
|
chains: ExtendedChain[] | undefined;
|
|
6
7
|
getChainById: GetChainById;
|
|
7
8
|
isLoading: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ChainType,
|
|
1
|
+
import { ChainType, createClient, getChains } from '@lifi/sdk';
|
|
2
2
|
import { useQuery } from '@tanstack/react-query';
|
|
3
|
-
import { useCallback } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useMemo } from 'react';
|
|
4
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js';
|
|
4
5
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
5
6
|
import { getConfigItemSets, isItemAllowedForSets } from '../utils/item.js';
|
|
6
7
|
import { getQueryKey } from '../utils/queries.js';
|
|
@@ -10,33 +11,53 @@ const supportedChainTypes = [
|
|
|
10
11
|
ChainType.UTXO,
|
|
11
12
|
ChainType.MVM,
|
|
12
13
|
];
|
|
13
|
-
export const useAvailableChains = (chainTypes) => {
|
|
14
|
-
const { chains, keyPrefix } = useWidgetConfig();
|
|
15
|
-
|
|
14
|
+
export const useAvailableChains = (chainTypes, widgetConfig) => {
|
|
15
|
+
const { chains: internalChains, keyPrefix: internalKeyPrefix } = useWidgetConfig();
|
|
16
|
+
const internalClient = useSDKClient();
|
|
17
|
+
const externalClient = useMemo(() => {
|
|
18
|
+
if (!widgetConfig) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return createClient({
|
|
22
|
+
...widgetConfig.sdkConfig,
|
|
23
|
+
apiKey: widgetConfig.apiKey,
|
|
24
|
+
integrator: widgetConfig.integrator ?? window?.location.hostname,
|
|
25
|
+
});
|
|
26
|
+
}, [widgetConfig]);
|
|
27
|
+
// Overwrite widget config if passed as param
|
|
28
|
+
const keyPrefix = widgetConfig?.keyPrefix ?? internalKeyPrefix;
|
|
29
|
+
const chains = widgetConfig?.chains ?? internalChains;
|
|
16
30
|
const { data, isLoading } = useQuery({
|
|
17
31
|
queryKey: [
|
|
18
32
|
getQueryKey('chains', keyPrefix),
|
|
19
|
-
// providers,
|
|
20
33
|
chains?.types,
|
|
21
34
|
chains?.allow,
|
|
22
35
|
chains?.deny,
|
|
23
36
|
chains?.from,
|
|
24
37
|
chains?.to,
|
|
38
|
+
!!externalClient,
|
|
25
39
|
],
|
|
26
40
|
queryFn: async ({ queryKey: [, chainTypesConfig] }) => {
|
|
27
41
|
const chainsConfigSets = getConfigItemSets(chainTypesConfig, (chains) => new Set(chains));
|
|
28
|
-
const chainTypesRequest = supportedChainTypes
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const availableChains = await getChains({
|
|
42
|
+
const chainTypesRequest = supportedChainTypes.filter((chainType) => isItemAllowedForSets(chainType, chainsConfigSets));
|
|
43
|
+
const client = externalClient ?? internalClient;
|
|
44
|
+
const availableChains = await getChains(client, {
|
|
32
45
|
chainTypes: chainTypes || chainTypesRequest,
|
|
33
46
|
});
|
|
34
|
-
|
|
47
|
+
client.setChains(availableChains);
|
|
35
48
|
return availableChains;
|
|
36
49
|
},
|
|
37
50
|
refetchInterval: 300000,
|
|
38
51
|
staleTime: 300000,
|
|
39
52
|
});
|
|
53
|
+
// Ensure the current internal client always has chains, even when:
|
|
54
|
+
// - the query result came from cache (external call populated it first)
|
|
55
|
+
// - the client was recreated due to config changes (stale closure in queryFn)
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (data && !externalClient) {
|
|
58
|
+
internalClient.setChains(data);
|
|
59
|
+
}
|
|
60
|
+
}, [data, externalClient, internalClient]);
|
|
40
61
|
const getChainById = useCallback((chainId, chains = data) => {
|
|
41
62
|
if (!chainId) {
|
|
42
63
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAvailableChains.js","sourceRoot":"","sources":["../../../src/hooks/useAvailableChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useAvailableChains.js","sourceRoot":"","sources":["../../../src/hooks/useAvailableChains.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ChainId, ChainType } from '@lifi/sdk';
|
|
2
|
-
import { isHex } from 'viem';
|
|
1
|
+
import { ChainId, ChainType, isHex } from '@lifi/sdk';
|
|
3
2
|
import { internalExplorerUrl } from '../config/constants.js';
|
|
4
3
|
import { useAvailableChains } from '../hooks/useAvailableChains.js';
|
|
5
4
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExplorer.js","sourceRoot":"","sources":["../../../src/hooks/useExplorer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useExplorer.js","sourceRoot":"","sources":["../../../src/hooks/useExplorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { ChainType, getWalletBalances, } from '@lifi/sdk';
|
|
2
2
|
import { useQuery } from '@tanstack/react-query';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js';
|
|
4
5
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
5
6
|
import { getConfigItemSets, isFormItemAllowed } from '../utils/item.js';
|
|
6
7
|
import { isSupportedToken } from '../utils/tokenList.js';
|
|
7
8
|
export const useFilteredTokensByBalance = (accountsWithTokens, formType) => {
|
|
8
9
|
const { tokens: configTokens } = useWidgetConfig();
|
|
10
|
+
const sdkClient = useSDKClient();
|
|
9
11
|
const evmAddress = useMemo(() => {
|
|
10
12
|
const evmAccount = Object.entries(accountsWithTokens ?? {}).find(([_, { chainType }]) => chainType === ChainType.EVM);
|
|
11
13
|
return evmAccount?.[0];
|
|
12
14
|
}, [accountsWithTokens]);
|
|
13
15
|
const { data: existingBalances, isLoading } = useQuery({
|
|
14
16
|
queryKey: ['existing-evm-balances', evmAddress],
|
|
15
|
-
queryFn: () => getWalletBalances(evmAddress ?? ''),
|
|
17
|
+
queryFn: () => getWalletBalances(sdkClient, evmAddress ?? ''),
|
|
16
18
|
enabled: !!evmAddress,
|
|
17
19
|
refetchInterval: 30000, // 30 seconds
|
|
18
20
|
staleTime: 30000, // 30 seconds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilteredByTokenBalances.js","sourceRoot":"","sources":["../../../src/hooks/useFilteredByTokenBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,iBAAiB,GAGlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAE/E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,kBAGC,EACD,QAAmB,EACnB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"useFilteredByTokenBalances.js","sourceRoot":"","sources":["../../../src/hooks/useFilteredByTokenBalances.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { parseUnits } from '@lifi/sdk';
|
|
1
2
|
import { useAccount } from '@lifi/wallet-management';
|
|
2
3
|
import { keepPreviousData, useQuery } from '@tanstack/react-query';
|
|
3
|
-
import {
|
|
4
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js';
|
|
4
5
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
5
6
|
import { useFieldValues } from '../stores/form/useFieldValues.js';
|
|
6
7
|
import { isRouteDone } from '../stores/routes/utils.js';
|
|
@@ -11,6 +12,7 @@ const refetchInterval = 30000;
|
|
|
11
12
|
export const useFromTokenSufficiency = (route) => {
|
|
12
13
|
const [fromChainId, fromTokenAddress, fromAmount] = useFieldValues('fromChain', 'fromToken', 'fromAmount');
|
|
13
14
|
const { keyPrefix } = useWidgetConfig();
|
|
15
|
+
const sdkClient = useSDKClient();
|
|
14
16
|
let chainId = fromChainId;
|
|
15
17
|
let tokenAddress = fromTokenAddress;
|
|
16
18
|
if (route) {
|
|
@@ -44,9 +46,7 @@ export const useFromTokenSufficiency = (route) => {
|
|
|
44
46
|
const insufficientFunds = BigInt(route.fromAmount) > currentTokenBalance;
|
|
45
47
|
return insufficientFunds;
|
|
46
48
|
}
|
|
47
|
-
const tokenBalances = await getTokenBalancesWithRetry(accountAddress, [
|
|
48
|
-
currentAction.fromToken,
|
|
49
|
-
]);
|
|
49
|
+
const tokenBalances = await getTokenBalancesWithRetry(sdkClient, accountAddress, [currentAction.fromToken]);
|
|
50
50
|
currentTokenBalance = tokenBalances?.[0]?.amount ?? 0n;
|
|
51
51
|
const insufficientFunds = BigInt(currentAction.fromAmount) > currentTokenBalance;
|
|
52
52
|
return insufficientFunds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFromTokenSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useFromTokenSufficiency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFromTokenSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useFromTokenSufficiency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,WAAW,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/D,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,GAAG,cAAc,CAChE,WAAW,EACX,WAAW,EACX,YAAY,CACb,CAAA;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IACvC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,IAAI,OAAO,GAAG,WAAW,CAAA;IACzB,IAAI,YAAY,GAAG,gBAAgB,CAAA;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAA;QACjC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAA;IACxC,CAAC;IAED,MAAM,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EAAE,4BAA4B,GACxC,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAEjD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAE/D,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC1D,QAAQ,EAAE;YACR,WAAW,CAAC,8BAA8B,EAAE,SAAS,CAAC;YACtD,OAAO,CAAC,OAAO;YACf,OAAO;YACP,YAAY;YACZ,KAAK,EAAE,EAAE,IAAI,UAAU;SACf;QACV,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE;YAClD,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAM;YACR,CAAC;YACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/D,IAAI,mBAAmB,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YAE5C,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,gBAAgB,CAAA;gBAChE,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAC9D,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;YAEZ,IACE,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO;gBACjD,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO;gBACjD,mBAAmB,GAAG,CAAC,EACvB,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAA;gBACxE,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,yBAAyB,CACnD,SAAS,EACT,cAAc,EACd,CAAC,aAAa,CAAC,SAAS,CAAC,CAC1B,CAAA;YAED,mBAAmB,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;YACtD,MAAM,iBAAiB,GACrB,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAA;YACxD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,4BAA4B,CAAC;QAC3E,eAAe;QACf,SAAS,EAAE,eAAe;QAC1B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC,CAAA;IAEF,OAAO;QACL,qBAAqB;QACrB,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getGasRecommendation } from '@lifi/sdk';
|
|
2
2
|
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js';
|
|
3
4
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
4
5
|
import { HiddenUI } from '../types/widget.js';
|
|
5
6
|
import { getQueryKey } from '../utils/queries.js';
|
|
@@ -8,6 +9,7 @@ const refetchInterval = 60000;
|
|
|
8
9
|
export const useGasRecommendation = (toChainId, fromChain, fromToken) => {
|
|
9
10
|
const { chains } = useAvailableChains();
|
|
10
11
|
const { keyPrefix, hiddenUI } = useWidgetConfig();
|
|
12
|
+
const sdkClient = useSDKClient();
|
|
11
13
|
const checkRecommendationLiFuel = Boolean(toChainId) &&
|
|
12
14
|
Boolean(fromChain) &&
|
|
13
15
|
Boolean(fromToken) &&
|
|
@@ -24,7 +26,7 @@ export const useGasRecommendation = (toChainId, fromChain, fromToken) => {
|
|
|
24
26
|
if (!chains?.some((chain) => chain.id === toChainId)) {
|
|
25
27
|
return null;
|
|
26
28
|
}
|
|
27
|
-
const gasRecommendation = await getGasRecommendation({
|
|
29
|
+
const gasRecommendation = await getGasRecommendation(sdkClient, {
|
|
28
30
|
chainId: toChainId,
|
|
29
31
|
fromChain: fromChain,
|
|
30
32
|
fromToken: fromToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGasRecommendation.js","sourceRoot":"","sources":["../../../src/hooks/useGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAmB,EACnB,SAAmB,EACnB,SAAkB,EAClB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"useGasRecommendation.js","sourceRoot":"","sources":["../../../src/hooks/useGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAmB,EACnB,SAAmB,EACnB,SAAkB,EAClB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;IACjD,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,MAAM,yBAAyB,GAC7B,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEzB,MAAM,4BAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3E,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE;YACR,WAAW,CAAC,oBAAoB,EAAE,SAAS,CAAC;YAC5C,SAAS;YACT,SAAS;YACT,SAAS;SACV;QACD,OAAO,EAAE,KAAK,EAAE,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC9C,MAAM,GACP,EAAE,EAAE;YACH,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAClD,SAAS,EACT;gBACE,OAAO,EAAE,SAAoB;gBAC7B,SAAS,EAAE,SAAoB;gBAC/B,SAAS,EAAE,SAAmB;aAC/B,EACD,EAAE,MAAM,EAAE,CACX,CAAA;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QACD,OAAO,EACL,CAAC,yBAAyB,IAAI,4BAA4B,CAAC;YAC3D,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,eAAe;QACf,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { ChainType } from '@lifi/sdk';
|
|
|
2
2
|
import { useAccount } from '@lifi/wallet-management';
|
|
3
3
|
import { useQuery } from '@tanstack/react-query';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js';
|
|
5
6
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
6
7
|
import { HiddenUI } from '../types/widget.js';
|
|
7
8
|
import { getQueryKey } from '../utils/queries.js';
|
|
@@ -15,6 +16,7 @@ export const useGasSufficiency = (route) => {
|
|
|
15
16
|
chainType: ChainType.EVM,
|
|
16
17
|
});
|
|
17
18
|
const { keyPrefix, hiddenUI } = useWidgetConfig();
|
|
19
|
+
const sdkClient = useSDKClient();
|
|
18
20
|
const { relevantAccounts, relevantAccountsQueryKey } = useMemo(() => {
|
|
19
21
|
const chainTypes = route?.steps.reduce((acc, step) => {
|
|
20
22
|
const chainType = getChainById(step.action.fromChainId)?.chainType;
|
|
@@ -63,26 +65,30 @@ export const useGasSufficiency = (route) => {
|
|
|
63
65
|
if (step.estimate.gasCosts && !skipDueToRefuel) {
|
|
64
66
|
const { token } = step.estimate.gasCosts[0];
|
|
65
67
|
const gasCostAmount = step.estimate.gasCosts.reduce((amount, gasCost) => amount + BigInt(Number(gasCost.amount).toFixed(0)), 0n);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
if (gasCostAmount > 0n) {
|
|
69
|
+
groupedGasCosts[token.chainId] = {
|
|
70
|
+
gasAmount: groupedGasCosts[token.chainId]
|
|
71
|
+
? groupedGasCosts[token.chainId].gasAmount + gasCostAmount
|
|
72
|
+
: gasCostAmount,
|
|
73
|
+
token,
|
|
74
|
+
chain: getChainById(token.chainId),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
73
77
|
}
|
|
74
78
|
// Add fees paid in native tokens to gas sufficiency check (included: false)
|
|
75
79
|
const nonIncludedFeeCosts = step.estimate.feeCosts?.filter((feeCost) => !feeCost.included);
|
|
76
80
|
if (nonIncludedFeeCosts?.length) {
|
|
77
81
|
const { token } = nonIncludedFeeCosts[0];
|
|
78
82
|
const feeCostAmount = nonIncludedFeeCosts.reduce((amount, feeCost) => amount + BigInt(Number(feeCost.amount).toFixed(0)), 0n);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
if (feeCostAmount > 0n) {
|
|
84
|
+
groupedGasCosts[token.chainId] = {
|
|
85
|
+
gasAmount: groupedGasCosts[token.chainId]
|
|
86
|
+
? groupedGasCosts[token.chainId].gasAmount + feeCostAmount
|
|
87
|
+
: feeCostAmount,
|
|
88
|
+
token,
|
|
89
|
+
chain: getChainById(token.chainId),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
86
92
|
}
|
|
87
93
|
return groupedGasCosts;
|
|
88
94
|
}, {});
|
|
@@ -97,7 +103,7 @@ export const useGasSufficiency = (route) => {
|
|
|
97
103
|
const relevantTokens = gasCostsValues
|
|
98
104
|
.filter((gasCost) => gasCost.chain?.chainType === account.chainType)
|
|
99
105
|
.map((item) => item.token);
|
|
100
|
-
return getTokenBalancesWithRetry(account.address, relevantTokens);
|
|
106
|
+
return getTokenBalancesWithRetry(sdkClient, account.address, relevantTokens);
|
|
101
107
|
}));
|
|
102
108
|
const tokenBalances = balanceChecks
|
|
103
109
|
.filter((result) => result.status === 'fulfilled' && Boolean(result.value))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGasSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useGasSufficiency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAWhE,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACzD,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QACnD,SAAS,EAAE,SAAS,CAAC,GAAG;KACzB,CAAC,CAAA;IACF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"useGasSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useGasSufficiency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ExpansionType } from '../types/widget.js';
|
|
2
|
-
export declare const useHasChainExpansion: () => readonly [boolean, ExpansionType];
|
|
2
|
+
export declare const useHasChainExpansion: () => readonly [boolean, ExpansionType | null];
|
|
@@ -1,16 +1,24 @@
|
|
|
1
|
+
import { useLocation } from '@tanstack/react-router';
|
|
1
2
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
2
3
|
import { ExpansionType, HiddenUI } from '../types/widget.js';
|
|
3
|
-
import {
|
|
4
|
+
import { navigationRoutes } from '../utils/navigationRoutes.js';
|
|
4
5
|
import { useSwapOnly } from './useSwapOnly.js';
|
|
5
6
|
export const useHasChainExpansion = () => {
|
|
6
7
|
const { hiddenUI, subvariantOptions } = useWidgetConfig();
|
|
7
8
|
const swapOnly = useSwapOnly();
|
|
8
|
-
const
|
|
9
|
+
const { pathname } = useLocation();
|
|
10
|
+
const expansionType = pathname === navigationRoutes.home
|
|
11
|
+
? ExpansionType.Routes
|
|
12
|
+
: pathname.endsWith(navigationRoutes.fromToken)
|
|
13
|
+
? ExpansionType.FromChain
|
|
14
|
+
: pathname.endsWith(navigationRoutes.toToken)
|
|
15
|
+
? ExpansionType.ToChain
|
|
16
|
+
: null;
|
|
9
17
|
const withChainExpansion = (expansionType === ExpansionType.FromChain ||
|
|
10
18
|
expansionType === ExpansionType.ToChain) &&
|
|
11
19
|
!(swapOnly && expansionType === ExpansionType.ToChain) &&
|
|
12
20
|
!hiddenUI?.includes(HiddenUI.ChainSelect) &&
|
|
13
|
-
|
|
21
|
+
!subvariantOptions?.wide?.disableChainSidebar;
|
|
14
22
|
return [withChainExpansion, expansionType];
|
|
15
23
|
};
|
|
16
24
|
//# sourceMappingURL=useHasChainExpansion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHasChainExpansion.js","sourceRoot":"","sources":["../../../src/hooks/useHasChainExpansion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useHasChainExpansion.js","sourceRoot":"","sources":["../../../src/hooks/useHasChainExpansion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,eAAe,EAAE,CAAA;IACzD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAElC,MAAM,aAAa,GACjB,QAAQ,KAAK,gBAAgB,CAAC,IAAI;QAChC,CAAC,CAAC,aAAa,CAAC,MAAM;QACtB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC;YAC7C,CAAC,CAAC,aAAa,CAAC,SAAS;YACzB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAC3C,CAAC,CAAC,aAAa,CAAC,OAAO;gBACvB,CAAC,CAAC,IAAI,CAAA;IAEd,MAAM,kBAAkB,GACtB,CAAC,aAAa,KAAK,aAAa,CAAC,SAAS;QACxC,aAAa,KAAK,aAAa,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,QAAQ,IAAI,aAAa,KAAK,aAAa,CAAC,OAAO,CAAC;QACtD,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzC,CAAC,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,CAAA;IAE/C,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAU,CAAA;AACrD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useInitializeSDKProviders: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useSDKProviders } from '@lifi/widget-provider';
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
|
+
import { useSDKClient } from '../providers/SDKClientProvider';
|
|
4
|
+
export const useInitializeSDKProviders = () => {
|
|
5
|
+
const sdkProviders = useSDKProviders();
|
|
6
|
+
const sdkClient = useSDKClient();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
sdkClient.setProviders(sdkProviders);
|
|
9
|
+
}, [sdkClient, sdkProviders]);
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=useInitializeSDKProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInitializeSDKProviders.js","sourceRoot":"","sources":["../../../src/hooks/useInitializeSDKProviders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAEhC,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;AAC/B,CAAC,CAAA"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { ChainType
|
|
1
|
+
import { ChainType } from '@lifi/sdk';
|
|
2
|
+
import { useEthereumContext } from '@lifi/widget-provider';
|
|
2
3
|
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import { useSDKClient } from '../providers/SDKClientProvider.js';
|
|
3
5
|
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
|
|
4
6
|
import { getQueryKey } from '../utils/queries.js';
|
|
5
7
|
export function useIsBatchingSupported(chain, address) {
|
|
6
8
|
const { keyPrefix } = useWidgetConfig();
|
|
9
|
+
const sdkClient = useSDKClient();
|
|
10
|
+
const { isBatchingSupported } = useEthereumContext();
|
|
7
11
|
const enabled = Boolean(chain && chain.chainType === ChainType.EVM && !!address);
|
|
8
12
|
const { data, isLoading } = useQuery({
|
|
9
13
|
queryKey: [
|
|
@@ -12,10 +16,10 @@ export function useIsBatchingSupported(chain, address) {
|
|
|
12
16
|
address,
|
|
13
17
|
],
|
|
14
18
|
queryFn: () => {
|
|
15
|
-
return isBatchingSupported({
|
|
19
|
+
return (isBatchingSupported?.(sdkClient, {
|
|
16
20
|
chainId: chain.id,
|
|
17
21
|
skipReady: true,
|
|
18
|
-
});
|
|
22
|
+
}) ?? false);
|
|
19
23
|
},
|
|
20
24
|
enabled,
|
|
21
25
|
staleTime: 3600000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsBatchingSupported.js","sourceRoot":"","sources":["../../../src/hooks/useIsBatchingSupported.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"useIsBatchingSupported.js","sourceRoot":"","sources":["../../../src/hooks/useIsBatchingSupported.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,UAAU,sBAAsB,CACpC,KAAqB,EACrB,OAAgB;IAEhB,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IACvC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAEpD,MAAM,OAAO,GAAG,OAAO,CACrB,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CACxD,CAAA;IACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE;YACR,WAAW,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAC7C,KAAK,EAAE,EAAE;YACT,OAAO;SACR;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,CACL,mBAAmB,EAAE,CAAC,SAAS,EAAE;gBAC/B,OAAO,EAAE,KAAM,CAAC,EAAE;gBAClB,SAAS,EAAE,IAAI;aAChB,CAAC,IAAI,KAAK,CACZ,CAAA;QACH,CAAC;QACD,OAAO;QACP,SAAS,EAAE,OAAS;QACpB,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IAEF,OAAO;QACL,mBAAmB,EAAE,IAAI;QACzB,0BAA0B,EAAE,OAAO,IAAI,SAAS;KACjD,CAAA;AACH,CAAC"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { ChainType } from '@lifi/sdk';
|
|
2
|
-
import {
|
|
2
|
+
import { useEthereumContext } from '@lifi/widget-provider';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
4
|
export const useIsContractAddress = (address, chainId, chainType) => {
|
|
4
|
-
const {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
enabled: chainType === ChainType.EVM && !!chainId && !!address,
|
|
5
|
+
const { getBytecode } = useEthereumContext();
|
|
6
|
+
const { data: contractCode, isLoading, isFetched, } = useQuery({
|
|
7
|
+
queryKey: ['getBytecode', address, chainId],
|
|
8
|
+
queryFn: async () => {
|
|
9
|
+
const code = await getBytecode?.(chainId, address);
|
|
10
|
+
return code ?? null;
|
|
11
11
|
},
|
|
12
|
+
refetchInterval: 300000,
|
|
13
|
+
staleTime: 300000,
|
|
14
|
+
enabled: chainType === ChainType.EVM && !!chainId && !!address && !!getBytecode,
|
|
12
15
|
});
|
|
13
16
|
return {
|
|
14
17
|
isContractAddress: !!contractCode,
|
|
15
|
-
contractCode,
|
|
18
|
+
contractCode: contractCode ?? undefined,
|
|
16
19
|
isLoading,
|
|
17
20
|
isFetched,
|
|
18
21
|
};
|