@lifi/widget 1.14.1 → 1.16.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 +21 -0
- package/cjs/App.js +21 -0
- package/cjs/components/ActiveSwaps/ActiveSwapItem.d.ts +5 -0
- package/cjs/components/ActiveSwaps/ActiveSwapItem.js +45 -0
- package/cjs/components/{SwapInProgress/SwapInProgress.d.ts → ActiveSwaps/ActiveSwaps.d.ts} +1 -1
- package/cjs/components/ActiveSwaps/ActiveSwaps.js +30 -0
- package/cjs/components/ActiveSwaps/ActiveSwaps.style.d.ts +78 -0
- package/cjs/components/ActiveSwaps/ActiveSwaps.style.js +40 -0
- package/cjs/components/ActiveSwaps/index.d.ts +2 -0
- package/cjs/components/ActiveSwaps/index.js +18 -0
- package/cjs/components/Card/Card.d.ts +7 -4
- package/cjs/components/Card/Card.js +38 -28
- package/cjs/{pages/SelectTokenPage → components/ChainSelect}/ChainSelect.d.ts +1 -1
- package/cjs/components/ChainSelect/ChainSelect.js +35 -0
- package/cjs/components/{SwapInProgress/SwapInProgress.style.d.ts → ChainSelect/ChainSelect.style.d.ts} +10 -19
- package/cjs/components/ChainSelect/ChainSelect.style.js +19 -0
- package/cjs/components/ChainSelect/index.d.ts +2 -0
- package/cjs/components/ChainSelect/index.js +18 -0
- package/cjs/components/ChainSelect/useChainSelect.d.ts +8 -0
- package/cjs/components/ChainSelect/useChainSelect.js +33 -0
- package/cjs/components/Header/Header.js +3 -11
- package/cjs/components/Header/NavigationHeader.js +10 -17
- package/cjs/components/Header/WalletHeader.js +4 -5
- package/cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/cjs/components/PoweredBy/PoweredBy.style.js +1 -0
- package/cjs/components/ReverseTokensButton/ReverseTokensButton.js +10 -10
- package/cjs/components/SelectTokenButton/SelectTokenButton.d.ts +1 -1
- package/cjs/components/SelectTokenButton/SelectTokenButton.js +3 -3
- package/{components/SwapInProgress/SwapInProgress.d.ts → cjs/components/SendToWallet/SendToWallet.d.ts} +1 -1
- package/cjs/components/SendToWallet/SendToWallet.js +53 -0
- package/cjs/components/SendToWallet/SendToWallet.style.d.ts +19 -0
- package/cjs/components/SendToWallet/SendToWallet.style.js +15 -0
- package/cjs/components/SendToWallet/index.d.ts +1 -0
- package/cjs/components/{SwapInProgress → SendToWallet}/index.js +1 -1
- package/cjs/components/Step/CircularProgress.js +1 -1
- package/cjs/components/Step/CircularProgress.style.js +1 -1
- package/cjs/components/Step/StepProcess.js +1 -5
- package/cjs/components/Step/StepProcess.style.d.ts +1 -1
- package/cjs/components/Step/StepTimer.d.ts +1 -0
- package/cjs/components/Step/StepTimer.js +6 -6
- package/cjs/components/SwapButton/SwapButton.js +10 -14
- package/cjs/components/SwapButton/types.d.ts +2 -2
- package/cjs/components/SwapInput/FormPriceHelperText.d.ts +1 -1
- package/cjs/components/SwapInput/FormPriceHelperText.js +4 -4
- package/cjs/components/SwapInput/SwapInput.d.ts +1 -1
- package/cjs/components/SwapInput/SwapInput.js +4 -4
- package/cjs/components/SwapInput/SwapInputAdornment.d.ts +1 -1
- package/cjs/components/SwapInput/SwapInputAdornment.js +4 -4
- package/cjs/components/SwapRouteCard/SwapRouteCard.js +5 -4
- package/cjs/components/SwapRouteCard/SwapRouteCard.style.js +3 -3
- package/cjs/components/TokenAvatar/TokenAvatar.style.js +0 -3
- package/cjs/components/TokenList/TokenList.js +14 -11
- package/cjs/components/TokenList/types.d.ts +1 -1
- package/cjs/config/theme.js +24 -23
- package/cjs/config/version.d.ts +1 -1
- package/cjs/config/version.js +1 -1
- package/cjs/hooks/index.d.ts +3 -0
- package/cjs/hooks/index.js +3 -0
- package/cjs/hooks/useChains.d.ts +1 -97
- package/cjs/hooks/useChains.js +8 -15
- package/cjs/hooks/useNavigateBack.d.ts +4 -0
- package/cjs/hooks/useNavigateBack.js +18 -0
- package/cjs/{components/Step/utils.d.ts → hooks/useProcessMessage.d.ts} +4 -0
- package/cjs/{components/Step/utils.js → hooks/useProcessMessage.js} +16 -10
- package/cjs/hooks/useRouteExecution.d.ts +1 -1
- package/cjs/hooks/useRouteExecution.js +20 -29
- package/cjs/hooks/useSwapRoutes.js +18 -7
- package/cjs/hooks/useWidgetEvents.d.ts +3 -0
- package/cjs/hooks/useWidgetEvents.js +13 -0
- package/cjs/i18n/en/translation.json +25 -15
- package/cjs/i18n/index.d.ts +20 -10
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +3 -1
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.d.ts +2 -0
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +18 -0
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +2 -0
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.js +21 -0
- package/cjs/pages/ActiveSwapsPage/index.d.ts +1 -0
- package/cjs/pages/ActiveSwapsPage/index.js +17 -0
- package/cjs/pages/MainPage/MainPage.js +2 -2
- package/cjs/pages/MainPage/MainSwapButton.js +3 -1
- package/cjs/pages/MainPage/SwapRoutes.js +4 -1
- package/cjs/pages/SelectChainPage/SelectChainPage.d.ts +3 -0
- package/cjs/pages/SelectChainPage/SelectChainPage.js +33 -0
- package/cjs/pages/SelectChainPage/SelectChainPage.style.d.ts +21 -0
- package/cjs/pages/SelectChainPage/SelectChainPage.style.js +20 -0
- package/cjs/pages/SelectChainPage/index.d.ts +1 -0
- package/cjs/pages/SelectChainPage/index.js +17 -0
- package/cjs/pages/SelectTokenPage/SearchTokenInput.js +3 -3
- package/cjs/pages/SelectTokenPage/SelectTokenPage.d.ts +2 -4
- package/cjs/pages/SelectTokenPage/SelectTokenPage.js +4 -8
- package/cjs/pages/SelectWalletPage/SelectWalletPage.js +10 -10
- package/cjs/pages/SelectWalletPage/SelectWalletPage.style.d.ts +2 -27
- package/cjs/pages/SelectWalletPage/SelectWalletPage.style.js +4 -14
- package/cjs/pages/SettingsPage/AdvancedPreferences.js +2 -2
- package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +2 -2
- package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
- package/cjs/pages/SettingsPage/EnabledBridgesSelect.js +3 -6
- package/cjs/pages/SettingsPage/EnabledExchangesSelect.js +3 -5
- package/cjs/pages/SettingsPage/RoutePrioritySelect.js +5 -1
- package/cjs/pages/SettingsPage/SettingsPage.js +2 -1
- package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +2 -0
- package/cjs/pages/SettingsPage/ShowDestinationWallet.js +22 -0
- package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +4 -3
- package/cjs/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
- package/cjs/pages/SwapPage/StatusBottomSheet.js +29 -41
- package/cjs/pages/SwapPage/SwapPage.js +7 -3
- package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +1 -1
- package/cjs/providers/SwapFormProvider/SwapFormProvider.d.ts +1 -0
- package/cjs/providers/SwapFormProvider/SwapFormProvider.js +43 -9
- package/cjs/providers/SwapFormProvider/types.d.ts +3 -1
- package/cjs/providers/SwapFormProvider/types.js +1 -0
- package/cjs/providers/WalletProvider/WalletProvider.js +10 -4
- package/cjs/providers/WalletProvider/types.d.ts +4 -2
- package/cjs/providers/WidgetProvider/WidgetProvider.js +3 -7
- package/cjs/providers/index.d.ts +4 -0
- package/cjs/providers/index.js +20 -0
- package/cjs/stores/chains/index.d.ts +4 -0
- package/cjs/stores/chains/index.js +20 -0
- package/cjs/stores/chains/types.d.ts +8 -0
- package/cjs/stores/chains/types.js +2 -0
- package/cjs/stores/chains/useChainOrder.d.ts +1 -0
- package/cjs/stores/chains/useChainOrder.js +12 -0
- package/cjs/stores/chains/useChainOrderStore.d.ts +19 -0
- package/cjs/stores/chains/useChainOrderStore.js +42 -0
- package/cjs/stores/chains/useInitializeChainOrder.d.ts +1 -0
- package/cjs/stores/chains/useInitializeChainOrder.js +12 -0
- package/cjs/stores/route/index.d.ts +2 -1
- package/cjs/stores/route/index.js +2 -1
- package/cjs/stores/route/useExecutingRoutesIds.d.ts +1 -0
- package/cjs/stores/route/useExecutingRoutesIds.js +20 -0
- package/cjs/stores/route/useRouteStore.js +5 -4
- package/cjs/stores/route/utils.d.ts +4 -0
- package/cjs/stores/route/utils.js +21 -0
- package/cjs/stores/settings/types.d.ts +2 -1
- package/cjs/stores/settings/useSettingsStore.d.ts +4 -2
- package/cjs/stores/settings/useSettingsStore.js +6 -2
- package/cjs/types/events.d.ts +5 -0
- package/cjs/types/events.js +9 -0
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/index.js +1 -0
- package/cjs/types/widget.d.ts +3 -1
- package/cjs/utils/format.js +7 -2
- package/cjs/utils/navigationRoutes.d.ts +5 -0
- package/cjs/utils/navigationRoutes.js +31 -4
- package/components/ActiveSwaps/ActiveSwapItem.d.ts +5 -0
- package/components/ActiveSwaps/ActiveSwapItem.js +41 -0
- package/components/ActiveSwaps/ActiveSwaps.d.ts +3 -0
- package/components/ActiveSwaps/ActiveSwaps.js +26 -0
- package/components/ActiveSwaps/ActiveSwaps.style.d.ts +78 -0
- package/components/ActiveSwaps/ActiveSwaps.style.js +37 -0
- package/components/ActiveSwaps/index.d.ts +2 -0
- package/components/ActiveSwaps/index.js +2 -0
- package/components/Card/Card.d.ts +7 -4
- package/components/Card/Card.js +39 -29
- package/{pages/SelectTokenPage → components/ChainSelect}/ChainSelect.d.ts +1 -1
- package/components/ChainSelect/ChainSelect.js +31 -0
- package/components/{SwapInProgress/SwapInProgress.style.d.ts → ChainSelect/ChainSelect.style.d.ts} +10 -19
- package/components/ChainSelect/ChainSelect.style.js +16 -0
- package/components/ChainSelect/index.d.ts +2 -0
- package/components/ChainSelect/index.js +2 -0
- package/components/ChainSelect/useChainSelect.d.ts +8 -0
- package/components/ChainSelect/useChainSelect.js +29 -0
- package/components/Header/Header.js +2 -10
- package/components/Header/NavigationHeader.js +11 -18
- package/components/Header/WalletHeader.js +1 -2
- package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/components/PoweredBy/PoweredBy.style.js +1 -0
- package/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
- package/components/SelectTokenButton/SelectTokenButton.d.ts +1 -1
- package/components/SelectTokenButton/SelectTokenButton.js +1 -1
- package/components/SendToWallet/SendToWallet.d.ts +3 -0
- package/components/SendToWallet/SendToWallet.js +49 -0
- package/components/SendToWallet/SendToWallet.style.d.ts +19 -0
- package/components/SendToWallet/SendToWallet.style.js +12 -0
- package/components/SendToWallet/index.d.ts +1 -0
- package/components/SendToWallet/index.js +1 -0
- package/components/Step/CircularProgress.js +3 -3
- package/components/Step/CircularProgress.style.js +1 -1
- package/components/Step/StepProcess.js +2 -6
- package/components/Step/StepProcess.style.d.ts +1 -1
- package/components/Step/StepTimer.d.ts +1 -0
- package/components/Step/StepTimer.js +6 -6
- package/components/SwapButton/SwapButton.js +7 -11
- package/components/SwapButton/types.d.ts +2 -2
- package/components/SwapInput/FormPriceHelperText.d.ts +1 -1
- package/components/SwapInput/FormPriceHelperText.js +1 -1
- package/components/SwapInput/SwapInput.d.ts +1 -1
- package/components/SwapInput/SwapInput.js +1 -1
- package/components/SwapInput/SwapInputAdornment.d.ts +1 -1
- package/components/SwapInput/SwapInputAdornment.js +1 -1
- package/components/SwapRouteCard/SwapRouteCard.js +5 -4
- package/components/SwapRouteCard/SwapRouteCard.style.js +3 -3
- package/components/TokenAvatar/TokenAvatar.style.js +0 -3
- package/components/TokenList/TokenList.js +7 -4
- package/components/TokenList/types.d.ts +1 -1
- package/config/theme.js +24 -23
- package/config/version.d.ts +1 -1
- package/config/version.js +1 -1
- package/hooks/index.d.ts +3 -0
- package/hooks/index.js +3 -0
- package/hooks/useChains.d.ts +1 -97
- package/hooks/useChains.js +8 -15
- package/hooks/useNavigateBack.d.ts +4 -0
- package/hooks/useNavigateBack.js +14 -0
- package/{components/Step/utils.d.ts → hooks/useProcessMessage.d.ts} +4 -0
- package/{pages/SwapPage/utils.js → hooks/useProcessMessage.js} +15 -10
- package/hooks/useRouteExecution.d.ts +1 -1
- package/hooks/useRouteExecution.js +21 -30
- package/hooks/useSwapRoutes.js +18 -7
- package/hooks/useWidgetEvents.d.ts +3 -0
- package/hooks/useWidgetEvents.js +6 -0
- package/i18n/en/translation.json +25 -15
- package/i18n/index.d.ts +20 -10
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +17 -19
- package/pages/ActiveSwapsPage/ActiveSwapsEmpty.d.ts +2 -0
- package/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +14 -0
- package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +2 -0
- package/pages/ActiveSwapsPage/ActiveSwapsPage.js +17 -0
- package/pages/ActiveSwapsPage/index.d.ts +1 -0
- package/pages/ActiveSwapsPage/index.js +1 -0
- package/pages/MainPage/MainPage.js +2 -2
- package/pages/MainPage/MainSwapButton.js +3 -1
- package/pages/MainPage/SwapRoutes.js +4 -1
- package/pages/SelectChainPage/SelectChainPage.d.ts +3 -0
- package/pages/SelectChainPage/SelectChainPage.js +29 -0
- package/pages/SelectChainPage/SelectChainPage.style.d.ts +21 -0
- package/pages/SelectChainPage/SelectChainPage.style.js +17 -0
- package/pages/SelectChainPage/index.d.ts +1 -0
- package/pages/SelectChainPage/index.js +1 -0
- package/pages/SelectTokenPage/SearchTokenInput.js +1 -1
- package/pages/SelectTokenPage/SelectTokenPage.d.ts +2 -4
- package/pages/SelectTokenPage/SelectTokenPage.js +5 -9
- package/pages/SelectWalletPage/SelectWalletPage.js +10 -10
- package/pages/SelectWalletPage/SelectWalletPage.style.d.ts +2 -27
- package/pages/SelectWalletPage/SelectWalletPage.style.js +4 -14
- package/pages/SettingsPage/AdvancedPreferences.js +2 -2
- package/pages/SettingsPage/ColorSchemeButtonGroup.js +1 -1
- package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
- package/pages/SettingsPage/EnabledBridgesSelect.js +4 -7
- package/pages/SettingsPage/EnabledExchangesSelect.js +4 -6
- package/pages/SettingsPage/RoutePrioritySelect.js +5 -1
- package/pages/SettingsPage/SettingsPage.js +2 -1
- package/pages/SettingsPage/ShowDestinationWallet.d.ts +2 -0
- package/pages/SettingsPage/ShowDestinationWallet.js +18 -0
- package/pages/SwapDetailsPage/SwapDetailsPage.js +5 -4
- package/pages/SwapHistoryPage/SwapHistoryPage.js +1 -1
- package/pages/SwapPage/StatusBottomSheet.js +30 -42
- package/pages/SwapPage/SwapPage.js +9 -5
- package/pages/SwapRoutesPage/SwapRoutesPage.js +1 -1
- package/providers/SwapFormProvider/SwapFormProvider.d.ts +1 -0
- package/providers/SwapFormProvider/SwapFormProvider.js +43 -9
- package/providers/SwapFormProvider/types.d.ts +3 -1
- package/providers/SwapFormProvider/types.js +1 -0
- package/providers/WalletProvider/WalletProvider.js +10 -4
- package/providers/WalletProvider/types.d.ts +4 -2
- package/providers/WidgetProvider/WidgetProvider.js +3 -7
- package/providers/index.d.ts +4 -0
- package/providers/index.js +4 -0
- package/stores/chains/index.d.ts +4 -0
- package/stores/chains/index.js +4 -0
- package/stores/chains/types.d.ts +8 -0
- package/stores/chains/types.js +1 -0
- package/stores/chains/useChainOrder.d.ts +1 -0
- package/stores/chains/useChainOrder.js +5 -0
- package/stores/chains/useChainOrderStore.d.ts +19 -0
- package/stores/chains/useChainOrderStore.js +36 -0
- package/stores/chains/useInitializeChainOrder.d.ts +1 -0
- package/stores/chains/useInitializeChainOrder.js +5 -0
- package/stores/route/index.d.ts +2 -1
- package/stores/route/index.js +2 -1
- package/stores/route/useExecutingRoutesIds.d.ts +1 -0
- package/stores/route/useExecutingRoutesIds.js +13 -0
- package/stores/route/useRouteStore.js +5 -4
- package/stores/route/utils.d.ts +4 -0
- package/stores/route/utils.js +15 -0
- package/stores/settings/types.d.ts +2 -1
- package/stores/settings/useSettingsStore.d.ts +4 -2
- package/stores/settings/useSettingsStore.js +6 -2
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/types/events.d.ts +5 -0
- package/types/events.js +6 -0
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/types/widget.d.ts +3 -1
- package/utils/format.js +7 -2
- package/utils/navigationRoutes.d.ts +5 -0
- package/utils/navigationRoutes.js +30 -3
- package/cjs/components/SwapButton/SwapButton.style.d.ts +0 -65
- package/cjs/components/SwapButton/SwapButton.style.js +0 -15
- package/cjs/components/SwapInProgress/SwapInProgress.js +0 -29
- package/cjs/components/SwapInProgress/SwapInProgress.style.js +0 -17
- package/cjs/components/SwapInProgress/index.d.ts +0 -1
- package/cjs/pages/SelectTokenPage/ChainSelect.js +0 -32
- package/cjs/pages/SwapPage/utils.d.ts +0 -6
- package/cjs/pages/SwapPage/utils.js +0 -93
- package/cjs/stores/route/useExecutingRoutes.d.ts +0 -2
- package/cjs/stores/route/useExecutingRoutes.js +0 -13
- package/components/Step/utils.js +0 -89
- package/components/SwapButton/SwapButton.style.d.ts +0 -65
- package/components/SwapButton/SwapButton.style.js +0 -12
- package/components/SwapInProgress/SwapInProgress.js +0 -25
- package/components/SwapInProgress/SwapInProgress.style.js +0 -14
- package/components/SwapInProgress/index.d.ts +0 -1
- package/components/SwapInProgress/index.js +0 -1
- package/pages/SelectTokenPage/ChainSelect.js +0 -28
- package/pages/SwapPage/utils.d.ts +0 -6
- package/stores/route/useExecutingRoutes.d.ts +0 -2
- package/stores/route/useExecutingRoutes.js +0 -6
|
@@ -23,20 +23,21 @@ const SwapRouteCard = (_a) => {
|
|
|
23
23
|
var _b, _c;
|
|
24
24
|
var { route, active, dense } = _a, other = __rest(_a, ["route", "active", "dense"]);
|
|
25
25
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
26
|
+
const alternativeTag = t(`swap.tags.ALTERNATIVE`);
|
|
26
27
|
const label = ((_b = route.tags) === null || _b === void 0 ? void 0 : _b.length)
|
|
27
|
-
? t(`swap.tags.${route.tags[0]
|
|
28
|
-
:
|
|
28
|
+
? t(`swap.tags.${route.tags[0]}`)
|
|
29
|
+
: alternativeTag;
|
|
29
30
|
return ((0, jsx_runtime_1.jsxs)(Card_1.Card, Object.assign({ dense: dense, indented: true }, other, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, Object.assign({ sx: {
|
|
30
31
|
display: 'flex',
|
|
31
32
|
alignItems: 'center',
|
|
32
33
|
justifyContent: 'space-between',
|
|
33
|
-
}, mb: 2 }, { children: (0, jsx_runtime_1.jsx)(SwapRouteCard_style_1.Label, Object.assign({ active: active }, { children: label })) })), (0, jsx_runtime_1.jsx)(Token_1.Token, { token: Object.assign(Object.assign({}, route.toToken), { amount: route.toAmount }), mb: 2 }), !dense
|
|
34
|
+
}, mb: 2 }, { children: (0, jsx_runtime_1.jsx)(SwapRouteCard_style_1.Label, Object.assign({ active: active !== null && active !== void 0 ? active : label !== alternativeTag }, { children: label })) })), (0, jsx_runtime_1.jsx)(Token_1.Token, { token: Object.assign(Object.assign({}, route.toToken), { amount: route.toAmount }), mb: 2 }), !dense
|
|
34
35
|
? route.steps.map((step) => ((0, jsx_runtime_1.jsx)(StepActions_1.StepActions, { step: step, mb: 2 }, step.id)))
|
|
35
36
|
: null, (0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ sx: {
|
|
36
37
|
display: 'flex',
|
|
37
38
|
justifyContent: 'space-between',
|
|
38
39
|
} }, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ fontSize: 18, fontWeight: "500", lineHeight: 1, pt: 0.25 }, { children: t(`swap.currency`, { value: (_c = route.gasCostUSD) !== null && _c !== void 0 ? _c : 0 }) })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ fontSize: 12, color: "text.secondary", lineHeight: 1, mt: 0.5 }, { children: t(`swap.gas`) }))] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { children: [(0, jsx_runtime_1.jsxs)(material_1.Typography, Object.assign({ fontSize: 18, fontWeight: "500", display: "flex", justifyContent: "flex-end", lineHeight: 1, pt: 0.25 }, { children: ["~", (route.steps
|
|
39
40
|
.map((step) => step.estimate.executionDuration)
|
|
40
|
-
.reduce((
|
|
41
|
+
.reduce((duration, x) => duration + x) / 60).toFixed(0)] })), (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ fontSize: 12, color: "text.secondary", textAlign: "end", lineHeight: 1, mt: 0.5 }, { children: t(`swap.minutes`) }))] })] }))] })));
|
|
41
42
|
};
|
|
42
43
|
exports.SwapRouteCard = SwapRouteCard;
|
|
@@ -7,16 +7,16 @@ const utils_1 = require("../../utils");
|
|
|
7
7
|
exports.Label = (0, styles_1.styled)(material_1.Typography, {
|
|
8
8
|
shouldForwardProp: (prop) => prop !== 'active',
|
|
9
9
|
})(({ theme, active }) => ({
|
|
10
|
-
backgroundColor: active ? theme.palette.
|
|
10
|
+
backgroundColor: active ? theme.palette.secondary.main : 'transparent',
|
|
11
11
|
border: '1px solid',
|
|
12
12
|
borderColor: active
|
|
13
|
-
? theme.palette.
|
|
13
|
+
? theme.palette.secondary.main
|
|
14
14
|
: theme.palette.mode === 'light'
|
|
15
15
|
? theme.palette.grey[500]
|
|
16
16
|
: theme.palette.grey[600],
|
|
17
17
|
borderRadius: theme.shape.borderRadiusSecondary,
|
|
18
18
|
color: active
|
|
19
|
-
? (0, utils_1.getContrastTextColor)(theme, theme.palette.
|
|
19
|
+
? (0, utils_1.getContrastTextColor)(theme, theme.palette.secondary.main)
|
|
20
20
|
: theme.palette.text.secondary,
|
|
21
21
|
padding: theme.spacing(0.75),
|
|
22
22
|
fontSize: 12,
|
|
@@ -6,9 +6,6 @@ const Avatar_1 = require("@mui/material/Avatar");
|
|
|
6
6
|
const Badge_1 = require("@mui/material/Badge");
|
|
7
7
|
const styles_1 = require("@mui/material/styles");
|
|
8
8
|
exports.TokenAvatarGroup = (0, styles_1.styled)(material_1.AvatarGroup)(({ theme }) => ({
|
|
9
|
-
[`& .${Avatar_1.avatarClasses.root}`]: {
|
|
10
|
-
background: theme.palette.background.paper,
|
|
11
|
-
},
|
|
12
9
|
[`& .${Badge_1.badgeClasses.badge}:last-child .${Avatar_1.avatarClasses.root}`]: {
|
|
13
10
|
marginLeft: theme.spacing(-1),
|
|
14
11
|
boxSizing: 'border-box',
|
|
@@ -6,19 +6,18 @@ const material_1 = require("@mui/material");
|
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const react_hook_form_1 = require("react-hook-form");
|
|
8
8
|
const hooks_1 = require("../../hooks");
|
|
9
|
-
const
|
|
10
|
-
const WalletProvider_1 = require("../../providers/WalletProvider");
|
|
9
|
+
const providers_1 = require("../../providers");
|
|
11
10
|
const TokenNotFound_1 = require("./TokenNotFound");
|
|
12
11
|
const VirtualizedTokenList_1 = require("./VirtualizedTokenList");
|
|
13
12
|
const TokenList = ({ formType, height, onClick, }) => {
|
|
14
13
|
var _a, _b;
|
|
15
14
|
const parentRef = (0, react_1.useRef)(null);
|
|
16
|
-
const { account } = (0,
|
|
15
|
+
const { account } = (0, providers_1.useWallet)();
|
|
17
16
|
const { setValue, getValues } = (0, react_hook_form_1.useFormContext)();
|
|
18
17
|
const [selectedChainId] = (0, react_hook_form_1.useWatch)({
|
|
19
|
-
name: [
|
|
18
|
+
name: [providers_1.SwapFormKeyHelper.getChainKey(formType)],
|
|
20
19
|
});
|
|
21
|
-
const [tokenSearchFilter] = (0, hooks_1.useDebouncedWatch)([
|
|
20
|
+
const [tokenSearchFilter] = (0, hooks_1.useDebouncedWatch)([providers_1.SwapFormKey.TokenSearchFilter], 250);
|
|
22
21
|
const { tokens: chainTokens, tokensWithBalance, isLoading: isTokensLoading, isBalanceLoading, featuredTokens, } = (0, hooks_1.useTokenBalances)(selectedChainId);
|
|
23
22
|
let filteredTokens = ((_a = tokensWithBalance !== null && tokensWithBalance !== void 0 ? tokensWithBalance : chainTokens) !== null && _a !== void 0 ? _a : []);
|
|
24
23
|
const searchFilter = (_b = tokenSearchFilter === null || tokenSearchFilter === void 0 ? void 0 : tokenSearchFilter.toUpperCase()) !== null && _b !== void 0 ? _b : '';
|
|
@@ -36,17 +35,21 @@ const TokenList = ({ formType, height, onClick, }) => {
|
|
|
36
35
|
? [searchedToken]
|
|
37
36
|
: filteredTokens;
|
|
38
37
|
const handleTokenClick = (0, react_1.useCallback)((tokenAddress) => {
|
|
39
|
-
setValue(
|
|
40
|
-
|
|
38
|
+
setValue(providers_1.SwapFormKeyHelper.getTokenKey(formType), tokenAddress, {
|
|
39
|
+
shouldDirty: true,
|
|
40
|
+
});
|
|
41
|
+
setValue(providers_1.SwapFormKeyHelper.getAmountKey(formType), '');
|
|
41
42
|
const oppositeFormType = formType === 'from' ? 'to' : 'from';
|
|
42
43
|
const [selectedOppositeToken, selectedOppositeChain, selectedChain] = getValues([
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
providers_1.SwapFormKeyHelper.getTokenKey(oppositeFormType),
|
|
45
|
+
providers_1.SwapFormKeyHelper.getChainKey(oppositeFormType),
|
|
46
|
+
providers_1.SwapFormKeyHelper.getChainKey(formType),
|
|
46
47
|
]);
|
|
47
48
|
if (selectedOppositeToken === tokenAddress &&
|
|
48
49
|
selectedOppositeChain === selectedChain) {
|
|
49
|
-
setValue(
|
|
50
|
+
setValue(providers_1.SwapFormKeyHelper.getTokenKey(oppositeFormType), '', {
|
|
51
|
+
shouldDirty: false,
|
|
52
|
+
});
|
|
50
53
|
}
|
|
51
54
|
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
52
55
|
}, [formType, getValues, onClick, setValue]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TokenAmount } from '@lifi/sdk';
|
|
2
2
|
import type { MutableRefObject } from 'react';
|
|
3
|
-
import type { SwapFormDirection } from '../../providers
|
|
3
|
+
import type { SwapFormDirection } from '../../providers';
|
|
4
4
|
import type { Token } from '../../types';
|
|
5
5
|
export interface TokenListProps {
|
|
6
6
|
formType: SwapFormDirection;
|
package/cjs/config/theme.js
CHANGED
|
@@ -88,7 +88,29 @@ const createTheme = (mode, theme = {}) => {
|
|
|
88
88
|
defaultProps: {
|
|
89
89
|
disableElevation: true,
|
|
90
90
|
},
|
|
91
|
-
styleOverrides: Object.assign(
|
|
91
|
+
styleOverrides: Object.assign({ root: {
|
|
92
|
+
borderRadius: (_v = (_u = theme.shape) === null || _u === void 0 ? void 0 : _u.borderRadiusSecondary) !== null && _v !== void 0 ? _v : shape.borderRadiusSecondary,
|
|
93
|
+
textTransform: 'none',
|
|
94
|
+
fontSize: '1rem',
|
|
95
|
+
'&.Mui-disabled, &.Mui-disabled:hover': {
|
|
96
|
+
color: mode === 'light'
|
|
97
|
+
? 'rgb(0 0 0 / 70%)'
|
|
98
|
+
: 'rgb(255 255 255 / 70%)',
|
|
99
|
+
cursor: 'not-allowed',
|
|
100
|
+
pointerEvents: 'auto',
|
|
101
|
+
},
|
|
102
|
+
}, contained: {
|
|
103
|
+
'&:hover': {
|
|
104
|
+
color: (0, styles_1.getContrastRatio)(colors_1.common.white, primaryMainColor) >= 3
|
|
105
|
+
? colors_1.common.white
|
|
106
|
+
: colors_1.common.black,
|
|
107
|
+
},
|
|
108
|
+
}, sizeMedium: {
|
|
109
|
+
padding: '10px 16px',
|
|
110
|
+
[`.${DialogActions_1.dialogActionsClasses.root} &`]: {
|
|
111
|
+
padding: '6px 12px',
|
|
112
|
+
},
|
|
113
|
+
} }, (mode === 'dark'
|
|
92
114
|
? {
|
|
93
115
|
outlined: {
|
|
94
116
|
color: primaryLightColor,
|
|
@@ -106,28 +128,7 @@ const createTheme = (mode, theme = {}) => {
|
|
|
106
128
|
},
|
|
107
129
|
},
|
|
108
130
|
}
|
|
109
|
-
: {})),
|
|
110
|
-
borderRadius: (_v = (_u = theme.shape) === null || _u === void 0 ? void 0 : _u.borderRadiusSecondary) !== null && _v !== void 0 ? _v : shape.borderRadiusSecondary,
|
|
111
|
-
textTransform: 'none',
|
|
112
|
-
fontSize: '1rem',
|
|
113
|
-
padding: '10px 16px',
|
|
114
|
-
[`.${DialogActions_1.dialogActionsClasses.root} &`]: {
|
|
115
|
-
padding: '6px 12px',
|
|
116
|
-
},
|
|
117
|
-
'&.Mui-disabled, &.Mui-disabled:hover': {
|
|
118
|
-
color: mode === 'light'
|
|
119
|
-
? 'rgb(0 0 0 / 70%)'
|
|
120
|
-
: 'rgb(255 255 255 / 70%)',
|
|
121
|
-
cursor: 'not-allowed',
|
|
122
|
-
pointerEvents: 'auto',
|
|
123
|
-
},
|
|
124
|
-
}, contained: {
|
|
125
|
-
'&:hover': {
|
|
126
|
-
color: (0, styles_1.getContrastRatio)(colors_1.common.white, primaryMainColor) >= 3
|
|
127
|
-
? colors_1.common.white
|
|
128
|
-
: colors_1.common.black,
|
|
129
|
-
},
|
|
130
|
-
} }),
|
|
131
|
+
: {})),
|
|
131
132
|
},
|
|
132
133
|
MuiIconButton: {
|
|
133
134
|
styleOverrides: {
|
package/cjs/config/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "1.
|
|
2
|
+
export declare const version = "1.16.0";
|
package/cjs/config/version.js
CHANGED
package/cjs/hooks/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export * from './useDebouncedWatch';
|
|
|
5
5
|
export * from './useFeaturedTokens';
|
|
6
6
|
export * from './useGasSufficiency';
|
|
7
7
|
export * from './useInitializer';
|
|
8
|
+
export * from './useNavigateBack';
|
|
9
|
+
export * from './useProcessMessage';
|
|
8
10
|
export * from './useRouteExecution';
|
|
9
11
|
export * from './useScrollableContainer';
|
|
10
12
|
export * from './useSwapRoutes';
|
|
@@ -15,3 +17,4 @@ export * from './useTokenBalances';
|
|
|
15
17
|
export * from './useTokens';
|
|
16
18
|
export * from './useTokenSearch';
|
|
17
19
|
export * from './useTools';
|
|
20
|
+
export * from './useWidgetEvents';
|
package/cjs/hooks/index.js
CHANGED
|
@@ -21,6 +21,8 @@ __exportStar(require("./useDebouncedWatch"), exports);
|
|
|
21
21
|
__exportStar(require("./useFeaturedTokens"), exports);
|
|
22
22
|
__exportStar(require("./useGasSufficiency"), exports);
|
|
23
23
|
__exportStar(require("./useInitializer"), exports);
|
|
24
|
+
__exportStar(require("./useNavigateBack"), exports);
|
|
25
|
+
__exportStar(require("./useProcessMessage"), exports);
|
|
24
26
|
__exportStar(require("./useRouteExecution"), exports);
|
|
25
27
|
__exportStar(require("./useScrollableContainer"), exports);
|
|
26
28
|
__exportStar(require("./useSwapRoutes"), exports);
|
|
@@ -31,3 +33,4 @@ __exportStar(require("./useTokenBalances"), exports);
|
|
|
31
33
|
__exportStar(require("./useTokens"), exports);
|
|
32
34
|
__exportStar(require("./useTokenSearch"), exports);
|
|
33
35
|
__exportStar(require("./useTools"), exports);
|
|
36
|
+
__exportStar(require("./useWidgetEvents"), exports);
|
package/cjs/hooks/useChains.d.ts
CHANGED
|
@@ -1,101 +1,5 @@
|
|
|
1
1
|
export declare const useChains: () => {
|
|
2
|
-
error: unknown;
|
|
3
|
-
isError: true;
|
|
4
|
-
isLoading: false;
|
|
5
|
-
isLoadingError: false;
|
|
6
|
-
isRefetchError: true;
|
|
7
|
-
isSuccess: false;
|
|
8
|
-
status: "error";
|
|
9
|
-
dataUpdatedAt: number;
|
|
10
|
-
errorUpdatedAt: number;
|
|
11
|
-
failureCount: number;
|
|
12
|
-
errorUpdateCount: number;
|
|
13
|
-
isFetched: boolean;
|
|
14
|
-
isFetchedAfterMount: boolean;
|
|
15
|
-
isFetching: boolean;
|
|
16
|
-
isPaused: boolean;
|
|
17
|
-
isPlaceholderData: boolean;
|
|
18
|
-
isPreviousData: boolean;
|
|
19
|
-
isRefetching: boolean;
|
|
20
|
-
isStale: boolean;
|
|
21
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@lifi/types").EVMChain[], unknown>>;
|
|
22
|
-
remove: () => void;
|
|
23
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
24
|
-
chains: import("@lifi/types").EVMChain[] | undefined;
|
|
25
|
-
getChainById: (chainId: number) => import("@lifi/types").EVMChain | undefined;
|
|
26
|
-
} | {
|
|
27
|
-
error: null;
|
|
28
|
-
isError: false;
|
|
29
|
-
isLoading: false;
|
|
30
|
-
isLoadingError: false;
|
|
31
|
-
isRefetchError: false;
|
|
32
|
-
isSuccess: true;
|
|
33
|
-
status: "success";
|
|
34
|
-
dataUpdatedAt: number;
|
|
35
|
-
errorUpdatedAt: number;
|
|
36
|
-
failureCount: number;
|
|
37
|
-
errorUpdateCount: number;
|
|
38
|
-
isFetched: boolean;
|
|
39
|
-
isFetchedAfterMount: boolean;
|
|
40
|
-
isFetching: boolean;
|
|
41
|
-
isPaused: boolean;
|
|
42
|
-
isPlaceholderData: boolean;
|
|
43
|
-
isPreviousData: boolean;
|
|
44
|
-
isRefetching: boolean;
|
|
45
|
-
isStale: boolean;
|
|
46
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@lifi/types").EVMChain[], unknown>>;
|
|
47
|
-
remove: () => void;
|
|
48
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
49
|
-
chains: import("@lifi/types").EVMChain[] | undefined;
|
|
50
|
-
getChainById: (chainId: number) => import("@lifi/types").EVMChain | undefined;
|
|
51
|
-
} | {
|
|
52
|
-
error: unknown;
|
|
53
|
-
isError: true;
|
|
54
|
-
isLoading: false;
|
|
55
|
-
isLoadingError: true;
|
|
56
|
-
isRefetchError: false;
|
|
57
|
-
isSuccess: false;
|
|
58
|
-
status: "error";
|
|
59
|
-
dataUpdatedAt: number;
|
|
60
|
-
errorUpdatedAt: number;
|
|
61
|
-
failureCount: number;
|
|
62
|
-
errorUpdateCount: number;
|
|
63
|
-
isFetched: boolean;
|
|
64
|
-
isFetchedAfterMount: boolean;
|
|
65
|
-
isFetching: boolean;
|
|
66
|
-
isPaused: boolean;
|
|
67
|
-
isPlaceholderData: boolean;
|
|
68
|
-
isPreviousData: boolean;
|
|
69
|
-
isRefetching: boolean;
|
|
70
|
-
isStale: boolean;
|
|
71
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@lifi/types").EVMChain[], unknown>>;
|
|
72
|
-
remove: () => void;
|
|
73
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
74
|
-
chains: import("@lifi/types").EVMChain[] | undefined;
|
|
75
|
-
getChainById: (chainId: number) => import("@lifi/types").EVMChain | undefined;
|
|
76
|
-
} | {
|
|
77
|
-
error: null;
|
|
78
|
-
isError: false;
|
|
79
|
-
isLoading: true;
|
|
80
|
-
isLoadingError: false;
|
|
81
|
-
isRefetchError: false;
|
|
82
|
-
isSuccess: false;
|
|
83
|
-
status: "loading";
|
|
84
|
-
dataUpdatedAt: number;
|
|
85
|
-
errorUpdatedAt: number;
|
|
86
|
-
failureCount: number;
|
|
87
|
-
errorUpdateCount: number;
|
|
88
|
-
isFetched: boolean;
|
|
89
|
-
isFetchedAfterMount: boolean;
|
|
90
|
-
isFetching: boolean;
|
|
91
|
-
isPaused: boolean;
|
|
92
|
-
isPlaceholderData: boolean;
|
|
93
|
-
isPreviousData: boolean;
|
|
94
|
-
isRefetching: boolean;
|
|
95
|
-
isStale: boolean;
|
|
96
|
-
refetch: <TPageData>(options?: (import("@tanstack/react-query").RefetchOptions & import("@tanstack/react-query").RefetchQueryFilters<TPageData>) | undefined) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@lifi/types").EVMChain[], unknown>>;
|
|
97
|
-
remove: () => void;
|
|
98
|
-
fetchStatus: import("@tanstack/react-query").FetchStatus;
|
|
99
2
|
chains: import("@lifi/types").EVMChain[] | undefined;
|
|
100
3
|
getChainById: (chainId: number) => import("@lifi/types").EVMChain | undefined;
|
|
4
|
+
isLoading: boolean;
|
|
101
5
|
};
|
package/cjs/hooks/useChains.js
CHANGED
|
@@ -8,29 +8,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
12
|
exports.useChains = void 0;
|
|
24
13
|
const react_query_1 = require("@tanstack/react-query");
|
|
25
14
|
const react_1 = require("react");
|
|
26
15
|
const lifi_1 = require("../config/lifi");
|
|
27
16
|
const WidgetProvider_1 = require("../providers/WidgetProvider");
|
|
17
|
+
const chains_1 = require("../stores/chains");
|
|
28
18
|
const useChains = () => {
|
|
29
19
|
const { disabledChains } = (0, WidgetProvider_1.useWidgetConfig)();
|
|
30
|
-
const
|
|
20
|
+
const [, initializeChains] = (0, chains_1.useSetChainOrder)();
|
|
21
|
+
const { data, isLoading } = (0, react_query_1.useQuery)(['chains'], () => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
22
|
const chains = yield lifi_1.LiFi.getChains();
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
const filteredChains = chains.filter((chain) => !(disabledChains === null || disabledChains === void 0 ? void 0 : disabledChains.includes(chain.id)));
|
|
24
|
+
initializeChains(filteredChains.map((chain) => chain.id));
|
|
25
|
+
return filteredChains;
|
|
26
|
+
}));
|
|
34
27
|
const getChainById = (0, react_1.useCallback)((chainId) => {
|
|
35
28
|
const chain = data === null || data === void 0 ? void 0 : data.find((chain) => chain.id === chainId);
|
|
36
29
|
// if (!chain) {
|
|
@@ -38,6 +31,6 @@ const useChains = () => {
|
|
|
38
31
|
// }
|
|
39
32
|
return chain;
|
|
40
33
|
}, [data]);
|
|
41
|
-
return
|
|
34
|
+
return { chains: data, getChainById, isLoading };
|
|
42
35
|
};
|
|
43
36
|
exports.useChains = useChains;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useNavigateBack = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
6
|
+
const useNavigateBack = () => {
|
|
7
|
+
const navigate = (0, react_router_dom_1.useNavigate)();
|
|
8
|
+
const navigateBack = (0, react_1.useCallback)(() => {
|
|
9
|
+
if (window.history.state && window.history.state.idx > 0) {
|
|
10
|
+
navigate(-1);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
navigate(window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/')) || '/', { replace: true });
|
|
14
|
+
}
|
|
15
|
+
}, [navigate]);
|
|
16
|
+
return { navigateBack, navigate };
|
|
17
|
+
};
|
|
18
|
+
exports.useNavigateBack = useNavigateBack;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { EVMChain, Process, Step } from '@lifi/sdk';
|
|
2
2
|
import type { TFunction } from 'react-i18next';
|
|
3
|
+
export declare const useProcessMessage: (step?: Step, process?: Process) => {
|
|
4
|
+
title?: string | undefined;
|
|
5
|
+
message?: string | undefined;
|
|
6
|
+
};
|
|
3
7
|
export declare function getProcessMessage(t: TFunction<'translation', undefined>, getChainById: (chainId: number) => EVMChain | undefined, step: Step, process: Process): {
|
|
4
8
|
title?: string;
|
|
5
9
|
message?: string;
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getProcessMessage = void 0;
|
|
3
|
+
exports.getProcessMessage = exports.useProcessMessage = void 0;
|
|
4
4
|
const sdk_1 = require("@lifi/sdk");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
},
|
|
5
|
+
const react_i18next_1 = require("react-i18next");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const useChains_1 = require("./useChains");
|
|
8
|
+
const useProcessMessage = (step, process) => {
|
|
9
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
10
|
+
const { getChainById } = (0, useChains_1.useChains)();
|
|
11
|
+
if (!step || !process) {
|
|
12
|
+
return {};
|
|
13
|
+
}
|
|
14
|
+
return getProcessMessage(t, getChainById, step, process);
|
|
10
15
|
};
|
|
16
|
+
exports.useProcessMessage = useProcessMessage;
|
|
11
17
|
const processMessages = {
|
|
12
18
|
TOKEN_ALLOWANCE: {
|
|
13
19
|
STARTED: (t) => t(`swap.process.tokenAllowance.started`),
|
|
@@ -15,7 +21,7 @@ const processMessages = {
|
|
|
15
21
|
DONE: (t) => t(`swap.process.tokenAllowance.done`),
|
|
16
22
|
},
|
|
17
23
|
SWITCH_CHAIN: {
|
|
18
|
-
|
|
24
|
+
ACTION_REQUIRED: (t) => t(`swap.process.switchChain.actionRequired`),
|
|
19
25
|
DONE: (t) => t(`swap.process.switchChain.done`),
|
|
20
26
|
},
|
|
21
27
|
SWAP: {
|
|
@@ -70,9 +76,9 @@ function getProcessMessage(t, getChainById, step, process) {
|
|
|
70
76
|
title = t(`swap.error.title.slippageTooLarge`);
|
|
71
77
|
message = t(`swap.error.message.slippageTooLarge`);
|
|
72
78
|
break;
|
|
73
|
-
case sdk_1.
|
|
74
|
-
title = t(`swap.error.title.
|
|
75
|
-
message = t(`swap.error.message.
|
|
79
|
+
case sdk_1.LifiErrorCode.TransactionRejected:
|
|
80
|
+
title = t(`swap.error.title.transactionRejected`);
|
|
81
|
+
message = t(`swap.error.message.transactionRejected`, {
|
|
76
82
|
amount: (0, utils_1.formatTokenAmount)(step.action.fromAmount, step.action.fromToken.decimals),
|
|
77
83
|
tokenSymbol: step.action.fromToken.symbol,
|
|
78
84
|
chainName: (_b = (_a = getChainById(step.action.fromChainId)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : '',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Route } from '@lifi/sdk';
|
|
2
|
-
export declare const useRouteExecution: (routeId: string) => {
|
|
2
|
+
export declare const useRouteExecution: (routeId: string, executeInBackground?: boolean) => {
|
|
3
3
|
executeRoute: () => void;
|
|
4
4
|
restartRoute: () => void;
|
|
5
5
|
deleteRoute: () => void;
|
|
@@ -19,16 +19,25 @@ const shallow_1 = __importDefault(require("zustand/shallow"));
|
|
|
19
19
|
const lifi_1 = require("../config/lifi");
|
|
20
20
|
const WalletProvider_1 = require("../providers/WalletProvider");
|
|
21
21
|
const stores_1 = require("../stores");
|
|
22
|
+
const events_1 = require("../types/events");
|
|
22
23
|
const utils_1 = require("../utils");
|
|
23
|
-
const
|
|
24
|
+
const useWidgetEvents_1 = require("./useWidgetEvents");
|
|
25
|
+
const useRouteExecution = (routeId, executeInBackground) => {
|
|
24
26
|
const { account, switchChain } = (0, WalletProvider_1.useWallet)();
|
|
25
27
|
const resumedAfterMount = (0, react_1.useRef)(false);
|
|
28
|
+
const emitter = (0, useWidgetEvents_1.useWidgetEvents)();
|
|
26
29
|
const routeExecution = (0, stores_1.useRouteStore)((state) => state.routes[routeId]);
|
|
27
30
|
const [updateRoute, restartRoute, deleteRoute] = (0, stores_1.useRouteStore)((state) => [state.updateRoute, state.restartRoute, state.deleteRoute], shallow_1.default);
|
|
28
31
|
const updateCallback = (updatedRoute) => {
|
|
29
32
|
const clonedUpdatedRoute = (0, utils_1.deepClone)(updatedRoute);
|
|
30
33
|
console.log('Route updated.', clonedUpdatedRoute);
|
|
31
34
|
updateRoute(clonedUpdatedRoute);
|
|
35
|
+
if ((0, stores_1.isRouteCompleted)(clonedUpdatedRoute)) {
|
|
36
|
+
emitter.emit(events_1.WidgetEvent.SwapCompleted);
|
|
37
|
+
}
|
|
38
|
+
if ((0, stores_1.isRouteFailed)(clonedUpdatedRoute)) {
|
|
39
|
+
emitter.emit(events_1.WidgetEvent.SwapFailed);
|
|
40
|
+
}
|
|
32
41
|
};
|
|
33
42
|
const switchChainHook = (requiredChainId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
43
|
if (!account.isActive || !account.signer) {
|
|
@@ -54,16 +63,12 @@ const useRouteExecution = (routeId) => {
|
|
|
54
63
|
updateCallback,
|
|
55
64
|
switchChainHook,
|
|
56
65
|
infiniteApproval: false,
|
|
66
|
+
executeInBackground,
|
|
57
67
|
});
|
|
58
68
|
}, {
|
|
59
69
|
onMutate: () => {
|
|
60
70
|
console.log('Execution started.', routeId);
|
|
61
|
-
|
|
62
|
-
onError: () => {
|
|
63
|
-
console.warn('Execution failed.', routeId);
|
|
64
|
-
},
|
|
65
|
-
onSuccess: (route) => {
|
|
66
|
-
console.log('Executed successfully.', routeId);
|
|
71
|
+
emitter.emit(events_1.WidgetEvent.SwapStarted);
|
|
67
72
|
},
|
|
68
73
|
});
|
|
69
74
|
const resumeRouteMutation = (0, react_query_1.useMutation)((resumedRoute) => {
|
|
@@ -77,26 +82,21 @@ const useRouteExecution = (routeId) => {
|
|
|
77
82
|
updateCallback,
|
|
78
83
|
switchChainHook,
|
|
79
84
|
infiniteApproval: false,
|
|
85
|
+
executeInBackground,
|
|
80
86
|
});
|
|
81
87
|
}, {
|
|
82
88
|
onMutate: () => {
|
|
83
89
|
console.log('Resumed to execution.', routeId);
|
|
84
90
|
},
|
|
85
|
-
onError: () => {
|
|
86
|
-
console.warn('Resumed execution failed.', routeId);
|
|
87
|
-
},
|
|
88
|
-
onSuccess: (route) => {
|
|
89
|
-
console.log('Resumed execution successful.', route);
|
|
90
|
-
},
|
|
91
91
|
});
|
|
92
92
|
const executeRoute = (0, react_1.useCallback)(() => {
|
|
93
93
|
executeRouteMutation.mutateAsync(undefined, {
|
|
94
94
|
onError: () => {
|
|
95
|
-
console.warn('
|
|
95
|
+
console.warn('Execution failed!', routeId);
|
|
96
96
|
// Notification.showNotification(NotificationType.SwapExecution_ERROR);
|
|
97
97
|
},
|
|
98
98
|
onSuccess: (route) => {
|
|
99
|
-
console.log('
|
|
99
|
+
console.log('Executed successfully!', route);
|
|
100
100
|
// Notification.showNotification(NotificationType.TRANSACTION_SUCCESSFULL);
|
|
101
101
|
},
|
|
102
102
|
});
|
|
@@ -104,10 +104,10 @@ const useRouteExecution = (routeId) => {
|
|
|
104
104
|
const resumeRoute = (0, react_1.useCallback)((route) => {
|
|
105
105
|
resumeRouteMutation.mutateAsync(route, {
|
|
106
106
|
onError: () => {
|
|
107
|
-
console.warn('
|
|
107
|
+
console.warn('Resumed execution failed.', routeId);
|
|
108
108
|
},
|
|
109
109
|
onSuccess: (route) => {
|
|
110
|
-
console.log('
|
|
110
|
+
console.log('Resumed execution successful.', route);
|
|
111
111
|
},
|
|
112
112
|
});
|
|
113
113
|
}, [resumeRouteMutation, routeId]);
|
|
@@ -123,7 +123,7 @@ const useRouteExecution = (routeId) => {
|
|
|
123
123
|
// Resume route execution after page reload
|
|
124
124
|
(0, react_1.useEffect)(() => {
|
|
125
125
|
// Check if route is eligible for automatic resuming
|
|
126
|
-
if (
|
|
126
|
+
if ((0, stores_1.isRouteActive)(routeExecution === null || routeExecution === void 0 ? void 0 : routeExecution.route) &&
|
|
127
127
|
account.isActive &&
|
|
128
128
|
!resumedAfterMount.current) {
|
|
129
129
|
resumedAfterMount.current = true;
|
|
@@ -135,10 +135,10 @@ const useRouteExecution = (routeId) => {
|
|
|
135
135
|
return () => {
|
|
136
136
|
var _a;
|
|
137
137
|
const route = (_a = stores_1.useRouteStore.getState().routes[routeId]) === null || _a === void 0 ? void 0 : _a.route;
|
|
138
|
-
if (!route || !
|
|
138
|
+
if (!route || !(0, stores_1.isRouteActive)(route)) {
|
|
139
139
|
return;
|
|
140
140
|
}
|
|
141
|
-
lifi_1.LiFi.
|
|
141
|
+
lifi_1.LiFi.updateRouteExecution(route, { executeInBackground: true });
|
|
142
142
|
console.log('Move route execution to background.', routeId);
|
|
143
143
|
resumedAfterMount.current = false;
|
|
144
144
|
};
|
|
@@ -152,12 +152,3 @@ const useRouteExecution = (routeId) => {
|
|
|
152
152
|
};
|
|
153
153
|
};
|
|
154
154
|
exports.useRouteExecution = useRouteExecution;
|
|
155
|
-
const isActiveRoute = (route) => {
|
|
156
|
-
if (!route) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
const allDone = route.steps.every((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'DONE'; });
|
|
160
|
-
const isFailed = route.steps.some((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'FAILED'; });
|
|
161
|
-
const alreadyStarted = route.steps.some((step) => step.execution);
|
|
162
|
-
return !allDone && !isFailed && alreadyStarted;
|
|
163
|
-
};
|