@lifi/widget 1.32.8 → 2.0.0-alpha.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 +3 -3
- package/AppDrawer.js +4 -3
- package/AppDrawer.style.d.ts +5 -5
- package/cjs/App.js +3 -3
- package/cjs/AppDrawer.js +4 -3
- package/cjs/AppDrawer.style.d.ts +5 -5
- package/cjs/components/ActiveSwaps/ActiveSwaps.style.d.ts +3 -3
- package/cjs/components/Card/CardIconButton.d.ts +29 -0
- package/cjs/components/Card/CardIconButton.js +17 -0
- package/cjs/components/Card/CardLabel.d.ts +26 -0
- package/cjs/components/Card/CardLabel.js +45 -0
- package/cjs/components/Card/CardTitle.d.ts +2 -2
- package/cjs/components/Card/index.d.ts +2 -0
- package/cjs/components/Card/index.js +2 -0
- package/cjs/components/GasMessage/FundsSufficiencyMessage.d.ts +1 -0
- package/cjs/components/GasMessage/FundsSufficiencyMessage.js +16 -0
- package/cjs/components/{GasSufficiencyMessage/GasSufficiencyMessage.d.ts → GasMessage/GasMessage.d.ts} +4 -2
- package/cjs/components/GasMessage/GasMessage.js +19 -0
- package/cjs/components/GasMessage/GasMessage.style.d.ts +34 -0
- package/cjs/components/GasMessage/GasMessage.style.js +48 -0
- package/cjs/components/GasMessage/GasRefuelMessage.d.ts +3 -0
- package/cjs/components/GasMessage/GasRefuelMessage.js +26 -0
- package/cjs/components/GasMessage/GasSufficiencyMessage.d.ts +7 -0
- package/cjs/components/GasMessage/GasSufficiencyMessage.js +21 -0
- package/cjs/components/GasMessage/index.d.ts +2 -0
- package/cjs/components/GasMessage/index.js +18 -0
- package/cjs/components/Header/Header.style.d.ts +5 -5
- package/cjs/components/Header/NavigationHeader.js +4 -4
- package/cjs/components/Header/WalletHeader.js +5 -5
- package/cjs/components/Insurance/Insurance.d.ts +3 -0
- package/cjs/components/Insurance/Insurance.js +11 -0
- package/cjs/components/Insurance/InsuranceCard.d.ts +3 -0
- package/cjs/components/Insurance/InsuranceCard.js +20 -0
- package/cjs/components/Insurance/InsuranceCollapsed.d.ts +3 -0
- package/cjs/components/Insurance/InsuranceCollapsed.js +32 -0
- package/cjs/components/Insurance/index.d.ts +1 -0
- package/cjs/components/{GasSufficiencyMessage → Insurance}/index.js +1 -1
- package/cjs/components/Insurance/types.d.ts +14 -0
- package/cjs/components/Insurance/types.js +2 -0
- package/cjs/components/NFT/NFT.style.d.ts +1 -1
- package/cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/cjs/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
- package/cjs/components/SendToWallet/SendToWallet.js +31 -25
- package/cjs/components/SendToWallet/SendToWallet.style.d.ts +2 -2
- package/cjs/components/SendToWallet/SendToWalletButton.js +3 -3
- package/cjs/components/SmallAvatar.d.ts +2 -2
- package/cjs/components/Step/CircularProgress.style.d.ts +1 -1
- package/cjs/components/Step/DestinationWalletAddress.js +2 -2
- package/cjs/components/Step/GasStepProcess.js +2 -2
- package/cjs/components/Step/Step.js +7 -5
- package/cjs/components/Step/StepList.d.ts +1 -1
- package/cjs/components/Step/StepProcess.style.d.ts +3 -3
- package/cjs/components/StepActions/StepActions.d.ts +5 -0
- package/cjs/components/StepActions/StepActions.js +55 -17
- package/cjs/components/StepActions/StepActions.style.d.ts +1 -1
- package/cjs/components/SwapButton/SwapButton.js +2 -2
- package/cjs/components/SwapButton/types.d.ts +1 -2
- package/cjs/components/SwapInput/SwapInput.style.d.ts +2 -2
- package/cjs/components/SwapInput/SwapInputAdornment.style.d.ts +3 -3
- package/cjs/components/SwapInput/SwapInputEndAdornment.js +18 -1
- package/cjs/components/SwapRouteCard/SwapRouteCard.d.ts +1 -2
- package/cjs/components/SwapRouteCard/SwapRouteCard.js +10 -26
- package/cjs/components/SwapRouteCard/SwapRouteCard.style.d.ts +4 -36
- package/cjs/components/SwapRouteCard/SwapRouteCard.style.js +7 -38
- package/cjs/components/SwapRouteCard/SwapRouteCardEssentials.d.ts +3 -0
- package/cjs/components/SwapRouteCard/SwapRouteCardEssentials.js +27 -0
- package/cjs/components/SwapRouteCard/SwapRouteCardSkeleton.js +5 -5
- package/cjs/components/SwapRouteCard/types.d.ts +2 -2
- package/cjs/components/SwapRouteCard/utils.d.ts +5 -0
- package/cjs/components/SwapRouteCard/utils.js +32 -2
- package/cjs/components/SwapRoutes/SwapRoutes.js +3 -12
- package/cjs/components/SwapRoutes/SwapRoutesExpanded.js +3 -5
- package/cjs/components/SwapRoutes/{SwapRoutes.style.d.ts → SwapRoutesExpanded.style.d.ts} +0 -9
- package/cjs/components/SwapRoutes/{SwapRoutes.style.js → SwapRoutesExpanded.style.js} +1 -12
- package/cjs/components/Switch.js +4 -4
- package/cjs/components/Token/Token.style.d.ts +2 -2
- package/cjs/config/theme.js +1 -1
- package/cjs/config/version.d.ts +1 -1
- package/cjs/config/version.js +1 -1
- package/cjs/hooks/index.d.ts +4 -0
- package/cjs/hooks/index.js +4 -0
- package/cjs/hooks/useChains.js +2 -2
- package/cjs/hooks/useFeaturedTokens.d.ts +1 -1
- package/cjs/hooks/useFeaturedTokens.js +2 -2
- package/cjs/hooks/useFundsSufficiency.d.ts +5 -0
- package/cjs/hooks/useFundsSufficiency.js +73 -0
- package/cjs/hooks/useGasRecommendation.d.ts +2 -0
- package/cjs/hooks/useGasRecommendation.js +23 -0
- package/cjs/hooks/useGasRefuel.d.ts +7 -0
- package/cjs/hooks/useGasRefuel.js +61 -0
- package/cjs/hooks/useGasSufficiency.d.ts +2 -3
- package/cjs/hooks/useGasSufficiency.js +6 -37
- package/cjs/hooks/useGetTokenBalancesWithRetry.d.ts +3 -0
- package/cjs/hooks/useGetTokenBalancesWithRetry.js +33 -0
- package/cjs/hooks/useSwapRoutes.d.ts +7 -2
- package/cjs/hooks/useSwapRoutes.js +31 -11
- package/cjs/hooks/useTokenAddressBalance.js +4 -2
- package/cjs/hooks/useTokenBalance.js +4 -22
- package/cjs/hooks/useTokenBalances.d.ts +1 -1
- package/cjs/hooks/useTokenSearch.js +2 -2
- package/cjs/hooks/useTokens.js +2 -3
- package/cjs/i18n/en.json +14 -7
- package/cjs/i18n/it.json +6 -2
- package/cjs/i18n/pt.json +234 -0
- package/cjs/i18n/uk.json +5 -1
- package/cjs/icons/InsuraceLogo.d.ts +2 -0
- package/cjs/icons/InsuraceLogo.js +11 -0
- package/cjs/icons/index.d.ts +1 -0
- package/cjs/icons/index.js +1 -0
- package/cjs/index.d.ts +0 -6
- package/cjs/index.js +1 -6
- package/cjs/pages/MainPage/MainGasMessage.d.ts +3 -0
- package/cjs/pages/MainPage/MainGasMessage.js +12 -0
- package/cjs/pages/MainPage/MainPage.js +3 -2
- package/cjs/pages/MainPage/MainSwapButton.js +1 -1
- package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +2 -2
- package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
- package/cjs/pages/SettingsPage/RoutePrioritySelect.js +1 -1
- package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +4 -3
- package/cjs/pages/SwapPage/ExchangeRateBottomSheet.d.ts +1 -2
- package/cjs/pages/SwapPage/ExchangeRateBottomSheet.js +1 -14
- package/cjs/pages/SwapPage/StartSwapButton.d.ts +3 -2
- package/cjs/pages/SwapPage/StartSwapButton.js +14 -4
- package/cjs/pages/SwapPage/SwapPage.js +18 -7
- package/cjs/pages/SwapPage/types.d.ts +9 -0
- package/cjs/pages/SwapPage/types.js +2 -0
- package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +1 -1
- package/cjs/providers/SDKProvider/SDKProvider.d.ts +2 -2
- package/cjs/providers/SDKProvider/SDKProvider.js +2 -1
- package/cjs/providers/SwapFormProvider/FormUpdater.js +2 -3
- package/cjs/providers/WidgetProvider/WidgetProvider.js +17 -4
- package/cjs/providers/WidgetProvider/utils.d.ts +1 -1
- package/cjs/providers/WidgetProvider/utils.js +2 -4
- package/cjs/stores/StoreProvider.js +1 -1
- package/cjs/stores/routes/createRouteExecutionStore.js +3 -2
- package/cjs/stores/routes/index.d.ts +0 -1
- package/cjs/stores/routes/index.js +0 -1
- package/cjs/stores/routes/types.d.ts +1 -5
- package/cjs/stores/routes/useSetExecutableRoute.d.ts +1 -1
- package/cjs/stores/settings/types.d.ts +1 -0
- package/cjs/stores/settings/useSettingsStore.js +1 -0
- package/cjs/types/widget.d.ts +5 -10
- package/cjs/utils/format.js +4 -1
- package/components/ActiveSwaps/ActiveSwaps.style.d.ts +3 -3
- package/components/Card/CardIconButton.d.ts +29 -0
- package/components/Card/CardIconButton.js +14 -0
- package/components/Card/CardLabel.d.ts +26 -0
- package/components/Card/CardLabel.js +42 -0
- package/components/Card/CardTitle.d.ts +2 -2
- package/components/Card/index.d.ts +2 -0
- package/components/Card/index.js +2 -0
- package/components/GasMessage/FundsSufficiencyMessage.d.ts +1 -0
- package/components/GasMessage/FundsSufficiencyMessage.js +12 -0
- package/components/{GasSufficiencyMessage/GasSufficiencyMessage.d.ts → GasMessage/GasMessage.d.ts} +4 -2
- package/components/GasMessage/GasMessage.js +15 -0
- package/components/GasMessage/GasMessage.style.d.ts +34 -0
- package/components/GasMessage/GasMessage.style.js +45 -0
- package/components/GasMessage/GasRefuelMessage.d.ts +3 -0
- package/components/GasMessage/GasRefuelMessage.js +22 -0
- package/components/GasMessage/GasSufficiencyMessage.d.ts +7 -0
- package/components/GasMessage/GasSufficiencyMessage.js +17 -0
- package/components/GasMessage/index.d.ts +2 -0
- package/components/GasMessage/index.js +2 -0
- package/components/Header/Header.style.d.ts +5 -5
- package/components/Header/NavigationHeader.js +4 -4
- package/components/Header/WalletHeader.js +6 -6
- package/components/Insurance/Insurance.d.ts +3 -0
- package/components/Insurance/Insurance.js +7 -0
- package/components/Insurance/InsuranceCard.d.ts +3 -0
- package/components/Insurance/InsuranceCard.js +16 -0
- package/components/Insurance/InsuranceCollapsed.d.ts +3 -0
- package/components/Insurance/InsuranceCollapsed.js +28 -0
- package/components/Insurance/index.d.ts +1 -0
- package/components/Insurance/index.js +1 -0
- package/components/Insurance/types.d.ts +14 -0
- package/components/Insurance/types.js +1 -0
- package/components/NFT/NFT.style.d.ts +1 -1
- package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
- package/components/SendToWallet/SendToWallet.js +34 -28
- package/components/SendToWallet/SendToWallet.style.d.ts +2 -2
- package/components/SendToWallet/SendToWalletButton.js +4 -4
- package/components/SmallAvatar.d.ts +2 -2
- package/components/Step/CircularProgress.style.d.ts +1 -1
- package/components/Step/DestinationWalletAddress.js +2 -2
- package/components/Step/GasStepProcess.js +2 -2
- package/components/Step/Step.js +7 -5
- package/components/Step/StepList.d.ts +1 -1
- package/components/Step/StepProcess.style.d.ts +3 -3
- package/components/StepActions/StepActions.d.ts +5 -0
- package/components/StepActions/StepActions.js +52 -16
- package/components/StepActions/StepActions.style.d.ts +1 -1
- package/components/SwapButton/SwapButton.js +2 -2
- package/components/SwapButton/types.d.ts +1 -2
- package/components/SwapInput/SwapInput.style.d.ts +2 -2
- package/components/SwapInput/SwapInputAdornment.style.d.ts +3 -3
- package/components/SwapInput/SwapInputEndAdornment.js +19 -2
- package/components/SwapRouteCard/SwapRouteCard.d.ts +1 -2
- package/components/SwapRouteCard/SwapRouteCard.js +11 -26
- package/components/SwapRouteCard/SwapRouteCard.style.d.ts +4 -36
- package/components/SwapRouteCard/SwapRouteCard.style.js +7 -38
- package/components/SwapRouteCard/SwapRouteCardEssentials.d.ts +3 -0
- package/components/SwapRouteCard/SwapRouteCardEssentials.js +23 -0
- package/components/SwapRouteCard/SwapRouteCardSkeleton.js +5 -5
- package/components/SwapRouteCard/types.d.ts +2 -2
- package/components/SwapRouteCard/utils.d.ts +5 -0
- package/components/SwapRouteCard/utils.js +30 -1
- package/components/SwapRoutes/SwapRoutes.js +5 -14
- package/components/SwapRoutes/SwapRoutesExpanded.js +2 -4
- package/components/SwapRoutes/{SwapRoutes.style.d.ts → SwapRoutesExpanded.style.d.ts} +0 -9
- package/components/SwapRoutes/{SwapRoutes.style.js → SwapRoutesExpanded.style.js} +1 -12
- package/components/Switch.js +5 -5
- package/components/Token/Token.style.d.ts +2 -2
- package/config/theme.js +1 -1
- package/config/version.d.ts +1 -1
- package/config/version.js +1 -1
- package/hooks/index.d.ts +4 -0
- package/hooks/index.js +4 -0
- package/hooks/useChains.js +2 -2
- package/hooks/useFeaturedTokens.d.ts +1 -1
- package/hooks/useFeaturedTokens.js +2 -2
- package/hooks/useFundsSufficiency.d.ts +5 -0
- package/hooks/useFundsSufficiency.js +69 -0
- package/hooks/useGasRecommendation.d.ts +2 -0
- package/hooks/useGasRecommendation.js +19 -0
- package/hooks/useGasRefuel.d.ts +7 -0
- package/hooks/useGasRefuel.js +57 -0
- package/hooks/useGasSufficiency.d.ts +2 -3
- package/hooks/useGasSufficiency.js +7 -38
- package/hooks/useGetTokenBalancesWithRetry.d.ts +3 -0
- package/hooks/useGetTokenBalancesWithRetry.js +29 -0
- package/hooks/useSwapRoutes.d.ts +7 -2
- package/hooks/useSwapRoutes.js +32 -12
- package/hooks/useTokenAddressBalance.js +4 -2
- package/hooks/useTokenBalance.js +5 -23
- package/hooks/useTokenBalances.d.ts +1 -1
- package/hooks/useTokenSearch.js +2 -2
- package/hooks/useTokens.js +2 -3
- package/i18n/en.json +14 -7
- package/i18n/it.json +6 -2
- package/i18n/pt.json +234 -0
- package/i18n/uk.json +5 -1
- package/icons/InsuraceLogo.d.ts +2 -0
- package/icons/InsuraceLogo.js +7 -0
- package/icons/index.d.ts +1 -0
- package/icons/index.js +1 -0
- package/index.d.ts +0 -6
- package/index.js +0 -5
- package/package.json +10 -10
- package/pages/ActiveSwapsPage/ActiveSwapsPage.js +2 -2
- package/pages/MainPage/MainGasMessage.d.ts +3 -0
- package/pages/MainPage/MainGasMessage.js +8 -0
- package/pages/MainPage/MainPage.js +3 -2
- package/pages/MainPage/MainSwapButton.js +1 -1
- package/pages/SettingsPage/ColorSchemeButtonGroup.js +2 -2
- package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
- package/pages/SettingsPage/RoutePrioritySelect.js +1 -1
- package/pages/SwapDetailsPage/SwapDetailsPage.js +5 -4
- package/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
- package/pages/SwapPage/ExchangeRateBottomSheet.d.ts +1 -2
- package/pages/SwapPage/ExchangeRateBottomSheet.js +0 -12
- package/pages/SwapPage/StartSwapButton.d.ts +3 -2
- package/pages/SwapPage/StartSwapButton.js +13 -4
- package/pages/SwapPage/SwapPage.js +21 -10
- package/pages/SwapPage/types.d.ts +9 -0
- package/pages/SwapPage/types.js +1 -0
- package/pages/SwapRoutesPage/SwapRoutesPage.js +1 -1
- package/providers/SDKProvider/SDKProvider.d.ts +2 -2
- package/providers/SDKProvider/SDKProvider.js +3 -2
- package/providers/SwapFormProvider/FormUpdater.js +2 -3
- package/providers/WidgetProvider/WidgetProvider.js +17 -4
- package/providers/WidgetProvider/utils.d.ts +1 -1
- package/providers/WidgetProvider/utils.js +2 -4
- package/stores/StoreProvider.js +2 -2
- package/stores/routes/createRouteExecutionStore.js +3 -2
- package/stores/routes/index.d.ts +0 -1
- package/stores/routes/index.js +0 -1
- package/stores/routes/types.d.ts +1 -5
- package/stores/routes/useSetExecutableRoute.d.ts +1 -1
- package/stores/settings/types.d.ts +1 -0
- package/stores/settings/useSettingsStore.js +1 -0
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/types/widget.d.ts +5 -10
- package/utils/format.js +4 -1
- package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.js +0 -31
- package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +0 -9
- package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.style.js +0 -14
- package/cjs/components/GasSufficiencyMessage/index.d.ts +0 -1
- package/cjs/components/SwapRoutes/useSetRecommendedRoute.d.ts +0 -2
- package/cjs/components/SwapRoutes/useSetRecommendedRoute.js +0 -13
- package/cjs/config/env.d.ts +0 -3
- package/cjs/config/env.js +0 -6
- package/cjs/stores/routes/useRecommendedRouteStore.d.ts +0 -10
- package/cjs/stores/routes/useRecommendedRouteStore.js +0 -39
- package/components/GasSufficiencyMessage/GasSufficiencyMessage.js +0 -27
- package/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +0 -9
- package/components/GasSufficiencyMessage/GasSufficiencyMessage.style.js +0 -11
- package/components/GasSufficiencyMessage/index.d.ts +0 -1
- package/components/GasSufficiencyMessage/index.js +0 -1
- package/components/SwapRoutes/useSetRecommendedRoute.d.ts +0 -2
- package/components/SwapRoutes/useSetRecommendedRoute.js +0 -9
- package/config/env.d.ts +0 -3
- package/config/env.js +0 -3
- package/stores/routes/useRecommendedRouteStore.d.ts +0 -10
- package/stores/routes/useRecommendedRouteStore.js +0 -32
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import DeleteIcon from '@mui/icons-material/Delete';
|
|
3
3
|
import { Box, Button, Tooltip } from '@mui/material';
|
|
4
|
-
import { useCallback, useRef } from 'react';
|
|
4
|
+
import { useCallback, useRef, useState } from 'react';
|
|
5
5
|
import { useFormContext } from 'react-hook-form';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
7
|
import { useLocation } from 'react-router-dom';
|
|
8
|
-
import {
|
|
8
|
+
import { GasMessage } from '../../components/GasMessage';
|
|
9
|
+
import { Insurance } from '../../components/Insurance';
|
|
9
10
|
import { getStepList } from '../../components/Step';
|
|
10
11
|
import { useNavigateBack, useRouteExecution } from '../../hooks';
|
|
11
12
|
import { SwapFormKey, useWidgetConfig } from '../../providers';
|
|
12
13
|
import { RouteExecutionStatus } from '../../stores';
|
|
13
14
|
import { ExchangeRateBottomSheet } from './ExchangeRateBottomSheet';
|
|
14
|
-
import { StartSwapButton } from './StartSwapButton';
|
|
15
|
+
import { StartIdleSwapButton, StartSwapButton } from './StartSwapButton';
|
|
15
16
|
import { StatusBottomSheet } from './StatusBottomSheet';
|
|
16
17
|
import { Container } from './SwapPage.style';
|
|
17
|
-
import {
|
|
18
|
+
import { TokenValueBottomSheet, getTokenValueLossThreshold, } from './TokenValueBottomSheet';
|
|
18
19
|
export const SwapPage = () => {
|
|
19
20
|
const { t } = useTranslation();
|
|
20
|
-
const {
|
|
21
|
-
const { state } = useLocation();
|
|
21
|
+
const { setValue } = useFormContext();
|
|
22
22
|
const { navigateBack } = useNavigateBack();
|
|
23
|
+
const { variant, insurance } = useWidgetConfig();
|
|
24
|
+
const { state } = useLocation();
|
|
25
|
+
const stateRouteId = state?.routeId;
|
|
26
|
+
const [routeId, setRouteId] = useState(stateRouteId);
|
|
23
27
|
const tokenValueBottomSheetRef = useRef(null);
|
|
24
28
|
const exchangeRateBottomSheetRef = useRef(null);
|
|
25
|
-
const { setValue } = useFormContext();
|
|
26
29
|
const { route, status, executeRoute, restartRoute, deleteRoute } = useRouteExecution({
|
|
27
|
-
routeId:
|
|
30
|
+
routeId: routeId,
|
|
28
31
|
onAcceptExchangeRateUpdate: exchangeRateBottomSheetRef.current?.open,
|
|
29
32
|
});
|
|
30
33
|
const handleExecuteRoute = useCallback(() => {
|
|
@@ -64,8 +67,16 @@ export const SwapPage = () => {
|
|
|
64
67
|
return '';
|
|
65
68
|
}
|
|
66
69
|
};
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
const SwapButton = insurance && status === RouteExecutionStatus.Idle
|
|
71
|
+
? StartIdleSwapButton
|
|
72
|
+
: StartSwapButton;
|
|
73
|
+
const insuranceAvailable = insurance &&
|
|
74
|
+
variant !== 'refuel' &&
|
|
75
|
+
(route?.insurance?.state === 'INSURED' ||
|
|
76
|
+
(status === RouteExecutionStatus.Idle &&
|
|
77
|
+
route?.insurance?.state === 'INSURABLE'));
|
|
78
|
+
return (_jsxs(Container, { children: [getStepList(route), insuranceAvailable ? (_jsx(Insurance, { mt: 2, status: status, insurableRouteId: stateRouteId, feeAmountUsd: route?.insurance.feeAmountUsd, onChange: setRouteId })) : null, status === RouteExecutionStatus.Idle ||
|
|
79
|
+
status === RouteExecutionStatus.Failed ? (_jsxs(_Fragment, { children: [_jsx(GasMessage, { mt: 2, route: route }), _jsxs(Box, { mt: 2, display: "flex", children: [_jsx(SwapButton, { text: getSwapButtonText(), onClick: handleSwapClick, route: route, insurableRouteId: stateRouteId }), status === RouteExecutionStatus.Failed ? (_jsx(Tooltip, { title: t('button.removeSwap'), placement: "bottom-end", enterDelay: 400, arrow: true, children: _jsx(Button, { onClick: handleRemoveRoute, sx: {
|
|
69
80
|
minWidth: 48,
|
|
70
81
|
marginLeft: 1,
|
|
71
82
|
}, children: _jsx(DeleteIcon, {}) }) })) : null] })] })) : null, route && status ? (_jsx(StatusBottomSheet, { status: status, route: route })) : null, route ? (_jsx(TokenValueBottomSheet, { route: route, ref: tokenValueBottomSheetRef, onContinue: handleExecuteRoute })) : null, route ? (_jsx(ExchangeRateBottomSheet, { ref: exchangeRateBottomSheetRef })) : null] }));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -30,5 +30,5 @@ export const SwapRoutesPage = () => {
|
|
|
30
30
|
.setAction(_jsx(ProgressToNextUpdate, { updatedAt: dataUpdatedAt || new Date().getTime(), timeToUpdate: refetchTime, isLoading: isFetching, onClick: () => refetch(), sx: { marginRight: -1 }, size: "medium", edge: "end" }));
|
|
31
31
|
}, [dataUpdatedAt, isFetching, refetch, refetchTime]);
|
|
32
32
|
const routeNotFound = !swapRoutes?.length && !isLoading && !isFetching;
|
|
33
|
-
return (_jsx(Stack, { direction: "column", spacing: 2, flex: 1, children: routeNotFound ? (_jsx(SwapRouteNotFoundCard, {})) : isLoading ? (Array.from({ length: 3 }).map((_, index) => (_jsx(SwapRouteCardSkeleton, {}, index)))) : (swapRoutes?.map((route, index) => (_jsx(SwapRouteCard, { route: route, onClick: () => handleRouteClick(route), active: index === 0 }, route.id)))) }));
|
|
33
|
+
return (_jsx(Stack, { direction: "column", spacing: 2, flex: 1, children: routeNotFound ? (_jsx(SwapRouteNotFoundCard, {})) : isLoading ? (Array.from({ length: 3 }).map((_, index) => (_jsx(SwapRouteCardSkeleton, {}, index)))) : (swapRoutes?.map((route, index) => (_jsx(SwapRouteCard, { route: route, onClick: () => handleRouteClick(route), active: index === 0, expanded: swapRoutes?.length <= 2 }, route.id)))) }));
|
|
34
34
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import { LiFi } from '@lifi/sdk';
|
|
3
3
|
import { createContext, useContext, useMemo } from 'react';
|
|
4
4
|
import { useWidgetConfig } from '../WidgetProvider';
|
|
5
5
|
let lifi;
|
|
@@ -10,6 +10,7 @@ export const SDKProvider = ({ children, }) => {
|
|
|
10
10
|
const value = useMemo(() => {
|
|
11
11
|
const config = {
|
|
12
12
|
...sdkConfig,
|
|
13
|
+
integrator: integrator ?? window.location.hostname,
|
|
13
14
|
defaultRouteOptions: {
|
|
14
15
|
fee,
|
|
15
16
|
integrator: integrator ?? window.location.hostname,
|
|
@@ -20,7 +21,7 @@ export const SDKProvider = ({ children, }) => {
|
|
|
20
21
|
},
|
|
21
22
|
};
|
|
22
23
|
if (!lifi) {
|
|
23
|
-
lifi = new
|
|
24
|
+
lifi = new LiFi({
|
|
24
25
|
disableVersionCheck: true,
|
|
25
26
|
...config,
|
|
26
27
|
});
|
|
@@ -5,7 +5,7 @@ import { SwapFormKey } from '../SwapFormProvider';
|
|
|
5
5
|
import { useWallet } from '../WalletProvider';
|
|
6
6
|
import { isItemAllowed, useWidgetConfig } from '../WidgetProvider';
|
|
7
7
|
export const FormUpdater = ({ defaultValues }) => {
|
|
8
|
-
const { fromChain, toChain, chains
|
|
8
|
+
const { fromChain, toChain, chains } = useWidgetConfig();
|
|
9
9
|
const { account } = useWallet();
|
|
10
10
|
const { setValue, getValues, getFieldState, resetField,
|
|
11
11
|
// Subscription to touchedFields is required by getFieldState to work
|
|
@@ -13,7 +13,7 @@ export const FormUpdater = ({ defaultValues }) => {
|
|
|
13
13
|
const previousDefaultValues = useRef(defaultValues);
|
|
14
14
|
// Set wallet chain as default if no chains are provided by config and if they were not changed during widget usage
|
|
15
15
|
useEffect(() => {
|
|
16
|
-
const chainAllowed = account.chainId && isItemAllowed(account.chainId, chains
|
|
16
|
+
const chainAllowed = account.chainId && isItemAllowed(account.chainId, chains);
|
|
17
17
|
if (!account.isActive || !account.chainId || !chainAllowed) {
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
@@ -37,7 +37,6 @@ export const FormUpdater = ({ defaultValues }) => {
|
|
|
37
37
|
account.chainId,
|
|
38
38
|
account.isActive,
|
|
39
39
|
chains,
|
|
40
|
-
disabledChains,
|
|
41
40
|
fromChain,
|
|
42
41
|
getFieldState,
|
|
43
42
|
getValues,
|
|
@@ -4,13 +4,16 @@ import { createContext, useContext, useId, useMemo } from 'react';
|
|
|
4
4
|
import { setDefaultSettings } from '../../stores';
|
|
5
5
|
import { formatAmount } from '../../utils';
|
|
6
6
|
const initialContext = {
|
|
7
|
-
disabledChains: [],
|
|
8
7
|
elementId: '',
|
|
8
|
+
integrator: '',
|
|
9
9
|
};
|
|
10
10
|
const WidgetContext = createContext(initialContext);
|
|
11
11
|
export const useWidgetConfig = () => useContext(WidgetContext);
|
|
12
|
-
export const WidgetProvider = ({ children, config: { fromChain, fromToken, toChain, toToken, fromAmount, ...config } = {}, }) => {
|
|
12
|
+
export const WidgetProvider = ({ children, config: { fromChain, fromToken, toChain, toToken, fromAmount, integrator, ...config } = {}, }) => {
|
|
13
13
|
const elementId = useId();
|
|
14
|
+
if (!integrator) {
|
|
15
|
+
throw Error('Required property "integrator" is missing.');
|
|
16
|
+
}
|
|
14
17
|
const value = useMemo(() => {
|
|
15
18
|
try {
|
|
16
19
|
const searchParams = Object.fromEntries(new URLSearchParams(window?.location.search));
|
|
@@ -46,14 +49,24 @@ export const WidgetProvider = ({ children, config: { fromChain, fromToken, toCha
|
|
|
46
49
|
? formatAmount(searchParams.fromAmount)
|
|
47
50
|
: fromAmount,
|
|
48
51
|
elementId,
|
|
52
|
+
integrator,
|
|
49
53
|
};
|
|
50
54
|
setDefaultSettings(value);
|
|
51
55
|
return value;
|
|
52
56
|
}
|
|
53
57
|
catch (e) {
|
|
54
58
|
console.warn(e);
|
|
55
|
-
return { ...config, elementId };
|
|
59
|
+
return { ...config, elementId, integrator };
|
|
56
60
|
}
|
|
57
|
-
}, [
|
|
61
|
+
}, [
|
|
62
|
+
config,
|
|
63
|
+
elementId,
|
|
64
|
+
fromAmount,
|
|
65
|
+
fromChain,
|
|
66
|
+
fromToken,
|
|
67
|
+
integrator,
|
|
68
|
+
toChain,
|
|
69
|
+
toToken,
|
|
70
|
+
]);
|
|
58
71
|
return (_jsx(WidgetContext.Provider, { value: value, children: children }));
|
|
59
72
|
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
export const isItemAllowed = (itemId, items
|
|
2
|
-
/** @deprecated Remove in the next major release */
|
|
3
|
-
disabledChains) => {
|
|
1
|
+
export const isItemAllowed = (itemId, items) => {
|
|
4
2
|
if (items?.allow?.length) {
|
|
5
3
|
return items.allow.includes(itemId);
|
|
6
4
|
}
|
|
7
|
-
return !
|
|
5
|
+
return !items?.deny?.includes(itemId);
|
|
8
6
|
};
|
package/stores/StoreProvider.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { RouteExecutionStoreProvider } from './routes';
|
|
3
3
|
export const StoreProvider = ({ children, namePrefix }) => {
|
|
4
|
-
return (_jsx(RouteExecutionStoreProvider, { namePrefix: namePrefix, children:
|
|
4
|
+
return (_jsx(RouteExecutionStoreProvider, { namePrefix: namePrefix, children: children }));
|
|
5
5
|
};
|
|
@@ -5,13 +5,14 @@ import { RouteExecutionStatus } from './types';
|
|
|
5
5
|
import { isRouteDone, isRouteFailed, isRoutePartiallyDone, isRouteRefunded, } from './utils';
|
|
6
6
|
export const createRouteExecutionStore = ({ namePrefix }) => create(persist((set, get) => ({
|
|
7
7
|
routes: {},
|
|
8
|
-
setExecutableRoute: (route) => {
|
|
8
|
+
setExecutableRoute: (route, insurableRouteId) => {
|
|
9
9
|
if (!get().routes[route.id]) {
|
|
10
10
|
set((state) => {
|
|
11
11
|
const routes = { ...state.routes };
|
|
12
12
|
// clean previous idle routes that were not executed
|
|
13
13
|
Object.keys(routes)
|
|
14
|
-
.filter((routeId) =>
|
|
14
|
+
.filter((routeId) => routeId !== insurableRouteId &&
|
|
15
|
+
routes[routeId]?.status === RouteExecutionStatus.Idle)
|
|
15
16
|
.forEach((routeId) => delete routes[routeId]);
|
|
16
17
|
routes[route.id] = {
|
|
17
18
|
route,
|
package/stores/routes/index.d.ts
CHANGED
package/stores/routes/index.js
CHANGED
package/stores/routes/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface RouteExecution {
|
|
|
5
5
|
}
|
|
6
6
|
export interface RouteExecutionState {
|
|
7
7
|
routes: Partial<Record<string, RouteExecution>>;
|
|
8
|
-
setExecutableRoute: (route: Route) => void;
|
|
8
|
+
setExecutableRoute: (route: Route, insurableRouteId?: string) => void;
|
|
9
9
|
updateRoute: (route: Route) => void;
|
|
10
10
|
restartRoute: (routeId: string) => void;
|
|
11
11
|
deleteRoute: (routeId: string) => void;
|
|
@@ -19,7 +19,3 @@ export declare enum RouteExecutionStatus {
|
|
|
19
19
|
Partial = 8,
|
|
20
20
|
Refunded = 16
|
|
21
21
|
}
|
|
22
|
-
export interface RecommendedRouteState {
|
|
23
|
-
recommendedRoute?: Route;
|
|
24
|
-
setRecommendedRoute: (route?: Route) => void;
|
|
25
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const useSetExecutableRoute: () => (route: import("@lifi/types").Route) => void;
|
|
1
|
+
export declare const useSetExecutableRoute: () => (route: import("@lifi/types").Route, insurableRouteId?: string | undefined) => void;
|