@lifi/widget 1.17.0 → 1.17.2
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/AppDrawer.d.ts +3 -3
- package/cjs/AppDrawer.d.ts +3 -3
- package/cjs/components/ChainSelect/ChainSelect.d.ts +0 -1
- package/cjs/components/Header/useHeaderActionStore.js +1 -4
- package/cjs/components/Step/CircularProgress.d.ts +0 -1
- package/cjs/components/SwapButton/ButtonTooltip.d.ts +0 -1
- package/cjs/components/SwapInput/SwapInputAdornment.d.ts +0 -1
- package/cjs/components/TokenList/TokenList.js +4 -1
- package/cjs/config/sentry.js +3 -26
- package/cjs/config/version.d.ts +1 -1
- package/cjs/config/version.js +1 -1
- package/cjs/hooks/useGasSufficiency.js +18 -38
- package/cjs/hooks/useRouteExecution.js +22 -9
- package/cjs/hooks/useSwapRoutes.js +1 -4
- package/cjs/hooks/useTelemetry.js +3 -2
- package/cjs/hooks/useTokenBalances.d.ts +1 -1
- package/cjs/hooks/useTokenBalances.js +3 -1
- package/cjs/hooks/useWidgetEvents.d.ts +3 -3
- package/cjs/hooks/useWidgetEvents.js +3 -6
- package/cjs/i18n/index.js +2 -5
- package/cjs/index.d.ts +2 -1
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
- package/cjs/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
- package/cjs/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
- package/cjs/pages/SettingsPage/AdvancedPreferences.d.ts +0 -1
- package/cjs/pages/SettingsPage/EnabledBridgesSelect.js +1 -4
- package/cjs/pages/SettingsPage/EnabledExchangesSelect.js +1 -4
- package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
- package/cjs/pages/SettingsPage/SettingsPage.d.ts +0 -1
- package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
- package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
- package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +1 -4
- package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +2 -4
- package/cjs/providers/SDKProvider/SDKProvider.js +1 -4
- package/cjs/stores/chains/useChainOrder.js +1 -4
- package/cjs/stores/chains/useChainOrderStore.js +1 -4
- package/cjs/stores/route/useExecutingRoutesIds.js +1 -4
- package/cjs/stores/route/useRouteStore.js +1 -4
- package/cjs/stores/route/useSwapHistory.js +1 -4
- package/cjs/stores/route/utils.d.ts +2 -1
- package/cjs/stores/route/utils.js +14 -1
- package/cjs/stores/settings/useAppearance.js +1 -4
- package/cjs/stores/settings/useSettings.js +1 -4
- package/cjs/stores/settings/useSettingsStore.js +1 -4
- package/cjs/types/events.d.ts +15 -3
- package/cjs/types/events.js +4 -3
- package/cjs/utils/format.js +1 -4
- package/components/ChainSelect/ChainSelect.d.ts +0 -1
- package/components/Step/CircularProgress.d.ts +0 -1
- package/components/SwapButton/ButtonTooltip.d.ts +0 -1
- package/components/SwapInput/SwapInputAdornment.d.ts +0 -1
- package/components/TokenList/TokenList.js +4 -1
- package/config/version.d.ts +1 -1
- package/config/version.js +1 -1
- package/hooks/useGasSufficiency.js +19 -36
- package/hooks/useRouteExecution.js +22 -6
- package/hooks/useTelemetry.js +3 -2
- package/hooks/useTokenBalances.d.ts +1 -1
- package/hooks/useTokenBalances.js +3 -1
- package/hooks/useWidgetEvents.d.ts +3 -3
- package/hooks/useWidgetEvents.js +2 -2
- package/index.d.ts +2 -1
- package/package.json +10 -9
- package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
- package/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
- package/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
- package/pages/SettingsPage/AdvancedPreferences.d.ts +0 -1
- package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
- package/pages/SettingsPage/SettingsPage.d.ts +0 -1
- package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
- package/pages/SettingsPage/SlippageInput.d.ts +0 -1
- package/pages/SwapRoutesPage/SwapRoutesPage.js +3 -5
- package/stores/route/utils.d.ts +2 -1
- package/stores/route/utils.js +12 -0
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/types/events.d.ts +15 -3
- package/types/events.js +4 -3
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
|
-
import { useLocation, useNavigate } from 'react-router-dom';
|
|
4
3
|
import { useHeaderActionStore } from '../../components/Header';
|
|
5
4
|
import { ProgressToNextUpdate } from '../../components/ProgressToNextUpdate';
|
|
6
5
|
import { SwapRouteCard, SwapRouteCardSkeleton, SwapRouteNotFoundCard, } from '../../components/SwapRouteCard';
|
|
7
|
-
import { useSwapRoutes } from '../../hooks';
|
|
6
|
+
import { useNavigateBack, useSwapRoutes } from '../../hooks';
|
|
8
7
|
import { useSetExecutableRoute } from '../../stores';
|
|
9
8
|
import { navigationRoutes } from '../../utils';
|
|
10
9
|
import { Stack } from './SwapRoutesPage.style';
|
|
11
10
|
export const SwapRoutesPage = () => {
|
|
12
|
-
const navigate =
|
|
13
|
-
const { pathname } = useLocation();
|
|
11
|
+
const { navigateBack, navigate } = useNavigateBack();
|
|
14
12
|
const { routes: swapRoutes, isLoading, isFetching, dataUpdatedAt, refetchTime, refetch, } = useSwapRoutes();
|
|
15
13
|
const setExecutableRoute = useSetExecutableRoute();
|
|
16
14
|
const handleRouteClick = (route) => {
|
|
@@ -21,7 +19,7 @@ export const SwapRoutesPage = () => {
|
|
|
21
19
|
};
|
|
22
20
|
useEffect(() => {
|
|
23
21
|
if (!(swapRoutes === null || swapRoutes === void 0 ? void 0 : swapRoutes.length) && !isLoading && !isFetching) {
|
|
24
|
-
|
|
22
|
+
navigateBack();
|
|
25
23
|
}
|
|
26
24
|
// redirect to the home page if no routes are found on page reload
|
|
27
25
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
package/stores/route/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Route } from '@lifi/sdk';
|
|
1
|
+
import type { Process, Route } from '@lifi/sdk';
|
|
2
2
|
export declare const isRouteCompleted: (route: Route) => boolean;
|
|
3
3
|
export declare const isRouteFailed: (route: Route) => boolean;
|
|
4
4
|
export declare const isRouteActive: (route?: Route) => boolean;
|
|
5
|
+
export declare const getUpdatedProcess: (currentRoute: Route, updatedRoute: Route) => Process | undefined;
|
package/stores/route/utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import microdiff from 'microdiff';
|
|
1
2
|
export const isRouteCompleted = (route) => {
|
|
2
3
|
return route.steps.every((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'DONE'; });
|
|
3
4
|
};
|
|
@@ -13,3 +14,14 @@ export const isRouteActive = (route) => {
|
|
|
13
14
|
const alreadyStarted = route.steps.some((step) => step.execution);
|
|
14
15
|
return !isDone && !isFailed && alreadyStarted;
|
|
15
16
|
};
|
|
17
|
+
export const getUpdatedProcess = (currentRoute, updatedRoute) => {
|
|
18
|
+
const processDiff = microdiff(currentRoute, updatedRoute).find((diff) => diff.path.includes('process'));
|
|
19
|
+
if (!processDiff) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
// e.g. ['steps', 0, 'execution', 'process', 0]
|
|
23
|
+
const process = processDiff.path
|
|
24
|
+
.slice(0, processDiff.path.findIndex((path) => path === 'process') + 2)
|
|
25
|
+
.reduce((obj, path) => obj[path], updatedRoute);
|
|
26
|
+
return process;
|
|
27
|
+
};
|