@lifi/widget 1.31.1 → 1.32.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/App.js +4 -16
- package/AppDrawer.js +13 -7
- package/AppDrawer.style.d.ts +2 -2
- package/AppDrawer.style.js +1 -1
- package/AppProvider.js +1 -1
- package/AppRoutes.js +9 -0
- package/cjs/App.js +4 -16
- package/cjs/AppDrawer.js +13 -7
- package/cjs/AppDrawer.style.d.ts +2 -2
- package/cjs/AppDrawer.style.js +1 -1
- package/cjs/AppProvider.js +1 -1
- package/cjs/AppRoutes.js +9 -0
- package/cjs/components/ActiveSwaps/ActiveSwapItem.js +9 -7
- package/cjs/components/ActiveSwaps/ActiveSwaps.js +3 -3
- package/cjs/components/ActiveSwaps/ActiveSwaps.style.d.ts +3 -3
- package/cjs/components/AppContainer.d.ts +2 -2
- package/cjs/components/AppContainer.js +1 -1
- package/cjs/components/BottomSheet/BottomSheet.d.ts +1 -1
- package/cjs/components/BottomSheet/BottomSheet.js +2 -2
- package/cjs/components/Card/Card.d.ts +2 -2
- package/cjs/components/Card/CardHeader.d.ts +1 -1
- package/cjs/components/Card/CardTitle.d.ts +1 -1
- package/cjs/components/ChainSelect/ChainSelect.d.ts +0 -1
- package/cjs/components/ChainSelect/ChainSelect.js +3 -4
- package/cjs/components/ChainSelect/ChainSelect.style.d.ts +3 -3
- package/cjs/components/ContractComponent/ContractComponent.js +1 -1
- package/cjs/components/Dialog.js +1 -1
- package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
- package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
- package/cjs/components/Header/Header.js +1 -1
- package/cjs/components/Header/Header.style.d.ts +3 -3
- package/cjs/components/Header/NavigationHeader.js +6 -2
- package/cjs/components/Header/WalletHeader.js +12 -22
- package/cjs/{pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
- package/cjs/{pages/SelectWalletPage/SelectWalletPage.style.js → components/ListItemButton.js} +2 -8
- package/cjs/components/ListItemText.d.ts +2 -0
- package/cjs/{pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js → components/ListItemText.js} +1 -10
- package/cjs/components/NFT/NFT.js +2 -14
- package/cjs/components/NFT/NFT.style.d.ts +1 -1
- package/cjs/components/NotFound.js +2 -2
- package/cjs/components/PoweredBy/PoweredBy.js +2 -2
- package/cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/cjs/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
- package/cjs/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
- package/cjs/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
- package/cjs/components/Select.js +1 -0
- package/cjs/components/SelectChainAndToken.js +4 -4
- package/cjs/components/SelectTokenButton/SelectTokenButton.js +2 -2
- package/cjs/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
- package/cjs/components/SendToWallet/SendToWallet.js +9 -19
- package/cjs/components/SendToWallet/SendToWallet.style.d.ts +1 -1
- package/cjs/components/SendToWallet/SendToWalletButton.js +5 -5
- package/cjs/components/SmallAvatar.d.ts +3 -3
- package/cjs/components/Step/CircularProgress.d.ts +0 -1
- package/cjs/components/Step/CircularProgress.js +2 -2
- package/cjs/components/Step/CircularProgress.style.d.ts +1 -1
- package/cjs/components/Step/DestinationWalletAddress.js +6 -7
- package/cjs/components/Step/GasStepProcess.js +8 -8
- package/cjs/components/Step/Step.js +4 -5
- package/cjs/components/Step/StepList.d.ts +0 -1
- package/cjs/components/Step/StepList.js +8 -4
- package/cjs/components/Step/StepProcess.js +3 -3
- package/cjs/components/Step/StepProcess.style.d.ts +2 -2
- package/cjs/components/Step/StepTimer.js +4 -8
- package/cjs/components/StepActions/StepActions.js +20 -37
- package/cjs/components/StepActions/StepActions.style.d.ts +1 -1
- package/cjs/components/StepDivider/StepDivider.style.d.ts +1 -1
- package/cjs/components/SwapButton/SwapButton.js +5 -14
- package/cjs/components/SwapInput/FormPriceHelperText.js +6 -6
- package/cjs/components/SwapInput/SwapInput.js +4 -16
- package/cjs/components/SwapInput/SwapInput.style.d.ts +1 -1
- package/cjs/components/SwapInput/SwapInputAdornment.style.d.ts +1 -1
- package/cjs/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
- package/cjs/components/SwapInput/SwapInputEndAdornment.js +2 -3
- package/cjs/components/SwapRouteCard/SwapRouteCard.js +9 -25
- package/cjs/components/SwapRouteCard/SwapRouteCard.style.d.ts +2 -2
- package/cjs/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
- package/cjs/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
- package/cjs/components/SwapRouteCard/utils.js +1 -1
- package/cjs/components/SwapRoutes/SwapRoutes.js +4 -4
- package/cjs/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
- package/cjs/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
- package/cjs/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
- package/cjs/components/TextFitter/TextFitter.js +3 -3
- package/cjs/components/Token/Token.js +19 -33
- package/cjs/components/Token/Token.style.d.ts +3 -3
- package/cjs/components/TokenAvatar/TokenAvatar.js +6 -7
- package/cjs/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
- package/cjs/components/TokenList/TokenList.js +3 -4
- package/cjs/components/TokenList/TokenList.style.d.ts +2 -2
- package/cjs/components/TokenList/TokenList.style.js +2 -6
- package/cjs/components/TokenList/TokenListItem.js +9 -9
- package/cjs/components/TokenList/TokenNotFound.js +4 -5
- package/cjs/components/TokenList/VirtualizedTokenList.js +10 -11
- package/cjs/components/TokenList/useTokenSelect.js +2 -2
- package/cjs/config/env.js +1 -1
- package/cjs/config/sentry.js +3 -12
- package/cjs/config/theme.js +44 -16
- package/cjs/config/version.d.ts +1 -1
- package/cjs/config/version.js +1 -1
- package/cjs/hooks/useChain.js +1 -1
- package/cjs/hooks/useChains.js +5 -14
- package/cjs/hooks/useContentHeight.js +1 -2
- package/cjs/hooks/useFeaturedTokens.js +1 -4
- package/cjs/hooks/useGasSufficiency.js +28 -34
- package/cjs/hooks/useProcessMessage.js +7 -11
- package/cjs/hooks/useRouteExecution.js +16 -26
- package/cjs/hooks/useSwapRoutes.js +16 -26
- package/cjs/hooks/useToken.js +2 -2
- package/cjs/hooks/useTokenAddressBalance.js +1 -2
- package/cjs/hooks/useTokenBalance.js +24 -27
- package/cjs/hooks/useTokenBalances.d.ts +1 -1
- package/cjs/hooks/useTokenBalances.js +8 -20
- package/cjs/hooks/useTokenSearch.d.ts +1 -1
- package/cjs/hooks/useTokenSearch.js +12 -21
- package/cjs/hooks/useTokens.d.ts +1 -1
- package/cjs/hooks/useTokens.js +36 -38
- package/cjs/hooks/useTools.d.ts +2 -11
- package/cjs/hooks/useTools.js +10 -19
- package/cjs/i18n/en.json +8 -4
- package/cjs/icons/LiFiFullLogo.js +1 -1
- package/cjs/icons/LiFiLogo.js +1 -1
- package/cjs/icons/LiFiToolLogo.js +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +2 -0
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
- package/cjs/pages/MainPage/MainPage.js +1 -1
- package/cjs/pages/MainPage/MainPage.style.d.ts +1 -1
- package/cjs/pages/MainPage/MainSwapButton.js +3 -12
- package/cjs/pages/SelectChainPage/SelectChainPage.js +6 -14
- package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
- package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +51 -0
- package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
- package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +8 -0
- package/cjs/pages/SelectEnabledToolsPage/index.d.ts +1 -0
- package/cjs/pages/SelectEnabledToolsPage/index.js +17 -0
- package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
- package/cjs/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
- package/cjs/pages/SelectTokenPage/SearchTokenInput.js +4 -1
- package/cjs/pages/SelectTokenPage/SelectTokenPage.js +2 -3
- package/cjs/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
- package/cjs/pages/SelectWalletPage/SelectWalletPage.js +13 -19
- package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
- package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
- package/cjs/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
- package/cjs/pages/SettingsPage/EnabledToolsButton.js +25 -0
- package/cjs/pages/{SelectChainPage/SelectChainPage.style.d.ts → SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
- package/cjs/pages/{SelectChainPage/SelectChainPage.style.js → SettingsPage/EnabledToolsButton.style.js} +7 -10
- package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
- package/cjs/pages/SettingsPage/GasPriceSelect.js +1 -1
- package/cjs/pages/SettingsPage/LanguageSelect.js +5 -6
- package/cjs/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
- package/cjs/pages/SettingsPage/ResetSettingsButton.js +27 -0
- package/cjs/pages/SettingsPage/RoutePrioritySelect.js +4 -4
- package/cjs/pages/SettingsPage/SettingsPage.d.ts +0 -1
- package/cjs/pages/SettingsPage/SettingsPage.js +3 -2
- package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
- package/cjs/pages/SettingsPage/ShowDestinationWallet.js +3 -3
- package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
- package/cjs/pages/SettingsPage/SlippageInput.js +3 -3
- package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
- package/cjs/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
- package/cjs/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
- package/cjs/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
- package/cjs/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
- package/cjs/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
- package/cjs/pages/SwapPage/StartSwapButton.js +1 -1
- package/cjs/pages/SwapPage/StatusBottomSheet.js +21 -19
- package/cjs/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
- package/cjs/pages/SwapPage/SwapPage.js +9 -21
- package/cjs/pages/SwapPage/SwapPage.style.d.ts +1 -1
- package/cjs/pages/SwapPage/TokenValueBottomSheet.js +8 -9
- package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
- package/cjs/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
- package/cjs/providers/I18nProvider/I18nProvider.js +7 -8
- package/cjs/providers/SDKProvider/SDKProvider.js +15 -4
- package/cjs/providers/SwapFormProvider/SwapFormProvider.js +12 -6
- package/cjs/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
- package/cjs/providers/TelemetryProvider/TelemetryProvider.js +1 -1
- package/cjs/providers/ThemeProvider/ThemeProvider.js +2 -2
- package/cjs/providers/WalletProvider/WalletProvider.js +30 -39
- package/cjs/providers/WidgetProvider/WidgetProvider.js +18 -23
- package/cjs/providers/WidgetProvider/utils.js +2 -3
- package/cjs/stores/StoreProvider.js +2 -2
- package/cjs/stores/chains/ChainOrderStore.js +2 -14
- package/cjs/stores/routes/RouteExecutionStore.js +2 -14
- package/cjs/stores/routes/createRouteExecutionStore.js +27 -16
- package/cjs/stores/routes/useExecutingRoutesIds.js +2 -5
- package/cjs/stores/routes/useSwapHistory.js +3 -6
- package/cjs/stores/routes/utils.js +4 -4
- package/cjs/stores/settings/SettingsStore.js +10 -20
- package/cjs/stores/settings/createSettingsStore.js +29 -25
- package/cjs/stores/settings/types.d.ts +6 -6
- package/cjs/utils/colors.js +1 -1
- package/cjs/utils/format.js +3 -3
- package/cjs/utils/navigationRoutes.d.ts +2 -0
- package/cjs/utils/navigationRoutes.js +6 -0
- package/components/ActiveSwaps/ActiveSwapItem.js +9 -7
- package/components/ActiveSwaps/ActiveSwaps.js +3 -3
- package/components/ActiveSwaps/ActiveSwaps.style.d.ts +3 -3
- package/components/AppContainer.d.ts +2 -2
- package/components/AppContainer.js +1 -1
- package/components/BottomSheet/BottomSheet.d.ts +1 -1
- package/components/BottomSheet/BottomSheet.js +2 -2
- package/components/Card/Card.d.ts +2 -2
- package/components/Card/CardHeader.d.ts +1 -1
- package/components/Card/CardTitle.d.ts +1 -1
- package/components/ChainSelect/ChainSelect.d.ts +0 -1
- package/components/ChainSelect/ChainSelect.js +3 -4
- package/components/ChainSelect/ChainSelect.style.d.ts +3 -3
- package/components/ContractComponent/ContractComponent.js +1 -1
- package/components/Dialog.js +1 -1
- package/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
- package/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
- package/components/Header/Header.js +1 -1
- package/components/Header/Header.style.d.ts +3 -3
- package/components/Header/NavigationHeader.js +6 -2
- package/components/Header/WalletHeader.js +12 -22
- package/{pages/SelectChainPage/SelectChainPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
- package/components/ListItemButton.js +11 -0
- package/components/ListItemText.d.ts +2 -0
- package/components/ListItemText.js +8 -0
- package/components/NFT/NFT.js +2 -14
- package/components/NFT/NFT.style.d.ts +1 -1
- package/components/NotFound.js +2 -2
- package/components/PoweredBy/PoweredBy.js +2 -2
- package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
- package/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
- package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
- package/components/Select.js +1 -0
- package/components/SelectChainAndToken.js +4 -4
- package/components/SelectTokenButton/SelectTokenButton.js +2 -2
- package/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
- package/components/SendToWallet/SendToWallet.js +9 -19
- package/components/SendToWallet/SendToWallet.style.d.ts +1 -1
- package/components/SendToWallet/SendToWalletButton.js +5 -5
- package/components/SmallAvatar.d.ts +3 -3
- package/components/Step/CircularProgress.d.ts +0 -1
- package/components/Step/CircularProgress.js +2 -2
- package/components/Step/CircularProgress.style.d.ts +1 -1
- package/components/Step/DestinationWalletAddress.js +6 -7
- package/components/Step/GasStepProcess.js +8 -8
- package/components/Step/Step.js +4 -5
- package/components/Step/StepList.d.ts +0 -1
- package/components/Step/StepList.js +8 -4
- package/components/Step/StepProcess.js +3 -3
- package/components/Step/StepProcess.style.d.ts +2 -2
- package/components/Step/StepTimer.js +4 -8
- package/components/StepActions/StepActions.js +20 -37
- package/components/StepActions/StepActions.style.d.ts +1 -1
- package/components/StepDivider/StepDivider.style.d.ts +1 -1
- package/components/SwapButton/SwapButton.js +5 -14
- package/components/SwapInput/FormPriceHelperText.js +6 -6
- package/components/SwapInput/SwapInput.js +4 -16
- package/components/SwapInput/SwapInput.style.d.ts +1 -1
- package/components/SwapInput/SwapInputAdornment.style.d.ts +1 -1
- package/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
- package/components/SwapInput/SwapInputEndAdornment.js +2 -3
- package/components/SwapRouteCard/SwapRouteCard.js +9 -25
- package/components/SwapRouteCard/SwapRouteCard.style.d.ts +2 -2
- package/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
- package/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
- package/components/SwapRouteCard/utils.js +1 -1
- package/components/SwapRoutes/SwapRoutes.js +4 -4
- package/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
- package/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
- package/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
- package/components/TextFitter/TextFitter.js +3 -3
- package/components/Token/Token.js +19 -33
- package/components/Token/Token.style.d.ts +3 -3
- package/components/TokenAvatar/TokenAvatar.js +6 -7
- package/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
- package/components/TokenList/TokenList.js +3 -4
- package/components/TokenList/TokenList.style.d.ts +2 -2
- package/components/TokenList/TokenList.style.js +3 -7
- package/components/TokenList/TokenListItem.js +9 -9
- package/components/TokenList/TokenNotFound.js +4 -5
- package/components/TokenList/VirtualizedTokenList.js +10 -11
- package/components/TokenList/useTokenSelect.js +2 -2
- package/config/env.js +1 -1
- package/config/sentry.js +3 -12
- package/config/theme.js +44 -16
- package/config/version.d.ts +1 -1
- package/config/version.js +1 -1
- package/hooks/useChain.js +1 -1
- package/hooks/useChains.js +5 -14
- package/hooks/useContentHeight.js +1 -2
- package/hooks/useFeaturedTokens.js +1 -4
- package/hooks/useGasSufficiency.js +28 -34
- package/hooks/useProcessMessage.js +7 -11
- package/hooks/useRouteExecution.js +16 -26
- package/hooks/useSwapRoutes.js +16 -26
- package/hooks/useToken.js +2 -2
- package/hooks/useTokenAddressBalance.js +1 -2
- package/hooks/useTokenBalance.js +24 -27
- package/hooks/useTokenBalances.d.ts +1 -1
- package/hooks/useTokenBalances.js +8 -20
- package/hooks/useTokenSearch.d.ts +1 -1
- package/hooks/useTokenSearch.js +12 -21
- package/hooks/useTokens.d.ts +1 -1
- package/hooks/useTokens.js +36 -38
- package/hooks/useTools.d.ts +2 -11
- package/hooks/useTools.js +10 -19
- package/i18n/en.json +8 -4
- package/icons/LiFiFullLogo.js +1 -1
- package/icons/LiFiLogo.js +1 -1
- package/icons/LiFiToolLogo.js +1 -1
- package/index.d.ts +1 -0
- package/index.js +2 -0
- package/package.json +7 -7
- package/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
- package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
- package/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
- package/pages/MainPage/MainPage.js +1 -1
- package/pages/MainPage/MainPage.style.d.ts +1 -1
- package/pages/MainPage/MainSwapButton.js +3 -12
- package/pages/SelectChainPage/SelectChainPage.js +6 -14
- package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
- package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +47 -0
- package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
- package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +5 -0
- package/pages/SelectEnabledToolsPage/index.d.ts +1 -0
- package/pages/SelectEnabledToolsPage/index.js +1 -0
- package/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
- package/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
- package/pages/SelectTokenPage/SearchTokenInput.js +4 -1
- package/pages/SelectTokenPage/SelectTokenPage.js +2 -3
- package/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
- package/pages/SelectWalletPage/SelectWalletPage.js +13 -19
- package/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
- package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
- package/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
- package/pages/SettingsPage/EnabledToolsButton.js +21 -0
- package/{cjs/pages/SelectWalletPage/SelectWalletPage.style.d.ts → pages/SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
- package/pages/SettingsPage/EnabledToolsButton.style.js +14 -0
- package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
- package/pages/SettingsPage/GasPriceSelect.js +1 -1
- package/pages/SettingsPage/LanguageSelect.js +5 -6
- package/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
- package/pages/SettingsPage/ResetSettingsButton.js +23 -0
- package/pages/SettingsPage/RoutePrioritySelect.js +4 -4
- package/pages/SettingsPage/SettingsPage.d.ts +0 -1
- package/pages/SettingsPage/SettingsPage.js +3 -2
- package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
- package/pages/SettingsPage/ShowDestinationWallet.js +3 -3
- package/pages/SettingsPage/SlippageInput.d.ts +0 -1
- package/pages/SettingsPage/SlippageInput.js +3 -3
- package/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
- package/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
- package/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
- package/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
- package/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
- package/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
- package/pages/SwapPage/StartSwapButton.js +1 -1
- package/pages/SwapPage/StatusBottomSheet.js +21 -19
- package/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
- package/pages/SwapPage/SwapPage.js +9 -21
- package/pages/SwapPage/SwapPage.style.d.ts +1 -1
- package/pages/SwapPage/TokenValueBottomSheet.js +8 -9
- package/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
- package/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
- package/providers/I18nProvider/I18nProvider.js +7 -8
- package/providers/SDKProvider/SDKProvider.js +15 -4
- package/providers/SwapFormProvider/SwapFormProvider.js +12 -6
- package/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
- package/providers/TelemetryProvider/TelemetryProvider.js +1 -1
- package/providers/ThemeProvider/ThemeProvider.js +2 -2
- package/providers/WalletProvider/WalletProvider.js +30 -39
- package/providers/WidgetProvider/WidgetProvider.js +18 -23
- package/providers/WidgetProvider/utils.js +2 -3
- package/stores/StoreProvider.js +2 -2
- package/stores/chains/ChainOrderStore.js +2 -14
- package/stores/routes/RouteExecutionStore.js +2 -14
- package/stores/routes/createRouteExecutionStore.js +27 -16
- package/stores/routes/useExecutingRoutesIds.js +2 -5
- package/stores/routes/useSwapHistory.js +3 -6
- package/stores/routes/utils.js +4 -4
- package/stores/settings/SettingsStore.js +10 -20
- package/stores/settings/createSettingsStore.js +29 -25
- package/stores/settings/types.d.ts +6 -6
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/utils/colors.js +1 -1
- package/utils/format.js +3 -3
- package/utils/navigationRoutes.d.ts +2 -0
- package/utils/navigationRoutes.js +6 -0
- package/cjs/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
- package/cjs/pages/SettingsPage/AdvancedPreferences.js +0 -24
- package/cjs/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
- package/cjs/pages/SettingsPage/EnabledBridgesSelect.js +0 -24
- package/cjs/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
- package/cjs/pages/SettingsPage/EnabledExchangesSelect.js +0 -24
- package/pages/SelectChainPage/SelectChainPage.style.js +0 -17
- package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts +0 -21
- package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js +0 -17
- package/pages/SelectWalletPage/SelectWalletPage.style.d.ts +0 -21
- package/pages/SelectWalletPage/SelectWalletPage.style.js +0 -17
- package/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
- package/pages/SettingsPage/AdvancedPreferences.js +0 -20
- package/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
- package/pages/SettingsPage/EnabledBridgesSelect.js +0 -20
- package/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
- package/pages/SettingsPage/EnabledExchangesSelect.js +0 -20
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.extractAccountFromSigner = exports.WalletProvider = exports.useWallet = void 0;
|
|
13
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -32,57 +23,57 @@ const WalletProvider = ({ children }) => {
|
|
|
32
23
|
const { walletManagement } = (0, WidgetProvider_1.useWidgetConfig)();
|
|
33
24
|
const { connect: walletManagementConnect, disconnect: walletManagementDisconnect, signer, provider, } = (0, wallet_management_1.useLiFiWalletManagement)();
|
|
34
25
|
const [account, setAccount] = (0, react_1.useState)({});
|
|
35
|
-
const connect = (0, react_1.useCallback)((wallet) =>
|
|
26
|
+
const connect = (0, react_1.useCallback)(async (wallet) => {
|
|
36
27
|
if (walletManagement) {
|
|
37
|
-
const signer =
|
|
38
|
-
const account =
|
|
28
|
+
const signer = await walletManagement.connect();
|
|
29
|
+
const account = await (0, exports.extractAccountFromSigner)(signer);
|
|
39
30
|
setAccount(account);
|
|
40
31
|
return;
|
|
41
32
|
}
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
const disconnect = (0, react_1.useCallback)(() =>
|
|
33
|
+
await walletManagementConnect(wallet);
|
|
34
|
+
}, [walletManagement, walletManagementConnect]);
|
|
35
|
+
const disconnect = (0, react_1.useCallback)(async () => {
|
|
45
36
|
if (walletManagement) {
|
|
46
|
-
|
|
37
|
+
await walletManagement.disconnect();
|
|
47
38
|
setAccount({});
|
|
48
39
|
return;
|
|
49
40
|
}
|
|
50
|
-
|
|
51
|
-
}
|
|
41
|
+
await walletManagementDisconnect();
|
|
42
|
+
}, [walletManagement, walletManagementDisconnect]);
|
|
52
43
|
// only for injected wallets
|
|
53
|
-
const switchChain = (0, react_1.useCallback)((chainId) =>
|
|
54
|
-
if (walletManagement
|
|
55
|
-
const signer =
|
|
56
|
-
const account =
|
|
44
|
+
const switchChain = (0, react_1.useCallback)(async (chainId) => {
|
|
45
|
+
if (walletManagement?.switchChain) {
|
|
46
|
+
const signer = await walletManagement.switchChain(chainId);
|
|
47
|
+
const account = await (0, exports.extractAccountFromSigner)(signer);
|
|
57
48
|
setAccount(account);
|
|
58
49
|
return true;
|
|
59
50
|
}
|
|
60
51
|
return (0, wallet_management_1.switchChain)(chainId);
|
|
61
|
-
}
|
|
62
|
-
const addChain = (0, react_1.useCallback)((chainId) =>
|
|
63
|
-
if (walletManagement
|
|
52
|
+
}, [walletManagement]);
|
|
53
|
+
const addChain = (0, react_1.useCallback)(async (chainId) => {
|
|
54
|
+
if (walletManagement?.addChain) {
|
|
64
55
|
return walletManagement.addChain(chainId);
|
|
65
56
|
}
|
|
66
57
|
return (0, wallet_management_1.addChain)(chainId);
|
|
67
|
-
}
|
|
68
|
-
const addToken = (0, react_1.useCallback)((chainId, token) =>
|
|
69
|
-
if (walletManagement
|
|
58
|
+
}, [walletManagement]);
|
|
59
|
+
const addToken = (0, react_1.useCallback)(async (chainId, token) => {
|
|
60
|
+
if (walletManagement?.addToken) {
|
|
70
61
|
return walletManagement.addToken(token, chainId);
|
|
71
62
|
}
|
|
72
63
|
return (0, wallet_management_1.switchChainAndAddToken)(chainId, token);
|
|
73
|
-
}
|
|
64
|
+
}, [walletManagement]);
|
|
74
65
|
// keep account information up to date
|
|
75
66
|
(0, react_1.useEffect)(() => {
|
|
76
|
-
const updateAccount = () =>
|
|
67
|
+
const updateAccount = async () => {
|
|
77
68
|
let account;
|
|
78
69
|
if (walletManagement) {
|
|
79
|
-
account =
|
|
70
|
+
account = await (0, exports.extractAccountFromSigner)(walletManagement?.signer);
|
|
80
71
|
}
|
|
81
72
|
else {
|
|
82
|
-
account =
|
|
73
|
+
account = await (0, exports.extractAccountFromSigner)(signer);
|
|
83
74
|
}
|
|
84
75
|
setAccount(account);
|
|
85
|
-
}
|
|
76
|
+
};
|
|
86
77
|
updateAccount();
|
|
87
78
|
}, [signer, walletManagement]);
|
|
88
79
|
const value = (0, react_1.useMemo)(() => ({
|
|
@@ -94,21 +85,21 @@ const WalletProvider = ({ children }) => {
|
|
|
94
85
|
account,
|
|
95
86
|
provider,
|
|
96
87
|
}), [account, addChain, addToken, connect, disconnect, provider, switchChain]);
|
|
97
|
-
return ((0, jsx_runtime_1.jsx)(WalletContext.Provider,
|
|
88
|
+
return ((0, jsx_runtime_1.jsx)(WalletContext.Provider, { value: value, children: children }));
|
|
98
89
|
};
|
|
99
90
|
exports.WalletProvider = WalletProvider;
|
|
100
|
-
const extractAccountFromSigner = (signer) =>
|
|
91
|
+
const extractAccountFromSigner = async (signer) => {
|
|
101
92
|
try {
|
|
102
93
|
return {
|
|
103
|
-
address:
|
|
104
|
-
isActive: (signer && !!(
|
|
94
|
+
address: await signer?.getAddress(),
|
|
95
|
+
isActive: (signer && !!(await signer.getAddress()) === null) || !!signer,
|
|
105
96
|
signer,
|
|
106
|
-
chainId:
|
|
97
|
+
chainId: await signer?.getChainId(),
|
|
107
98
|
};
|
|
108
99
|
}
|
|
109
100
|
catch (error) {
|
|
110
101
|
console.log(error);
|
|
111
102
|
return {};
|
|
112
103
|
}
|
|
113
|
-
}
|
|
104
|
+
};
|
|
114
105
|
exports.extractAccountFromSigner = extractAccountFromSigner;
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.WidgetProvider = exports.useWidgetConfig = void 0;
|
|
15
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -24,48 +13,54 @@ const initialContext = {
|
|
|
24
13
|
const WidgetContext = (0, react_1.createContext)(initialContext);
|
|
25
14
|
const useWidgetConfig = () => (0, react_1.useContext)(WidgetContext);
|
|
26
15
|
exports.useWidgetConfig = useWidgetConfig;
|
|
27
|
-
const WidgetProvider = (
|
|
28
|
-
var { children } = _a, _b = _a.config, _c = _b === void 0 ? {} : _b, { fromChain, fromToken, toChain, toToken, fromAmount } = _c, config = __rest(_c, ["fromChain", "fromToken", "toChain", "toToken", "fromAmount"]);
|
|
16
|
+
const WidgetProvider = ({ children, config: { fromChain, fromToken, toChain, toToken, fromAmount, ...config } = {}, }) => {
|
|
29
17
|
const settingsStoreContext = (0, stores_1.useSettingsStoreContext)();
|
|
30
18
|
const elementId = (0, react_1.useId)();
|
|
31
19
|
const value = (0, react_1.useMemo)(() => {
|
|
32
|
-
var _a, _b, _c, _d, _e, _f;
|
|
33
20
|
try {
|
|
34
|
-
const searchParams = Object.fromEntries(new URLSearchParams(window
|
|
21
|
+
const searchParams = Object.fromEntries(new URLSearchParams(window?.location.search));
|
|
35
22
|
// Prevent using fromToken/toToken params if chain is not selected
|
|
36
23
|
['from', 'to'].forEach((key) => {
|
|
37
24
|
if (searchParams[`${key}Token`] && !searchParams[`${key}Chain`]) {
|
|
38
25
|
delete searchParams[`${key}Token`];
|
|
39
26
|
}
|
|
40
27
|
});
|
|
41
|
-
return
|
|
28
|
+
return {
|
|
29
|
+
...config,
|
|
30
|
+
fromChain: (searchParams.fromChain &&
|
|
42
31
|
isNaN(parseInt(searchParams.fromChain, 10))) ||
|
|
43
32
|
typeof fromChain === 'string'
|
|
44
|
-
? (
|
|
33
|
+
? (0, sdk_1.getChainByKey)((searchParams.fromChain || fromChain)?.toLowerCase())?.id
|
|
45
34
|
: (searchParams.fromChain &&
|
|
46
35
|
!isNaN(parseInt(searchParams.fromChain, 10))) ||
|
|
47
36
|
typeof fromChain === 'number'
|
|
48
37
|
? parseInt(searchParams.fromChain, 10) || fromChain
|
|
49
|
-
: undefined,
|
|
38
|
+
: undefined,
|
|
39
|
+
toChain: (searchParams.toChain && isNaN(parseInt(searchParams.toChain, 10))) ||
|
|
50
40
|
typeof toChain === 'string'
|
|
51
|
-
? (
|
|
41
|
+
? (0, sdk_1.getChainByKey)((searchParams.toChain || toChain)?.toLowerCase())?.id
|
|
52
42
|
: (searchParams.toChain &&
|
|
53
43
|
!isNaN(parseInt(searchParams.toChain, 10))) ||
|
|
54
44
|
typeof toChain === 'number'
|
|
55
45
|
? parseInt(searchParams.toChain, 10) || toChain
|
|
56
|
-
: undefined,
|
|
46
|
+
: undefined,
|
|
47
|
+
fromToken: searchParams.fromToken?.toLowerCase() || fromToken?.toLowerCase(),
|
|
48
|
+
toToken: searchParams.toToken?.toLowerCase() || toToken?.toLowerCase(),
|
|
49
|
+
fromAmount: typeof searchParams.fromAmount === 'string' &&
|
|
57
50
|
!isNaN(parseFloat(searchParams.fromAmount))
|
|
58
51
|
? (0, utils_1.formatAmount)(searchParams.fromAmount)
|
|
59
|
-
: fromAmount,
|
|
52
|
+
: fromAmount,
|
|
53
|
+
elementId,
|
|
54
|
+
};
|
|
60
55
|
}
|
|
61
56
|
catch (e) {
|
|
62
57
|
console.warn(e);
|
|
63
|
-
return
|
|
58
|
+
return { ...config, elementId };
|
|
64
59
|
}
|
|
65
60
|
}, [config, elementId, fromAmount, fromChain, fromToken, toChain, toToken]);
|
|
66
61
|
(0, react_1.useEffect)(() => {
|
|
67
62
|
(0, stores_1.setDefaultSettings)(settingsStoreContext, value);
|
|
68
63
|
}, [settingsStoreContext, value]);
|
|
69
|
-
return ((0, jsx_runtime_1.jsx)(WidgetContext.Provider,
|
|
64
|
+
return ((0, jsx_runtime_1.jsx)(WidgetContext.Provider, { value: value, children: children }));
|
|
70
65
|
};
|
|
71
66
|
exports.WidgetProvider = WidgetProvider;
|
|
@@ -4,10 +4,9 @@ exports.isItemAllowed = void 0;
|
|
|
4
4
|
const isItemAllowed = (itemId, items,
|
|
5
5
|
/** @deprecated Remove in the next major release */
|
|
6
6
|
disabledChains) => {
|
|
7
|
-
|
|
8
|
-
if ((_a = items === null || items === void 0 ? void 0 : items.allow) === null || _a === void 0 ? void 0 : _a.length) {
|
|
7
|
+
if (items?.allow?.length) {
|
|
9
8
|
return items.allow.includes(itemId);
|
|
10
9
|
}
|
|
11
|
-
return !(
|
|
10
|
+
return !(disabledChains?.includes(itemId) || items?.deny?.includes(itemId));
|
|
12
11
|
};
|
|
13
12
|
exports.isItemAllowed = isItemAllowed;
|
|
@@ -6,10 +6,10 @@ const chains_1 = require("./chains");
|
|
|
6
6
|
const routes_1 = require("./routes");
|
|
7
7
|
const settings_1 = require("./settings");
|
|
8
8
|
const StoreProvider = ({ children, namePrefix }) => {
|
|
9
|
-
return ((0, jsx_runtime_1.jsx)(routes_1.RouteExecutionStoreProvider,
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(routes_1.RouteExecutionStoreProvider, { namePrefix: namePrefix, children: (0, jsx_runtime_1.jsx)(settings_1.SettingsStoreProvider
|
|
10
10
|
// namePrefix={namePrefix}
|
|
11
11
|
, { children: (0, jsx_runtime_1.jsx)(chains_1.ChainOrderStoreProvider
|
|
12
12
|
// namePrefix={namePrefix}
|
|
13
|
-
, { children: children }) }) }))
|
|
13
|
+
, { children: children }) }) }));
|
|
14
14
|
};
|
|
15
15
|
exports.StoreProvider = StoreProvider;
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.useChainOrderStoreContext = exports.useChainOrderStore = exports.ChainOrderStoreProvider = exports.ChainOrderStoreContext = void 0;
|
|
15
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -17,13 +6,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
17
6
|
const react_1 = require("react");
|
|
18
7
|
const createChainOrderStore_1 = require("./createChainOrderStore");
|
|
19
8
|
exports.ChainOrderStoreContext = (0, react_1.createContext)(null);
|
|
20
|
-
function ChainOrderStoreProvider(
|
|
21
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
9
|
+
function ChainOrderStoreProvider({ children, ...props }) {
|
|
22
10
|
const storeRef = (0, react_1.useRef)();
|
|
23
11
|
if (!storeRef.current) {
|
|
24
12
|
storeRef.current = (0, createChainOrderStore_1.createChainOrderStore)(props);
|
|
25
13
|
}
|
|
26
|
-
return ((0, jsx_runtime_1.jsx)(exports.ChainOrderStoreContext.Provider,
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(exports.ChainOrderStoreContext.Provider, { value: storeRef.current, children: children }));
|
|
27
15
|
}
|
|
28
16
|
exports.ChainOrderStoreProvider = ChainOrderStoreProvider;
|
|
29
17
|
function useChainOrderStore(selector, equalityFn) {
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.useRouteExecutionStoreContext = exports.useRouteExecutionStore = exports.RouteExecutionStoreProvider = exports.RouteExecutionStoreContext = void 0;
|
|
15
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -17,13 +6,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
17
6
|
const react_1 = require("react");
|
|
18
7
|
const createRouteExecutionStore_1 = require("./createRouteExecutionStore");
|
|
19
8
|
exports.RouteExecutionStoreContext = (0, react_1.createContext)(null);
|
|
20
|
-
function RouteExecutionStoreProvider(
|
|
21
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
9
|
+
function RouteExecutionStoreProvider({ children, ...props }) {
|
|
22
10
|
const storeRef = (0, react_1.useRef)();
|
|
23
11
|
if (!storeRef.current) {
|
|
24
12
|
storeRef.current = (0, createRouteExecutionStore_1.createRouteExecutionStore)(props);
|
|
25
13
|
}
|
|
26
|
-
return ((0, jsx_runtime_1.jsx)(exports.RouteExecutionStoreContext.Provider,
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(exports.RouteExecutionStoreContext.Provider, { value: storeRef.current, children: children }));
|
|
27
15
|
}
|
|
28
16
|
exports.RouteExecutionStoreProvider = RouteExecutionStoreProvider;
|
|
29
17
|
function useRouteExecutionStore(selector, equalityFn) {
|
|
@@ -11,10 +11,10 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
|
|
|
11
11
|
setExecutableRoute: (route) => {
|
|
12
12
|
if (!get().routes[route.id]) {
|
|
13
13
|
set((state) => {
|
|
14
|
-
const routes =
|
|
14
|
+
const routes = { ...state.routes };
|
|
15
15
|
// clean previous idle routes that were not executed
|
|
16
16
|
Object.keys(routes)
|
|
17
|
-
.filter((routeId) =>
|
|
17
|
+
.filter((routeId) => routes[routeId]?.status === types_1.RouteExecutionStatus.Idle)
|
|
18
18
|
.forEach((routeId) => delete routes[routeId]);
|
|
19
19
|
routes[route.id] = {
|
|
20
20
|
route,
|
|
@@ -30,7 +30,10 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
|
|
|
30
30
|
if (get().routes[route.id]) {
|
|
31
31
|
set((state) => {
|
|
32
32
|
const updatedState = {
|
|
33
|
-
routes:
|
|
33
|
+
routes: {
|
|
34
|
+
...state.routes,
|
|
35
|
+
[route.id]: { ...state.routes[route.id], route },
|
|
36
|
+
},
|
|
34
37
|
};
|
|
35
38
|
const isFailed = (0, utils_2.isRouteFailed)(route);
|
|
36
39
|
if (isFailed) {
|
|
@@ -64,14 +67,20 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
|
|
|
64
67
|
restartRoute: (routeId) => {
|
|
65
68
|
if (get().routes[routeId]) {
|
|
66
69
|
set((state) => ({
|
|
67
|
-
routes:
|
|
70
|
+
routes: {
|
|
71
|
+
...state.routes,
|
|
72
|
+
[routeId]: {
|
|
73
|
+
...state.routes[routeId],
|
|
74
|
+
status: types_1.RouteExecutionStatus.Pending,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
68
77
|
}));
|
|
69
78
|
}
|
|
70
79
|
},
|
|
71
80
|
deleteRoute: (routeId) => {
|
|
72
81
|
if (get().routes[routeId]) {
|
|
73
82
|
set((state) => {
|
|
74
|
-
const routes =
|
|
83
|
+
const routes = { ...state.routes };
|
|
75
84
|
delete routes[routeId];
|
|
76
85
|
return {
|
|
77
86
|
routes,
|
|
@@ -80,14 +89,11 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
|
|
|
80
89
|
}
|
|
81
90
|
},
|
|
82
91
|
deleteRoutes: (type) => set((state) => {
|
|
83
|
-
const routes =
|
|
92
|
+
const routes = { ...state.routes };
|
|
84
93
|
Object.keys(routes)
|
|
85
|
-
.filter((routeId) =>
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
? (0, utils_1.hasEnumFlag)((_b = (_a = routes[routeId]) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 0, types_1.RouteExecutionStatus.Done)
|
|
89
|
-
: !(0, utils_1.hasEnumFlag)((_d = (_c = routes[routeId]) === null || _c === void 0 ? void 0 : _c.status) !== null && _d !== void 0 ? _d : 0, types_1.RouteExecutionStatus.Done);
|
|
90
|
-
})
|
|
94
|
+
.filter((routeId) => type === 'completed'
|
|
95
|
+
? (0, utils_1.hasEnumFlag)(routes[routeId]?.status ?? 0, types_1.RouteExecutionStatus.Done)
|
|
96
|
+
: !(0, utils_1.hasEnumFlag)(routes[routeId]?.status ?? 0, types_1.RouteExecutionStatus.Done))
|
|
91
97
|
.forEach((routeId) => delete routes[routeId]);
|
|
92
98
|
return {
|
|
93
99
|
routes,
|
|
@@ -98,16 +104,21 @@ const createRouteExecutionStore = ({ namePrefix }) => (0, zustand_1.create)((0,
|
|
|
98
104
|
version: 1,
|
|
99
105
|
partialize: (state) => ({ routes: state.routes }),
|
|
100
106
|
merge: (persistedState, currentState) => {
|
|
101
|
-
const state =
|
|
107
|
+
const state = {
|
|
108
|
+
...currentState,
|
|
109
|
+
...persistedState,
|
|
110
|
+
};
|
|
102
111
|
try {
|
|
103
112
|
// Move swaps to history after 1 day
|
|
104
113
|
const currentTime = new Date().getTime();
|
|
105
114
|
const oneDay = 1000 * 60 * 60 * 24;
|
|
106
115
|
Object.values(state.routes).forEach((routeExecution) => {
|
|
107
|
-
|
|
108
|
-
|
|
116
|
+
const startedAt = routeExecution?.route.steps
|
|
117
|
+
?.find((step) => step.execution?.status === 'FAILED')
|
|
118
|
+
?.execution?.process.find((process) => process.startedAt)
|
|
119
|
+
?.startedAt ?? 0;
|
|
109
120
|
const outdated = startedAt > 0 && currentTime - startedAt > oneDay;
|
|
110
|
-
if (
|
|
121
|
+
if (routeExecution?.route && outdated) {
|
|
111
122
|
routeExecution.status |= types_1.RouteExecutionStatus.Done;
|
|
112
123
|
}
|
|
113
124
|
});
|
|
@@ -9,11 +9,8 @@ const useExecutingRoutesIds = (address) => {
|
|
|
9
9
|
.filter((item) => item.route.fromAddress === address &&
|
|
10
10
|
(item.status === types_1.RouteExecutionStatus.Pending ||
|
|
11
11
|
item.status === types_1.RouteExecutionStatus.Failed))
|
|
12
|
-
.sort((a, b) =>
|
|
13
|
-
|
|
14
|
-
return ((_b = (_a = b === null || b === void 0 ? void 0 : b.route.steps[0].execution) === null || _a === void 0 ? void 0 : _a.process[0].startedAt) !== null && _b !== void 0 ? _b : 0) -
|
|
15
|
-
((_d = (_c = a === null || a === void 0 ? void 0 : a.route.steps[0].execution) === null || _c === void 0 ? void 0 : _c.process[0].startedAt) !== null && _d !== void 0 ? _d : 0);
|
|
16
|
-
})
|
|
12
|
+
.sort((a, b) => (b?.route.steps[0].execution?.process[0].startedAt ?? 0) -
|
|
13
|
+
(a?.route.steps[0].execution?.process[0].startedAt ?? 0))
|
|
17
14
|
.map(({ route }) => route.id), shallow_1.shallow);
|
|
18
15
|
};
|
|
19
16
|
exports.useExecutingRoutesIds = useExecutingRoutesIds;
|
|
@@ -7,12 +7,9 @@ const RouteExecutionStore_1 = require("./RouteExecutionStore");
|
|
|
7
7
|
const types_1 = require("./types");
|
|
8
8
|
const useSwapHistory = (address) => {
|
|
9
9
|
return (0, RouteExecutionStore_1.useRouteExecutionStore)((state) => Object.values(state.routes)
|
|
10
|
-
.filter((item) =>
|
|
10
|
+
.filter((item) => item?.route.fromAddress === address &&
|
|
11
11
|
(0, utils_1.hasEnumFlag)(item.status, types_1.RouteExecutionStatus.Done))
|
|
12
|
-
.sort((a, b) =>
|
|
13
|
-
|
|
14
|
-
return ((_b = (_a = b === null || b === void 0 ? void 0 : b.route.steps[0].execution) === null || _a === void 0 ? void 0 : _a.process[0].startedAt) !== null && _b !== void 0 ? _b : 0) -
|
|
15
|
-
((_d = (_c = a === null || a === void 0 ? void 0 : a.route.steps[0].execution) === null || _c === void 0 ? void 0 : _c.process[0].startedAt) !== null && _d !== void 0 ? _d : 0);
|
|
16
|
-
}), shallow_1.shallow);
|
|
12
|
+
.sort((a, b) => (b?.route.steps[0].execution?.process[0].startedAt ?? 0) -
|
|
13
|
+
(a?.route.steps[0].execution?.process[0].startedAt ?? 0)), shallow_1.shallow);
|
|
17
14
|
};
|
|
18
15
|
exports.useSwapHistory = useSwapHistory;
|
|
@@ -3,19 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getUpdatedProcess = exports.isRouteActive = exports.isRouteFailed = exports.isRouteRefunded = exports.isRoutePartiallyDone = exports.isRouteDone = void 0;
|
|
4
4
|
const microdiff_1 = require("microdiff");
|
|
5
5
|
const isRouteDone = (route) => {
|
|
6
|
-
return route.steps.every((step) =>
|
|
6
|
+
return route.steps.every((step) => step.execution?.status === 'DONE');
|
|
7
7
|
};
|
|
8
8
|
exports.isRouteDone = isRouteDone;
|
|
9
9
|
const isRoutePartiallyDone = (route) => {
|
|
10
|
-
return route.steps.some((step) =>
|
|
10
|
+
return route.steps.some((step) => step.execution?.process.some((process) => process.substatus === 'PARTIAL'));
|
|
11
11
|
};
|
|
12
12
|
exports.isRoutePartiallyDone = isRoutePartiallyDone;
|
|
13
13
|
const isRouteRefunded = (route) => {
|
|
14
|
-
return route.steps.some((step) =>
|
|
14
|
+
return route.steps.some((step) => step.execution?.process.some((process) => process.substatus === 'REFUNDED'));
|
|
15
15
|
};
|
|
16
16
|
exports.isRouteRefunded = isRouteRefunded;
|
|
17
17
|
const isRouteFailed = (route) => {
|
|
18
|
-
return route.steps.some((step) =>
|
|
18
|
+
return route.steps.some((step) => step.execution?.status === 'FAILED');
|
|
19
19
|
};
|
|
20
20
|
exports.isRouteFailed = isRouteFailed;
|
|
21
21
|
const isRouteActive = (route) => {
|
|
@@ -1,28 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.setDefaultSettings = exports.useSettingsStoreContext = exports.useSettingsStore = exports.SettingsStoreProvider = exports.SettingsStoreContext = void 0;
|
|
15
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
5
|
const react_1 = require("react");
|
|
17
6
|
const createSettingsStore_1 = require("./createSettingsStore");
|
|
18
7
|
exports.SettingsStoreContext = (0, react_1.createContext)(null);
|
|
19
|
-
function SettingsStoreProvider(
|
|
20
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
8
|
+
function SettingsStoreProvider({ children, ...props }) {
|
|
21
9
|
const storeRef = (0, react_1.useRef)();
|
|
22
10
|
if (!storeRef.current) {
|
|
23
11
|
storeRef.current = (0, createSettingsStore_1.createSettingsStore)(props);
|
|
24
12
|
}
|
|
25
|
-
return ((0, jsx_runtime_1.jsx)(exports.SettingsStoreContext.Provider,
|
|
13
|
+
return ((0, jsx_runtime_1.jsx)(exports.SettingsStoreContext.Provider, { value: storeRef.current, children: children }));
|
|
26
14
|
}
|
|
27
15
|
exports.SettingsStoreProvider = SettingsStoreProvider;
|
|
28
16
|
function useSettingsStore(selector, equalityFn) {
|
|
@@ -42,17 +30,19 @@ function useSettingsStoreContext() {
|
|
|
42
30
|
}
|
|
43
31
|
exports.useSettingsStoreContext = useSettingsStoreContext;
|
|
44
32
|
const setDefaultSettings = (useSettingsStore, config) => {
|
|
45
|
-
var _a, _b, _c, _d, _e;
|
|
46
33
|
const { slippage, routePriority, setValue } = useSettingsStore.getState();
|
|
47
|
-
const defaultSlippage = (
|
|
48
|
-
|
|
34
|
+
const defaultSlippage = (config?.slippage ||
|
|
35
|
+
config?.sdkConfig?.defaultRouteOptions?.slippage ||
|
|
49
36
|
0) * 100;
|
|
50
|
-
const defaultRoutePriority =
|
|
37
|
+
const defaultRoutePriority = config?.routePriority || config?.sdkConfig?.defaultRouteOptions?.order;
|
|
38
|
+
createSettingsStore_1.defaultConfigurableSettings.slippage = (defaultSlippage || createSettingsStore_1.defaultConfigurableSettings.slippage)?.toString();
|
|
39
|
+
createSettingsStore_1.defaultConfigurableSettings.routePriority =
|
|
40
|
+
defaultRoutePriority || createSettingsStore_1.defaultConfigurableSettings.routePriority;
|
|
51
41
|
if (!slippage) {
|
|
52
|
-
setValue('slippage',
|
|
42
|
+
setValue('slippage', createSettingsStore_1.defaultConfigurableSettings.slippage);
|
|
53
43
|
}
|
|
54
44
|
if (!routePriority) {
|
|
55
|
-
setValue('routePriority',
|
|
45
|
+
setValue('routePriority', createSettingsStore_1.defaultConfigurableSettings.routePriority);
|
|
56
46
|
}
|
|
57
47
|
};
|
|
58
48
|
exports.setDefaultSettings = setDefaultSettings;
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.createSettingsStore = exports.defaultSettings = exports.defaultConfigurableSettings = void 0;
|
|
15
4
|
const zustand_1 = require("zustand");
|
|
@@ -22,27 +11,32 @@ exports.defaultConfigurableSettings = {
|
|
|
22
11
|
exports.defaultSettings = {
|
|
23
12
|
appearance: 'auto',
|
|
24
13
|
gasPrice: 'normal',
|
|
25
|
-
advancedPreferences: false,
|
|
26
14
|
showDestinationWallet: true,
|
|
15
|
+
enabledBridges: [],
|
|
16
|
+
enabledExchanges: [],
|
|
27
17
|
};
|
|
28
|
-
const createSettingsStore = ({ namePrefix }) => (0, zustand_1.create)((0, middleware_1.persist)((set
|
|
18
|
+
const createSettingsStore = ({ namePrefix }) => (0, zustand_1.create)((0, middleware_1.persist)((set, get) => ({
|
|
19
|
+
...exports.defaultSettings,
|
|
20
|
+
setValue: (key, value) => set(() => ({
|
|
29
21
|
[key]: value,
|
|
30
|
-
})),
|
|
31
|
-
|
|
22
|
+
})),
|
|
23
|
+
setValues: (values) => set((state) => {
|
|
24
|
+
const updatedState = { ...state };
|
|
32
25
|
for (const key in values) {
|
|
33
26
|
if (Object.hasOwn(state, key)) {
|
|
34
27
|
updatedState[key] = values[key];
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
30
|
return updatedState;
|
|
38
|
-
}),
|
|
31
|
+
}),
|
|
32
|
+
initializeTools: (toolType, tools, reset) => {
|
|
39
33
|
if (!tools.length) {
|
|
40
34
|
return;
|
|
41
35
|
}
|
|
42
36
|
set((state) => {
|
|
43
|
-
const updatedState =
|
|
44
|
-
if (updatedState[`_enabled${toolType}`]) {
|
|
45
|
-
// Add
|
|
37
|
+
const updatedState = { ...state };
|
|
38
|
+
if (updatedState[`_enabled${toolType}`] && !reset) {
|
|
39
|
+
// Add new tools
|
|
46
40
|
const enabledTools = tools
|
|
47
41
|
.filter((tool) => !Object.hasOwn(updatedState[`_enabled${toolType}`], tool))
|
|
48
42
|
.reduce((values, tool) => {
|
|
@@ -63,21 +57,31 @@ const createSettingsStore = ({ namePrefix }) => (0, zustand_1.create)((0, middle
|
|
|
63
57
|
.map(([key]) => key);
|
|
64
58
|
return updatedState;
|
|
65
59
|
});
|
|
66
|
-
},
|
|
60
|
+
},
|
|
61
|
+
setTools: (toolType, tools, availableTools) => set(() => ({
|
|
67
62
|
[`enabled${toolType}`]: tools,
|
|
68
|
-
[`_enabled${toolType}`]: availableTools.reduce((values,
|
|
69
|
-
values[
|
|
63
|
+
[`_enabled${toolType}`]: availableTools.reduce((values, toolKey) => {
|
|
64
|
+
values[toolKey] = tools.includes(toolKey);
|
|
70
65
|
return values;
|
|
71
66
|
}, {}),
|
|
72
|
-
}))
|
|
67
|
+
})),
|
|
68
|
+
reset: (bridges, exchanges) => {
|
|
69
|
+
set(() => ({
|
|
70
|
+
...exports.defaultSettings,
|
|
71
|
+
...exports.defaultConfigurableSettings,
|
|
72
|
+
}));
|
|
73
|
+
get().initializeTools('Bridges', bridges, true);
|
|
74
|
+
get().initializeTools('Exchanges', exchanges, true);
|
|
75
|
+
},
|
|
76
|
+
}), {
|
|
73
77
|
name: `${namePrefix || 'li.fi'}-widget-settings`,
|
|
74
78
|
version: 2,
|
|
75
79
|
partialize: (state) => {
|
|
76
|
-
const { enabledBridges, enabledExchanges
|
|
80
|
+
const { enabledBridges, enabledExchanges, ...partializedState } = state;
|
|
77
81
|
return partializedState;
|
|
78
82
|
},
|
|
79
83
|
merge: (persistedState, currentState) => {
|
|
80
|
-
const state =
|
|
84
|
+
const state = { ...currentState, ...persistedState };
|
|
81
85
|
types_1.SettingsToolTypes.forEach((toolType) => {
|
|
82
86
|
state[`enabled${toolType}`] = Object.entries(persistedState[`_enabled${toolType}`])
|
|
83
87
|
.filter(([_, value]) => value)
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Order } from '@lifi/sdk';
|
|
2
2
|
import type { Appearance } from '../../types';
|
|
3
3
|
export type ValueSetter<S> = <K extends keyof S>(key: K, value: S[Extract<K, string>]) => void;
|
|
4
4
|
export type ValuesSetter<S> = <K extends keyof S>(values: Record<K, S[Extract<K, string>]>) => void;
|
|
5
5
|
export type SettingsToolType = 'Bridges' | 'Exchanges';
|
|
6
6
|
export declare const SettingsToolTypes: SettingsToolType[];
|
|
7
7
|
export interface SettingsProps {
|
|
8
|
-
advancedPreferences: boolean;
|
|
9
8
|
appearance: Appearance;
|
|
10
9
|
gasPrice?: string;
|
|
11
10
|
language?: string;
|
|
12
11
|
routePriority?: Order;
|
|
13
12
|
showDestinationWallet: boolean;
|
|
14
13
|
slippage?: string;
|
|
15
|
-
enabledBridges
|
|
14
|
+
enabledBridges: string[];
|
|
16
15
|
_enabledBridges?: Record<string, boolean>;
|
|
17
|
-
enabledExchanges
|
|
16
|
+
enabledExchanges: string[];
|
|
18
17
|
_enabledExchanges?: Record<string, boolean>;
|
|
19
18
|
}
|
|
20
19
|
export interface SettingsState extends SettingsProps {
|
|
21
20
|
setValue: ValueSetter<SettingsProps>;
|
|
22
21
|
setValues: ValuesSetter<SettingsProps>;
|
|
23
|
-
initializeTools(toolType: SettingsToolType, tools: string[]): void;
|
|
24
|
-
setTools(toolType: SettingsToolType, tools: string[], availableTools:
|
|
22
|
+
initializeTools(toolType: SettingsToolType, tools: string[], reset?: boolean): void;
|
|
23
|
+
setTools(toolType: SettingsToolType, tools: string[], availableTools: string[]): void;
|
|
24
|
+
reset(bridges: string[], exchanges: string[]): void;
|
|
25
25
|
}
|
|
26
26
|
export interface SendToWalletState {
|
|
27
27
|
showSendToWallet: boolean;
|