@rango-dev/widget-embedded 0.17.1-next.3 → 0.17.1-next.31
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/dist/QueueManager.d.ts +5 -2
- package/dist/QueueManager.d.ts.map +1 -1
- package/dist/components/AppRouter.d.ts +0 -2
- package/dist/components/AppRouter.d.ts.map +1 -1
- package/dist/components/AppRoutes.d.ts +1 -6
- package/dist/components/AppRoutes.d.ts.map +1 -1
- package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +370 -56
- package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +0 -2
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
- package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
- package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +1 -4
- package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
- package/dist/components/HeaderButtons/HomeButtons.d.ts.map +1 -1
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/Layout.types.d.ts +2 -2
- package/dist/components/Layout/Layout.types.d.ts.map +1 -1
- package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts.map +1 -1
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -1
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +1727 -0
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
- package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
- package/dist/components/Quote/Quote.d.ts.map +1 -1
- package/dist/components/Quote/Quote.styles.d.ts +633 -3
- package/dist/components/Quote/Quote.styles.d.ts.map +1 -1
- package/dist/components/Quote/Quote.types.d.ts +0 -1
- package/dist/components/Quote/Quote.types.d.ts.map +1 -1
- package/dist/components/Quote/QuoteSummary.styles.d.ts +157 -0
- package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -1
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -1
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -1
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -1
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +1 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -1
- package/dist/components/Slippage/Slippage.d.ts.map +1 -1
- package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
- package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
- package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
- package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
- package/dist/components/SwapDetails/SwapDetails.styles.d.ts +628 -0
- package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
- package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
- package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
- package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
- package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
- package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
- package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
- package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts +157 -0
- package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
- package/dist/components/TokenList/TokenList.d.ts.map +1 -1
- package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
- package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
- package/dist/components/TokenList/TokenList.styles.d.ts +942 -0
- package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
- package/dist/components/TokenList/TokenList.types.d.ts +3 -9
- package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
- package/dist/components/TokenList/index.d.ts +0 -1
- package/dist/components/TokenList/index.d.ts.map +1 -1
- package/dist/components/UpdateUrl.d.ts +1 -6
- package/dist/components/UpdateUrl.d.ts.map +1 -1
- package/dist/components/WidgetEvents.d.ts.map +1 -1
- package/dist/constants/errors.d.ts.map +1 -1
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/navigationRoutes.d.ts +1 -2
- package/dist/constants/navigationRoutes.d.ts.map +1 -1
- package/dist/constants/searchParams.d.ts +2 -1
- package/dist/constants/searchParams.d.ts.map +1 -1
- package/dist/containers/App/App.d.ts +3 -0
- package/dist/containers/App/App.d.ts.map +1 -0
- package/dist/containers/App/App.styles.d.ts +158 -0
- package/dist/containers/App/App.styles.d.ts.map +1 -0
- package/dist/containers/App/index.d.ts +2 -0
- package/dist/containers/App/index.d.ts.map +1 -0
- package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -1
- package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +316 -0
- package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -1
- package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +3 -0
- package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -1
- package/dist/containers/Wallets/Wallets.d.ts +6 -0
- package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
- package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
- package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
- package/dist/containers/Wallets/index.d.ts +2 -0
- package/dist/containers/Wallets/index.d.ts.map +1 -0
- package/dist/containers/Widget/Widget.d.ts +5 -0
- package/dist/containers/Widget/Widget.d.ts.map +1 -0
- package/dist/containers/Widget/Widget.types.d.ts +5 -0
- package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
- package/dist/containers/Widget/index.d.ts +3 -0
- package/dist/containers/Widget/index.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
- package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +20 -0
- package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +21 -0
- package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/index.d.ts +2 -0
- package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
- package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
- package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
- package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
- package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
- package/dist/containers/WidgetProvider/index.d.ts +2 -0
- package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -1
- package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +6 -3
- package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -1
- package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts +1 -1
- package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -1
- package/dist/hooks/useForceAutoConnect.d.ts +2 -0
- package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
- package/dist/hooks/useLanguage.d.ts +1 -1
- package/dist/hooks/useLanguage.d.ts.map +1 -1
- package/dist/hooks/useNavigateBack.d.ts +1 -3
- package/dist/hooks/useNavigateBack.d.ts.map +1 -1
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +3 -5
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +5 -1
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
- package/dist/hooks/useSwapInput.d.ts.map +1 -1
- package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
- package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
- package/dist/hooks/useTheme.d.ts +1 -1
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useWalletList.d.ts.map +1 -1
- package/dist/index.d.ts +20 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/pages/ConfirmSwapPage.d.ts +1 -6
- package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
- package/dist/pages/HistoryPage.d.ts.map +1 -1
- package/dist/pages/Home.d.ts.map +1 -1
- package/dist/pages/LanguagePage.d.ts.map +1 -1
- package/dist/pages/LiquiditySourcePage.d.ts +1 -2
- package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
- package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
- package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
- package/dist/pages/SettingsPage.d.ts +1 -6
- package/dist/pages/SettingsPage.d.ts.map +1 -1
- package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
- package/dist/pages/ThemePage.d.ts.map +1 -1
- package/dist/pages/WalletsPage.d.ts +1 -8
- package/dist/pages/WalletsPage.d.ts.map +1 -1
- package/dist/store/AppStore.d.ts +47 -0
- package/dist/store/AppStore.d.ts.map +1 -0
- package/dist/store/app.d.ts +41 -22
- package/dist/store/app.d.ts.map +1 -1
- package/dist/store/notification.d.ts +4 -3
- package/dist/store/notification.d.ts.map +1 -1
- package/dist/store/quote.d.ts +23 -16
- package/dist/store/quote.d.ts.map +1 -1
- package/dist/store/slices/config.d.ts +3 -2
- package/dist/store/slices/config.d.ts.map +1 -1
- package/dist/store/slices/data.d.ts +3 -0
- package/dist/store/slices/data.d.ts.map +1 -1
- package/dist/store/slices/settings.d.ts +39 -0
- package/dist/store/slices/settings.d.ts.map +1 -0
- package/dist/store/ui.d.ts +2 -1
- package/dist/store/ui.d.ts.map +1 -1
- package/dist/store/wallets.d.ts +14 -9
- package/dist/store/wallets.d.ts.map +1 -1
- package/dist/types/config.d.ts +38 -5
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/swap.d.ts +4 -14
- package/dist/types/swap.d.ts.map +1 -1
- package/dist/types/wallets.d.ts +15 -1
- package/dist/types/wallets.d.ts.map +1 -1
- package/dist/utils/colors.d.ts.map +1 -1
- package/dist/utils/configs.d.ts +1 -0
- package/dist/utils/configs.d.ts.map +1 -1
- package/dist/utils/meta.d.ts +2 -1
- package/dist/utils/meta.d.ts.map +1 -1
- package/dist/utils/providers.d.ts +2 -2
- package/dist/utils/providers.d.ts.map +1 -1
- package/dist/utils/queue.d.ts +2 -2
- package/dist/utils/queue.d.ts.map +1 -1
- package/dist/utils/quote.d.ts +1 -1
- package/dist/utils/quote.d.ts.map +1 -1
- package/dist/utils/settings.d.ts +6 -2
- package/dist/utils/settings.d.ts.map +1 -1
- package/dist/utils/swap.d.ts +16 -7
- package/dist/utils/swap.d.ts.map +1 -1
- package/dist/utils/time.d.ts +1 -1
- package/dist/utils/time.d.ts.map +1 -1
- package/dist/utils/wallets.d.ts +7 -9
- package/dist/utils/wallets.d.ts.map +1 -1
- package/package.json +12 -10
- package/src/QueueManager.tsx +18 -17
- package/src/components/AppRouter.tsx +8 -32
- package/src/components/AppRoutes.tsx +57 -69
- package/src/components/BlockchainList/BlockchainList.styles.ts +2 -2
- package/src/components/BlockchainList/BlockchainList.tsx +4 -4
- package/src/components/BlockchainsSection/BlockchainsSection.tsx +4 -4
- package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +12 -6
- package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +20 -21
- package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +0 -2
- package/src/components/ConfirmWalletsModal/WalletList.tsx +6 -5
- package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
- package/src/components/HeaderButtons/HomeButtons.tsx +28 -18
- package/src/components/Layout/Layout.tsx +20 -7
- package/src/components/Layout/Layout.types.ts +2 -2
- package/src/components/LoadingSwapDetails/LoadingSwapDetailStep.tsx +14 -7
- package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +63 -60
- package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +17 -8
- package/src/components/NoResult/NoResult.helpers.ts +12 -12
- package/src/components/NoResult/NoResult.tsx +6 -6
- package/src/components/NotificationContent/NotificationContent.tsx +5 -3
- package/src/components/Quote/Quote.styles.ts +42 -12
- package/src/components/Quote/Quote.tsx +106 -37
- package/src/components/Quote/Quote.types.ts +0 -1
- package/src/components/Quote/QuoteSkeleton.tsx +1 -1
- package/src/components/Quote/QuoteSummary.styles.ts +9 -8
- package/src/components/Quote/QuoteSummary.tsx +2 -2
- package/src/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx +1 -1
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +11 -4
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts +8 -1
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +13 -13
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +1 -0
- package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +3 -3
- package/src/components/Slippage/Slippage.tsx +3 -5
- package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +5 -7
- package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
- package/src/components/SwapDetails/SwapDetails.styles.ts +37 -33
- package/src/components/SwapDetails/SwapDetails.tsx +33 -45
- package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
- package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +4 -3
- package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
- package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
- package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
- package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
- package/src/components/SwapsGroup/SwapsGroup.styles.ts +10 -1
- package/src/components/SwapsGroup/SwapsGroup.tsx +3 -5
- package/src/components/TokenList/TokenList.helpers.ts +2 -2
- package/src/components/TokenList/TokenList.styles.ts +58 -37
- package/src/components/TokenList/TokenList.tsx +28 -23
- package/src/components/TokenList/TokenList.types.ts +3 -10
- package/src/components/TokenList/index.ts +0 -1
- package/src/components/UpdateUrl.tsx +23 -18
- package/src/components/WidgetEvents.tsx +4 -2
- package/src/constants/errors.ts +9 -5
- package/src/constants/index.ts +1 -0
- package/src/constants/navigationRoutes.ts +7 -8
- package/src/constants/searchParams.ts +1 -0
- package/src/containers/App/App.styles.ts +18 -0
- package/src/containers/App/App.tsx +52 -0
- package/src/containers/App/index.ts +1 -0
- package/src/containers/QuoteInfo/QuoteInfo.styles.ts +17 -1
- package/src/containers/QuoteInfo/QuoteInfo.tsx +44 -43
- package/src/containers/QuoteInfo/QuoteInfo.types.ts +3 -0
- package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +48 -34
- package/src/containers/Wallets/Wallets.types.ts +12 -0
- package/src/containers/Wallets/index.ts +1 -0
- package/src/containers/Widget/Widget.tsx +19 -0
- package/src/containers/Widget/Widget.types.ts +5 -0
- package/src/containers/Widget/index.ts +2 -0
- package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +64 -0
- package/src/containers/WidgetInfo/WidgetInfo.tsx +62 -0
- package/src/containers/WidgetInfo/WidgetInfo.types.ts +21 -0
- package/src/containers/WidgetInfo/index.ts +1 -0
- package/src/containers/WidgetProvider/WidgetProvider.tsx +28 -0
- package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
- package/src/containers/WidgetProvider/index.ts +1 -0
- package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +15 -11
- package/src/hooks/useConfirmSwap/useConfirmSwap.ts +25 -24
- package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +1 -1
- package/src/hooks/useForceAutoConnect.ts +27 -0
- package/src/hooks/useLanguage.ts +4 -5
- package/src/hooks/useNavigateBack.ts +3 -52
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +37 -7
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +60 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +78 -3
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +15 -6
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +6 -1
- package/src/hooks/useSwapInput.ts +89 -30
- package/src/hooks/useSyncStoresWithConfig.ts +38 -22
- package/src/hooks/useTheme.ts +4 -5
- package/src/hooks/useWalletList.ts +3 -5
- package/src/index.ts +53 -5
- package/src/pages/ConfirmSwapPage.tsx +61 -41
- package/src/pages/HistoryPage.tsx +2 -7
- package/src/pages/Home.tsx +58 -88
- package/src/pages/LanguagePage.tsx +0 -5
- package/src/pages/LiquiditySourcePage.tsx +24 -37
- package/src/pages/SelectBlockchainPage.tsx +28 -21
- package/src/pages/SelectSwapItemsPage.tsx +10 -27
- package/src/pages/SettingsPage.tsx +28 -24
- package/src/pages/SwapDetailsPage.tsx +6 -7
- package/src/pages/ThemePage.tsx +2 -7
- package/src/pages/WalletsPage.tsx +4 -15
- package/src/services/httpService.ts +1 -1
- package/src/store/AppStore.tsx +41 -0
- package/src/store/app.ts +44 -6
- package/src/store/quote.ts +29 -26
- package/src/store/slices/config.ts +25 -15
- package/src/store/slices/data.ts +64 -29
- package/src/store/slices/settings.ts +168 -0
- package/src/store/wallets.ts +68 -37
- package/src/types/config.ts +50 -5
- package/src/types/swap.ts +4 -13
- package/src/types/wallets.ts +18 -1
- package/src/utils/colors.ts +2 -1
- package/src/utils/configs.ts +2 -1
- package/src/utils/date.ts +1 -1
- package/src/utils/meta.ts +8 -1
- package/src/utils/providers.ts +8 -5
- package/src/utils/queue.ts +2 -2
- package/src/utils/quote.ts +7 -7
- package/src/utils/settings.ts +17 -10
- package/src/utils/swap.ts +59 -55
- package/src/utils/time.ts +1 -1
- package/src/utils/wallets.ts +107 -149
- package/dist/Wallets.d.ts +0 -17
- package/dist/Wallets.d.ts.map +0 -1
- package/dist/Widget.d.ts +0 -9
- package/dist/Widget.d.ts.map +0 -1
- package/dist/store/meta.d.ts +0 -23
- package/dist/store/meta.d.ts.map +0 -1
- package/dist/store/settings.d.ts +0 -81
- package/dist/store/settings.d.ts.map +0 -1
- package/src/Widget.tsx +0 -119
- package/src/store/meta.ts +0 -39
- package/src/store/settings.ts +0 -158
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import type { QuoteError, QuoteWarning } from '../types';
|
|
2
|
+
import type { Token } from 'rango-sdk';
|
|
2
3
|
|
|
3
|
-
import {
|
|
4
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
+
import { useAppStore } from '../store/AppStore';
|
|
6
7
|
import { useQuoteStore } from '../store/quote';
|
|
7
|
-
import { useSettingsStore } from '../store/settings';
|
|
8
8
|
import { QuoteErrorType } from '../types';
|
|
9
9
|
import { debounce } from '../utils/common';
|
|
10
10
|
import { isPositiveNumber } from '../utils/numbers';
|
|
11
11
|
import { generateQuoteWarnings } from '../utils/quote';
|
|
12
|
+
import { isFeatureEnabled } from '../utils/settings';
|
|
12
13
|
import { createQuoteRequestBody } from '../utils/swap';
|
|
13
14
|
import { tokensAreEqual } from '../utils/wallets';
|
|
14
15
|
|
|
@@ -19,6 +20,12 @@ import {
|
|
|
19
20
|
import { useFetchQuote } from './useFetchQuote';
|
|
20
21
|
|
|
21
22
|
const DEBOUNCE_DELAY = 600;
|
|
23
|
+
const FIRST_INDEX = 0;
|
|
24
|
+
|
|
25
|
+
type FetchQuoteParams = Omit<
|
|
26
|
+
Parameters<typeof createQuoteRequestBody>[typeof FIRST_INDEX],
|
|
27
|
+
'fromToken' | 'toToken'
|
|
28
|
+
> & { fromToken: Token | null; toToken: Token | null };
|
|
22
29
|
|
|
23
30
|
type UseSwapInput = {
|
|
24
31
|
fetch: () => void;
|
|
@@ -33,6 +40,9 @@ type UseSwapInput = {
|
|
|
33
40
|
*/
|
|
34
41
|
export function useSwapInput(): UseSwapInput {
|
|
35
42
|
const { fetch: fetchQuote, cancelFetch } = useFetchQuote();
|
|
43
|
+
const { liquiditySources, enableNewLiquiditySources, features } =
|
|
44
|
+
useAppStore().config;
|
|
45
|
+
const tokens = useAppStore().tokens();
|
|
36
46
|
const {
|
|
37
47
|
fromToken,
|
|
38
48
|
toToken,
|
|
@@ -41,9 +51,6 @@ export function useSwapInput(): UseSwapInput {
|
|
|
41
51
|
resetQuote,
|
|
42
52
|
setQuote,
|
|
43
53
|
} = useQuoteStore();
|
|
44
|
-
const {
|
|
45
|
-
meta: { tokens },
|
|
46
|
-
} = useMetaStore();
|
|
47
54
|
const {
|
|
48
55
|
slippage,
|
|
49
56
|
customSlippage,
|
|
@@ -51,11 +58,10 @@ export function useSwapInput(): UseSwapInput {
|
|
|
51
58
|
affiliateRef,
|
|
52
59
|
affiliateWallets,
|
|
53
60
|
disabledLiquiditySources,
|
|
54
|
-
} =
|
|
61
|
+
} = useAppStore();
|
|
55
62
|
const [loading, setLoading] = useState(false);
|
|
56
63
|
const [error, setError] = useState<QuoteError | null>(null);
|
|
57
64
|
const [warning, setWarning] = useState<QuoteWarning | null>(null);
|
|
58
|
-
const prevDisabledLiquiditySources = useRef(disabledLiquiditySources);
|
|
59
65
|
const userSlippage = customSlippage ?? slippage;
|
|
60
66
|
const hasTokensValue = !fromToken || !toToken;
|
|
61
67
|
const shouldSkipRequest =
|
|
@@ -69,22 +75,39 @@ export function useSwapInput(): UseSwapInput {
|
|
|
69
75
|
setWarning(null);
|
|
70
76
|
};
|
|
71
77
|
|
|
72
|
-
const fetch
|
|
78
|
+
const fetch = (params: FetchQuoteParams) => {
|
|
79
|
+
const {
|
|
80
|
+
fromToken,
|
|
81
|
+
toToken,
|
|
82
|
+
inputAmount,
|
|
83
|
+
liquiditySources,
|
|
84
|
+
excludeLiquiditySources,
|
|
85
|
+
disabledLiquiditySources,
|
|
86
|
+
slippage,
|
|
87
|
+
affiliateRef,
|
|
88
|
+
affiliatePercent,
|
|
89
|
+
affiliateWallets,
|
|
90
|
+
} = params;
|
|
73
91
|
if (!loading) {
|
|
74
92
|
resetState(true);
|
|
75
93
|
}
|
|
76
|
-
if (!shouldSkipRequest) {
|
|
94
|
+
if (!shouldSkipRequest && fromToken && toToken) {
|
|
77
95
|
resetQuote();
|
|
78
96
|
const requestBody = createQuoteRequestBody({
|
|
79
97
|
fromToken,
|
|
80
98
|
toToken,
|
|
81
99
|
inputAmount,
|
|
100
|
+
liquiditySources,
|
|
101
|
+
excludeLiquiditySources,
|
|
82
102
|
disabledLiquiditySources,
|
|
83
|
-
slippage
|
|
103
|
+
slippage,
|
|
84
104
|
affiliateRef,
|
|
85
105
|
affiliatePercent,
|
|
86
106
|
affiliateWallets,
|
|
87
107
|
});
|
|
108
|
+
if (isFeatureEnabled('experimentalRoute', features)) {
|
|
109
|
+
requestBody.experimental = true;
|
|
110
|
+
}
|
|
88
111
|
fetchQuote(requestBody)
|
|
89
112
|
.then((res) => {
|
|
90
113
|
setLoading(false);
|
|
@@ -114,11 +137,14 @@ export function useSwapInput(): UseSwapInput {
|
|
|
114
137
|
}
|
|
115
138
|
};
|
|
116
139
|
|
|
117
|
-
const debouncedFetch =
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
140
|
+
const debouncedFetch = useCallback(
|
|
141
|
+
debounce((params: FetchQuoteParams) => {
|
|
142
|
+
if (!shouldSkipRequest) {
|
|
143
|
+
fetch(params);
|
|
144
|
+
}
|
|
145
|
+
}, DEBOUNCE_DELAY),
|
|
146
|
+
[shouldSkipRequest]
|
|
147
|
+
);
|
|
122
148
|
|
|
123
149
|
useEffect(() => {
|
|
124
150
|
if (!isPositiveNumber(inputAmount) || inputUsdValue?.eq(0)) {
|
|
@@ -131,20 +157,53 @@ export function useSwapInput(): UseSwapInput {
|
|
|
131
157
|
}
|
|
132
158
|
resetQuote();
|
|
133
159
|
resetState(true);
|
|
134
|
-
debouncedFetch(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
160
|
+
debouncedFetch({
|
|
161
|
+
inputAmount,
|
|
162
|
+
fromToken,
|
|
163
|
+
toToken,
|
|
164
|
+
liquiditySources,
|
|
165
|
+
excludeLiquiditySources: enableNewLiquiditySources,
|
|
166
|
+
disabledLiquiditySources,
|
|
167
|
+
slippage: userSlippage,
|
|
168
|
+
affiliateRef,
|
|
169
|
+
affiliatePercent,
|
|
170
|
+
affiliateWallets,
|
|
171
|
+
});
|
|
146
172
|
return cancelFetch;
|
|
147
|
-
}, [
|
|
173
|
+
}, [
|
|
174
|
+
inputAmount,
|
|
175
|
+
fromToken?.symbol,
|
|
176
|
+
fromToken?.address,
|
|
177
|
+
fromToken?.blockchain,
|
|
178
|
+
toToken?.symbol,
|
|
179
|
+
toToken?.address,
|
|
180
|
+
toToken?.blockchain,
|
|
181
|
+
shouldSkipRequest,
|
|
182
|
+
liquiditySources?.length,
|
|
183
|
+
enableNewLiquiditySources,
|
|
184
|
+
disabledLiquiditySources.length,
|
|
185
|
+
userSlippage,
|
|
186
|
+
affiliateRef,
|
|
187
|
+
affiliatePercent,
|
|
188
|
+
JSON.stringify(affiliateWallets),
|
|
189
|
+
]);
|
|
148
190
|
|
|
149
|
-
return {
|
|
191
|
+
return {
|
|
192
|
+
fetch: () =>
|
|
193
|
+
fetch({
|
|
194
|
+
inputAmount,
|
|
195
|
+
fromToken,
|
|
196
|
+
toToken,
|
|
197
|
+
liquiditySources,
|
|
198
|
+
excludeLiquiditySources: enableNewLiquiditySources,
|
|
199
|
+
disabledLiquiditySources,
|
|
200
|
+
slippage: userSlippage,
|
|
201
|
+
affiliateRef,
|
|
202
|
+
affiliatePercent,
|
|
203
|
+
affiliateWallets,
|
|
204
|
+
}),
|
|
205
|
+
loading,
|
|
206
|
+
error,
|
|
207
|
+
warning,
|
|
208
|
+
};
|
|
150
209
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import type { WidgetConfig } from '../types';
|
|
2
1
|
import type { Asset } from 'rango-sdk';
|
|
3
2
|
|
|
4
|
-
import { useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
|
|
5
4
|
|
|
6
|
-
import {
|
|
5
|
+
import { useAppStore } from '../store/AppStore';
|
|
7
6
|
import { useQuoteStore } from '../store/quote';
|
|
8
|
-
import { useSettingsStore } from '../store/settings';
|
|
9
7
|
import { tokensAreEqual } from '../utils/wallets';
|
|
10
8
|
|
|
11
|
-
export function useSyncStoresWithConfig(
|
|
9
|
+
export function useSyncStoresWithConfig() {
|
|
12
10
|
const {
|
|
13
11
|
setInputAmount,
|
|
14
12
|
setToToken,
|
|
@@ -21,13 +19,13 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
21
19
|
toBlockchain,
|
|
22
20
|
} = useQuoteStore();
|
|
23
21
|
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
const config = useAppStore().config;
|
|
23
|
+
const fetchMetaStatus = useAppStore().fetchStatus;
|
|
24
|
+
const blockchains = useAppStore().blockchains();
|
|
25
|
+
const tokens = useAppStore().tokens();
|
|
28
26
|
|
|
29
27
|
const { setAffiliateRef, setAffiliatePercent, setAffiliateWallets } =
|
|
30
|
-
|
|
28
|
+
useAppStore();
|
|
31
29
|
|
|
32
30
|
const fromTokensConfig = useMemo(
|
|
33
31
|
() => config?.from?.tokens,
|
|
@@ -54,8 +52,15 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
54
52
|
setInputAmount(config?.amount?.toString() || '');
|
|
55
53
|
}, [config?.amount]);
|
|
56
54
|
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
/*
|
|
56
|
+
* We update quote tokens in two scenarios.
|
|
57
|
+
* If default values exist in widget config or search parameters exist in URL.
|
|
58
|
+
* The logic for updating quote store exists in two useEffect in two locations, and they run in order.If default tokens for quote exist in widget config and also exist in URL, widget config values take precedence over URL values, and URL search parameters don’t affect the widget.
|
|
59
|
+
* Using useLayoutEffect causes widget config values to apply first.
|
|
60
|
+
* We may consider replacing this with a better solution in the future.
|
|
61
|
+
*/
|
|
62
|
+
useLayoutEffect(() => {
|
|
63
|
+
if (fetchMetaStatus === 'success') {
|
|
59
64
|
const chain = blockchains.find(
|
|
60
65
|
(chain) => chain.name === config?.from?.blockchain
|
|
61
66
|
);
|
|
@@ -67,8 +72,10 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
67
72
|
setFromBlockchain(chain ?? null);
|
|
68
73
|
}
|
|
69
74
|
|
|
70
|
-
if (token
|
|
71
|
-
setFromToken(token
|
|
75
|
+
if (token) {
|
|
76
|
+
setFromToken({ token, meta: { blockchains, tokens } });
|
|
77
|
+
} else if (!token && prevConfigFromToken.current) {
|
|
78
|
+
setFromToken({ token: null });
|
|
72
79
|
}
|
|
73
80
|
|
|
74
81
|
prevConfigFromBlockchain.current = config?.from?.blockchain;
|
|
@@ -79,13 +86,13 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
79
86
|
config?.from?.token?.address,
|
|
80
87
|
config?.from?.token?.blockchain,
|
|
81
88
|
config?.from?.blockchain,
|
|
82
|
-
|
|
89
|
+
fetchMetaStatus,
|
|
83
90
|
]);
|
|
84
91
|
|
|
85
92
|
useEffect(() => {
|
|
86
93
|
if (fromToken && fromTokensConfig) {
|
|
87
94
|
if (!fromTokensConfig.some((token) => tokensAreEqual(token, fromToken))) {
|
|
88
|
-
setFromToken(null);
|
|
95
|
+
setFromToken({ token: null });
|
|
89
96
|
}
|
|
90
97
|
}
|
|
91
98
|
|
|
@@ -99,7 +106,7 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
99
106
|
useEffect(() => {
|
|
100
107
|
if (toToken && toTokensConfig) {
|
|
101
108
|
if (!toTokensConfig.some((token) => tokensAreEqual(token, toToken))) {
|
|
102
|
-
setToToken(null);
|
|
109
|
+
setToToken({ token: null });
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
|
|
@@ -110,8 +117,15 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
110
117
|
}
|
|
111
118
|
}, [toTokensConfig, toBlockchainsConfig]);
|
|
112
119
|
|
|
113
|
-
|
|
114
|
-
|
|
120
|
+
/*
|
|
121
|
+
* We update quote tokens in two scenarios.
|
|
122
|
+
* If default values exist in widget config or search parameters exist in URL.
|
|
123
|
+
* The logic for updating quote store exists in two useEffect in two locations, and they run in order.If default tokens for quote exist in widget config and also exist in URL, widget config values take precedence over URL values, and URL search parameters don’t affect the widget.
|
|
124
|
+
* Using useLayoutEffect causes widget config values to apply first.
|
|
125
|
+
* We may consider replacing this with a better solution in the future.
|
|
126
|
+
*/
|
|
127
|
+
useLayoutEffect(() => {
|
|
128
|
+
if (fetchMetaStatus === 'success') {
|
|
115
129
|
const chain = blockchains.find(
|
|
116
130
|
(chain) => chain.name === config?.to?.blockchain
|
|
117
131
|
);
|
|
@@ -123,8 +137,10 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
123
137
|
setToBlockchain(chain ?? null);
|
|
124
138
|
}
|
|
125
139
|
|
|
126
|
-
if (token
|
|
127
|
-
setToToken(token
|
|
140
|
+
if (token) {
|
|
141
|
+
setToToken({ token, meta: { blockchains, tokens } });
|
|
142
|
+
} else if (!token && prevConfigToToken.current) {
|
|
143
|
+
setToToken({ token: null });
|
|
128
144
|
}
|
|
129
145
|
|
|
130
146
|
prevConfigToBlockchain.current = config?.to?.blockchain;
|
|
@@ -135,7 +151,7 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
|
|
|
135
151
|
config?.to?.token?.address,
|
|
136
152
|
config?.to?.token?.blockchain,
|
|
137
153
|
config?.to?.blockchain,
|
|
138
|
-
|
|
154
|
+
fetchMetaStatus,
|
|
139
155
|
]);
|
|
140
156
|
|
|
141
157
|
useEffect(() => {
|
package/src/hooks/useTheme.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-magic-numbers */
|
|
2
|
-
import type { WidgetTheme } from '../types';
|
|
3
|
-
|
|
4
2
|
import {
|
|
5
3
|
createTheme,
|
|
6
4
|
darkTheme as defaultDarkTheme,
|
|
@@ -8,7 +6,8 @@ import {
|
|
|
8
6
|
} from '@rango-dev/ui';
|
|
9
7
|
import { useEffect, useState } from 'react';
|
|
10
8
|
|
|
11
|
-
import {
|
|
9
|
+
import { useAppStore } from '../store/AppStore';
|
|
10
|
+
import { type WidgetTheme } from '../types';
|
|
12
11
|
import {
|
|
13
12
|
DEFAULT_FONT_FAMILY,
|
|
14
13
|
DEFAULT_PRIMARY_RADIUS,
|
|
@@ -26,8 +25,8 @@ export function useTheme(props: WidgetTheme) {
|
|
|
26
25
|
} = props;
|
|
27
26
|
|
|
28
27
|
const [OSTheme, setOSTheme] = useState('light');
|
|
29
|
-
|
|
30
|
-
const setTheme =
|
|
28
|
+
|
|
29
|
+
const { setTheme, theme } = useAppStore();
|
|
31
30
|
|
|
32
31
|
const { dark, light } = customizedThemeTokens(colors);
|
|
33
32
|
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from '@rango-dev/wallets-shared';
|
|
11
11
|
import { useEffect, useState } from 'react';
|
|
12
12
|
|
|
13
|
-
import {
|
|
13
|
+
import { useAppStore } from '../store/AppStore';
|
|
14
14
|
import { useWalletsStore } from '../store/wallets';
|
|
15
15
|
import { configWalletsToWalletName } from '../utils/providers';
|
|
16
16
|
import {
|
|
@@ -37,9 +37,7 @@ export function useWalletList(params: Params) {
|
|
|
37
37
|
const { config, chain, onBeforeConnect, onConnect } = params;
|
|
38
38
|
const { state, disconnect, getWalletInfo, connect } = useWallets();
|
|
39
39
|
const { connectedWallets } = useWalletsStore();
|
|
40
|
-
const
|
|
41
|
-
const multiWallets =
|
|
42
|
-
typeof config?.multiWallets === 'undefined' ? true : config.multiWallets;
|
|
40
|
+
const blockchains = useAppStore().blockchains();
|
|
43
41
|
|
|
44
42
|
/** It can be what has been set by widget config or as a fallback we use all the supported wallets by our library */
|
|
45
43
|
const listAvailableWalletTypes =
|
|
@@ -76,7 +74,7 @@ export function useWalletList(params: Params) {
|
|
|
76
74
|
const atLeastOneWalletIsConnected = !!wallets.find(
|
|
77
75
|
(w) => w.state === WalletState.CONNECTED
|
|
78
76
|
);
|
|
79
|
-
if (!multiWallets && atLeastOneWalletIsConnected) {
|
|
77
|
+
if (!config?.multiWallets && atLeastOneWalletIsConnected) {
|
|
80
78
|
return;
|
|
81
79
|
}
|
|
82
80
|
onBeforeConnect?.(type);
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { WidgetProps } from './containers/Widget';
|
|
2
|
+
import type { ConnectedWallet } from './store/wallets';
|
|
1
3
|
import type {
|
|
2
4
|
BlockchainAndTokenConfig,
|
|
3
5
|
WidgetColors,
|
|
@@ -5,10 +7,12 @@ import type {
|
|
|
5
7
|
WidgetConfig,
|
|
6
8
|
WidgetTheme,
|
|
7
9
|
} from './types';
|
|
8
|
-
import type { WidgetProps } from './Widget';
|
|
9
10
|
import type {
|
|
11
|
+
EventSeverity,
|
|
12
|
+
PendingSwapWithQueueID,
|
|
10
13
|
Route,
|
|
11
14
|
RouteEvent,
|
|
15
|
+
RouteExecutionEvents,
|
|
12
16
|
RouteFailedEvent,
|
|
13
17
|
RouteStartedEvent,
|
|
14
18
|
RouteSucceededEvent,
|
|
@@ -27,7 +31,16 @@ import type {
|
|
|
27
31
|
EventHandler as HandleWalletsUpdate,
|
|
28
32
|
ProviderInterface,
|
|
29
33
|
} from '@rango-dev/wallets-react';
|
|
30
|
-
import type {
|
|
34
|
+
import type {
|
|
35
|
+
WalletInfo,
|
|
36
|
+
WalletState,
|
|
37
|
+
WalletType,
|
|
38
|
+
} from '@rango-dev/wallets-shared';
|
|
39
|
+
import type {
|
|
40
|
+
PendingSwap,
|
|
41
|
+
PendingSwapNetworkStatus,
|
|
42
|
+
PendingSwapStep,
|
|
43
|
+
} from 'rango-types';
|
|
31
44
|
|
|
32
45
|
import {
|
|
33
46
|
MainEvents,
|
|
@@ -37,10 +50,18 @@ import {
|
|
|
37
50
|
StepExecutionEventStatus,
|
|
38
51
|
useEvents as useWidgetEvents,
|
|
39
52
|
} from '@rango-dev/queue-manager-rango-preset';
|
|
40
|
-
import {
|
|
53
|
+
import {
|
|
54
|
+
readAccountAddress,
|
|
55
|
+
useWallets,
|
|
56
|
+
Events as WalletEvents,
|
|
57
|
+
} from '@rango-dev/wallets-react';
|
|
58
|
+
import { Networks, WalletTypes } from '@rango-dev/wallets-shared';
|
|
41
59
|
|
|
42
|
-
import { WidgetWallets } from './Wallets';
|
|
43
|
-
import { Widget } from './Widget';
|
|
60
|
+
import { WidgetWallets } from './containers/Wallets';
|
|
61
|
+
import { Widget } from './containers/Widget';
|
|
62
|
+
import { useWidget } from './containers/WidgetInfo';
|
|
63
|
+
import { WidgetProvider } from './containers/WidgetProvider';
|
|
64
|
+
import { customizedThemeTokens } from './utils/ui';
|
|
44
65
|
|
|
45
66
|
export type {
|
|
46
67
|
WidgetConfig,
|
|
@@ -67,15 +88,42 @@ export type {
|
|
|
67
88
|
StepApprovalTxSucceededEvent,
|
|
68
89
|
StepOutputRevealedEvent,
|
|
69
90
|
HandleWalletsUpdate,
|
|
91
|
+
ConnectedWallet,
|
|
70
92
|
};
|
|
71
93
|
export {
|
|
72
94
|
Widget,
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated Use `WidgetProvider` instead. This component will be removed in future versions.
|
|
97
|
+
*/
|
|
73
98
|
WidgetWallets,
|
|
99
|
+
WidgetProvider,
|
|
100
|
+
useWidget,
|
|
74
101
|
useWallets,
|
|
75
102
|
useWidgetEvents,
|
|
103
|
+
customizedThemeTokens,
|
|
76
104
|
MainEvents,
|
|
77
105
|
RouteEventType,
|
|
78
106
|
StepEventType,
|
|
79
107
|
StepExecutionEventStatus,
|
|
80
108
|
StepExecutionBlockedEventStatus,
|
|
81
109
|
};
|
|
110
|
+
|
|
111
|
+
// Internal type exports for Rango
|
|
112
|
+
export type {
|
|
113
|
+
WalletState,
|
|
114
|
+
WalletInfo,
|
|
115
|
+
PendingSwap,
|
|
116
|
+
PendingSwapWithQueueID,
|
|
117
|
+
PendingSwapStep,
|
|
118
|
+
RouteExecutionEvents,
|
|
119
|
+
EventSeverity,
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
// Internal function and enum exports for Rango
|
|
123
|
+
export {
|
|
124
|
+
readAccountAddress,
|
|
125
|
+
Networks,
|
|
126
|
+
WalletEvents,
|
|
127
|
+
WalletTypes,
|
|
128
|
+
PendingSwapNetworkStatus,
|
|
129
|
+
};
|