@lifi/widget 3.13.2 → 3.14.0-beta.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/dist/esm/AppDrawer.style.d.ts +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +1 -0
- package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
- package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +1 -1
- package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +1 -1
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +2 -2
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/dist/esm/components/ButtonTertiary.d.ts +1 -1
- package/dist/esm/components/ButtonTertiary.js +4 -5
- package/dist/esm/components/ButtonTertiary.js.map +1 -1
- package/dist/esm/components/Card/CardHeader.d.ts +1 -1
- package/dist/esm/components/Card/CardIconButton.d.ts +1 -1
- package/dist/esm/components/Card/CardLabel.js +0 -1
- package/dist/esm/components/Card/CardLabel.js.map +1 -1
- package/dist/esm/components/Header/Header.style.d.ts +1 -1
- package/dist/esm/components/Header/SettingsButton.style.d.ts +1 -1
- package/dist/esm/components/RouteCard/RouteCard.js +13 -4
- package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
- package/dist/esm/components/RouteCard/getMatchingLabels.d.ts +3 -0
- package/dist/esm/components/RouteCard/getMatchingLabels.js +34 -0
- package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -0
- package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
- package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +2 -2
- package/dist/esm/components/Step/CircularProgress.js +2 -1
- package/dist/esm/components/Step/CircularProgress.js.map +1 -1
- package/dist/esm/components/Step/CircularProgress.style.js +13 -2
- package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
- package/dist/esm/components/Step/Step.js +17 -8
- package/dist/esm/components/Step/Step.js.map +1 -1
- package/dist/esm/components/Step/StepProcess.js +2 -1
- package/dist/esm/components/Step/StepProcess.js.map +1 -1
- package/dist/esm/components/Step/StepTimer.js +2 -1
- package/dist/esm/components/Step/StepTimer.js.map +1 -1
- package/dist/esm/components/TokenList/TokenList.style.d.ts +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/config/version.js.map +1 -1
- package/dist/esm/hooks/useProcessMessage.js +18 -6
- package/dist/esm/hooks/useProcessMessage.js.map +1 -1
- package/dist/esm/hooks/useRoutes.d.ts +2 -2
- package/dist/esm/hooks/useRoutes.js +99 -58
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/i18n/en.json +14 -10
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +1 -2
- package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
- package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +2 -2
- package/dist/esm/providers/WalletProvider/SDKProviders.js +2 -15
- package/dist/esm/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/dist/esm/stores/routes/useExecutingRoutesIds.js +2 -2
- package/dist/esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
- package/dist/esm/themes/createTheme.js +4 -5
- package/dist/esm/themes/createTheme.js.map +1 -1
- package/dist/esm/types/widget.d.ts +19 -1
- package/dist/esm/types/widget.js.map +1 -1
- package/package.json +12 -13
- package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +1 -0
- package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +3 -3
- package/src/components/ButtonTertiary.tsx +4 -5
- package/src/components/Card/CardLabel.tsx +0 -1
- package/src/components/RouteCard/RouteCard.tsx +19 -6
- package/src/components/RouteCard/getMatchingLabels.ts +53 -0
- package/src/components/Step/CircularProgress.style.tsx +13 -2
- package/src/components/Step/CircularProgress.tsx +2 -1
- package/src/components/Step/Step.tsx +23 -12
- package/src/components/Step/StepProcess.tsx +2 -1
- package/src/components/Step/StepTimer.tsx +3 -1
- package/src/config/version.ts +1 -1
- package/src/hooks/useProcessMessage.ts +24 -5
- package/src/hooks/useRoutes.ts +127 -66
- package/src/i18n/en.json +14 -10
- package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +2 -3
- package/src/providers/WalletProvider/SDKProviders.tsx +2 -16
- package/src/stores/routes/useExecutingRoutesIds.ts +2 -2
- package/src/themes/createTheme.ts +6 -8
- package/src/themes/types.ts +0 -1
- package/src/types/widget.ts +23 -0
- package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.d.ts +0 -8
- package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.js +0 -95
- package/dist/esm/providers/WalletProvider/getSafeMultisigConfig.js.map +0 -1
- package/src/providers/WalletProvider/getSafeMultisigConfig.ts +0 -144
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDKProviders.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/SDKProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SDKProviders.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/SDKProviders.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EACL,kBAAkB,IAAI,uBAAuB,EAC7C,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAErE,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IACvC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,0BAA0B;QAC1B,MAAM,SAAS,GAAkB,EAAE,CAAA;QACnC,MAAM,wBAAwB,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,CACzD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAC9C,CAAA;QACD,MAAM,wBAAwB,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,CACzD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAC9C,CAAA;QACD,MAAM,yBAAyB,GAAG,SAAS,EAAE,SAAS,EAAE,IAAI,CAC1D,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAC/C,CAAA;QACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CACZ,GAAG,CAAC;gBACF,eAAe,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC;gBAC3D,WAAW,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;oBACrC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;oBACzD,OAAO,uBAAuB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;gBACpE,CAAC;aACF,CAAC,CACH,CAAA;QACH,CAAC;QACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC;gBACL,KAAK,CAAC,gBAAgB;oBACpB,OAAO,MAAM,EAAE,OAA8B,CAAA;gBAC/C,CAAC;aACF,CAAC,CACH,CAAA;QACH,CAAC;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC;gBACH,eAAe,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC;aAC5D,CAAC,CACH,CAAA;QACH,CAAC;QACD,IAAI,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAErE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -9,8 +9,8 @@ export const useExecutingRoutesIds = () => {
|
|
|
9
9
|
.filter((item) => accountAddresses.includes(item.route.fromAddress) &&
|
|
10
10
|
(item.status === RouteExecutionStatus.Pending ||
|
|
11
11
|
item.status === RouteExecutionStatus.Failed))
|
|
12
|
-
.sort((a, b) => (b?.route.steps[0].execution?.process[0]
|
|
13
|
-
(a?.route.steps[0].execution?.process[0]
|
|
12
|
+
.sort((a, b) => (b?.route.steps[0].execution?.process[0]?.startedAt ?? 0) -
|
|
13
|
+
(a?.route.steps[0].execution?.process[0]?.startedAt ?? 0))
|
|
14
14
|
.map(({ route }) => route.id), shallow);
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=useExecutingRoutesIds.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExecutingRoutesIds.js","sourceRoot":"","sources":["../../../../src/stores/routes/useExecutingRoutesIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IACjC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,OAAO,sBAAsB,CAC3B,CAAC,KAAK,EAAE,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAsB;SAC9C,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACjD,CAAC,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO;YAC3C,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC,CACjD;SACA,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useExecutingRoutesIds.js","sourceRoot":"","sources":["../../../../src/stores/routes/useExecutingRoutesIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IACjC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,OAAO,sBAAsB,CAC3B,CAAC,KAAK,EAAE,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAsB;SAC9C,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACjD,CAAC,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO;YAC3C,IAAI,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,CAAC,CACjD;SACA,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,CAC5D;SACA,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EACjC,OAAO,CACR,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { alpha, createTheme as createMuiTheme, css, darken, dialogActionsClasses, getContrastRatio, keyframes, lighten, tabsClasses, touchRippleClasses, } from '@mui/material';
|
|
1
|
+
import { alpha, buttonClasses, createTheme as createMuiTheme, css, darken, dialogActionsClasses, getContrastRatio, keyframes, lighten, tabsClasses, touchRippleClasses, } from '@mui/material';
|
|
3
2
|
import { palette, paletteDark, paletteLight } from './palettes.js';
|
|
4
3
|
import { getStyleOverrides } from './utils.js';
|
|
5
4
|
const shape = {
|
|
@@ -207,16 +206,16 @@ export const createTheme = (mode, widgetTheme = {}) => {
|
|
|
207
206
|
cursor: 'not-allowed',
|
|
208
207
|
pointerEvents: 'auto',
|
|
209
208
|
},
|
|
210
|
-
[`&.${
|
|
209
|
+
[`&.${buttonClasses.loading}.Mui-disabled`]: {
|
|
211
210
|
backgroundColor: primaryMainColor,
|
|
212
211
|
color: contrastButtonColor,
|
|
213
212
|
cursor: 'auto',
|
|
214
213
|
pointerEvents: 'auto',
|
|
215
214
|
},
|
|
216
|
-
[`.${
|
|
215
|
+
[`.${buttonClasses.loadingIndicator}`]: {
|
|
217
216
|
color: contrastButtonColor,
|
|
218
217
|
},
|
|
219
|
-
[`&.${
|
|
218
|
+
[`&.${buttonClasses.root}.${buttonClasses.loading}`]: {
|
|
220
219
|
color: 'transparent',
|
|
221
220
|
},
|
|
222
221
|
...getStyleOverrides('MuiButton', 'root', widgetTheme, ownerState),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTheme.js","sourceRoot":"","sources":["../../../src/themes/createTheme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createTheme.js","sourceRoot":"","sources":["../../../src/themes/createTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BaseToken, ChainType, ContractCall, Order, RouteOptions, SDKConfig, StaticToken, Token } from '@lifi/sdk';
|
|
2
|
-
import type { Components, PaletteMode, PaletteOptions, Shape, Theme } from '@mui/material';
|
|
2
|
+
import type { Components, PaletteMode, PaletteOptions, Shape, SxProps, Theme } from '@mui/material';
|
|
3
3
|
import type { TypographyOptions } from '@mui/material/styles/createTypography.js';
|
|
4
4
|
import type { CSSProperties, MutableRefObject, ReactNode, RefObject } from 'react';
|
|
5
5
|
import type { CoinbaseWalletParameters, MetaMaskParameters, WalletConnectParameters } from 'wagmi/connectors';
|
|
@@ -126,6 +126,19 @@ export type WidgetLanguages = {
|
|
|
126
126
|
default?: LanguageKey;
|
|
127
127
|
} & AllowDeny<LanguageKey>;
|
|
128
128
|
export type PoweredByType = 'default' | 'jumper';
|
|
129
|
+
export interface RouteLabel {
|
|
130
|
+
text: string;
|
|
131
|
+
sx?: SxProps<Theme>;
|
|
132
|
+
}
|
|
133
|
+
export interface RouteLabelRule {
|
|
134
|
+
label: RouteLabel;
|
|
135
|
+
bridges?: AllowDeny<string>;
|
|
136
|
+
exchanges?: AllowDeny<string>;
|
|
137
|
+
fromChainId?: number[];
|
|
138
|
+
toChainId?: number[];
|
|
139
|
+
fromTokenAddress?: string[];
|
|
140
|
+
toTokenAddress?: string[];
|
|
141
|
+
}
|
|
129
142
|
export interface WidgetConfig {
|
|
130
143
|
fromChain?: number;
|
|
131
144
|
toChain?: number;
|
|
@@ -157,6 +170,7 @@ export interface WidgetConfig {
|
|
|
157
170
|
hiddenUI?: HiddenUIType[];
|
|
158
171
|
requiredUI?: RequiredUIType[];
|
|
159
172
|
useRecommendedRoute?: boolean;
|
|
173
|
+
useRelayerRoutes?: boolean;
|
|
160
174
|
walletConfig?: WidgetWalletConfig;
|
|
161
175
|
sdkConfig?: WidgetSDKConfig;
|
|
162
176
|
buildUrl?: boolean;
|
|
@@ -169,6 +183,10 @@ export interface WidgetConfig {
|
|
|
169
183
|
languageResources?: LanguageResources;
|
|
170
184
|
explorerUrls?: Record<number, string[]> & Partial<Record<'internal', string[]>>;
|
|
171
185
|
poweredBy?: PoweredByType;
|
|
186
|
+
/**
|
|
187
|
+
* Custom labels/badges to show on routes based on specified rules
|
|
188
|
+
*/
|
|
189
|
+
routeLabels?: RouteLabelRule[];
|
|
172
190
|
}
|
|
173
191
|
export interface FormFieldOptions {
|
|
174
192
|
setUrlSearchParam: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AA8EA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,iCAAmB,CAAA;AACrB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAGD,MAAM,CAAN,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,qCAAyB,CAAA;IACzB,mDAAuC,CAAA;IACvC,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,mCAAuB,CAAA;IACvB,+BAAmB,CAAA;IACnB,qCAAyB,CAAA;IACzB,2DAA+C,CAAA;AACjD,CAAC,EAVW,QAAQ,KAAR,QAAQ,QAUnB;AAGD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,qCAAuB,CAAA;AACzB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0-beta.0",
|
|
4
4
|
"description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/esm/index.js",
|
|
@@ -30,27 +30,26 @@
|
|
|
30
30
|
"lifi"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@bigmi/client": "^0.0
|
|
34
|
-
"@bigmi/core": "^0.0
|
|
33
|
+
"@bigmi/client": "^0.1.0",
|
|
34
|
+
"@bigmi/core": "^0.1.0",
|
|
35
35
|
"@emotion/react": "^11.14.0",
|
|
36
36
|
"@emotion/styled": "^11.14.0",
|
|
37
|
-
"@lifi/sdk": "
|
|
37
|
+
"@lifi/sdk": "3.6.0-beta.3",
|
|
38
38
|
"@mui/icons-material": "6.0.2",
|
|
39
|
-
"@mui/
|
|
40
|
-
"@mui/
|
|
41
|
-
"@mui/system": "^6.3.0",
|
|
39
|
+
"@mui/material": "^6.4.0",
|
|
40
|
+
"@mui/system": "^6.4.0",
|
|
42
41
|
"@solana/wallet-adapter-base": "^0.9.23",
|
|
43
42
|
"@solana/web3.js": "^1.98.0",
|
|
44
43
|
"@tanstack/react-virtual": "^3.11.2",
|
|
45
|
-
"i18next": "^24.2.
|
|
44
|
+
"i18next": "^24.2.1",
|
|
46
45
|
"microdiff": "^1.5.0",
|
|
47
46
|
"mitt": "^3.0.1",
|
|
48
|
-
"react-i18next": "^15.
|
|
49
|
-
"react-intersection-observer": "^9.
|
|
47
|
+
"react-i18next": "^15.4.0",
|
|
48
|
+
"react-intersection-observer": "^9.15.0",
|
|
50
49
|
"react-router-dom": "^6.28.0",
|
|
51
|
-
"viem": "^2.
|
|
52
|
-
"zustand": "^5.0.
|
|
53
|
-
"@lifi/wallet-management": "^3.
|
|
50
|
+
"viem": "^2.22.8",
|
|
51
|
+
"zustand": "^5.0.3",
|
|
52
|
+
"@lifi/wallet-management": "^3.6.0-beta.0"
|
|
54
53
|
},
|
|
55
54
|
"peerDependencies": {
|
|
56
55
|
"@bigmi/react": ">=0.0.7",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useAccount, useWalletMenu } from '@lifi/wallet-management'
|
|
2
|
-
import {
|
|
2
|
+
import { Button } from '@mui/material'
|
|
3
3
|
import { useTranslation } from 'react-i18next'
|
|
4
4
|
import { useChain } from '../../hooks/useChain.js'
|
|
5
5
|
import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
|
|
@@ -39,7 +39,7 @@ export const BaseTransactionButton: React.FC<BaseTransactionButtonProps> = ({
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
return (
|
|
42
|
-
<
|
|
42
|
+
<Button
|
|
43
43
|
variant="contained"
|
|
44
44
|
color="primary"
|
|
45
45
|
onClick={handleClick}
|
|
@@ -49,6 +49,6 @@ export const BaseTransactionButton: React.FC<BaseTransactionButtonProps> = ({
|
|
|
49
49
|
fullWidth
|
|
50
50
|
>
|
|
51
51
|
{getButtonText()}
|
|
52
|
-
</
|
|
52
|
+
</Button>
|
|
53
53
|
)
|
|
54
54
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { styled } from '@mui/material'
|
|
1
|
+
import { Button, buttonClasses, styled } from '@mui/material'
|
|
3
2
|
import { getContrastAlphaColor } from '../utils/colors.js'
|
|
4
3
|
|
|
5
|
-
export const ButtonTertiary = styled(
|
|
4
|
+
export const ButtonTertiary = styled(Button)(({ theme }) => ({
|
|
6
5
|
color: theme.palette.text.primary,
|
|
7
6
|
height: 40,
|
|
8
7
|
fontSize: 14,
|
|
@@ -10,10 +9,10 @@ export const ButtonTertiary = styled(LoadingButton)(({ theme }) => ({
|
|
|
10
9
|
'&:hover, &:active': {
|
|
11
10
|
backgroundColor: getContrastAlphaColor(theme, 0.08),
|
|
12
11
|
},
|
|
13
|
-
[`&.${
|
|
12
|
+
[`&.${buttonClasses.loading}:disabled`]: {
|
|
14
13
|
backgroundColor: getContrastAlphaColor(theme, 0.04),
|
|
15
14
|
},
|
|
16
|
-
[`.${
|
|
15
|
+
[`.${buttonClasses.loadingIndicator}`]: {
|
|
17
16
|
color: theme.palette.text.primary,
|
|
18
17
|
},
|
|
19
18
|
}))
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TokenAmount } from '@lifi/sdk'
|
|
2
|
+
import { isEVMPermitStep } from '@lifi/sdk'
|
|
2
3
|
import { ExpandLess, ExpandMore } from '@mui/icons-material'
|
|
3
4
|
import { Box, Collapse } from '@mui/material'
|
|
4
5
|
import type { MouseEventHandler } from 'react'
|
|
@@ -14,6 +15,7 @@ import { Token } from '../Token/Token.js'
|
|
|
14
15
|
import { TokenContainer } from './RouteCard.style.js'
|
|
15
16
|
import { RouteCardEssentials } from './RouteCardEssentials.js'
|
|
16
17
|
import { RouteCardEssentialsExpanded } from './RouteCardEssentialsExpanded.js'
|
|
18
|
+
import { getMatchingLabels } from './getMatchingLabels.js'
|
|
17
19
|
import type { RouteCardProps } from './types.js'
|
|
18
20
|
|
|
19
21
|
export const RouteCard: React.FC<
|
|
@@ -26,7 +28,7 @@ export const RouteCard: React.FC<
|
|
|
26
28
|
...other
|
|
27
29
|
}) => {
|
|
28
30
|
const { t } = useTranslation()
|
|
29
|
-
const { subvariant, subvariantOptions } = useWidgetConfig()
|
|
31
|
+
const { subvariant, subvariantOptions, routeLabels } = useWidgetConfig()
|
|
30
32
|
const [cardExpanded, setCardExpanded] = useState(defaulExpanded)
|
|
31
33
|
|
|
32
34
|
const handleExpand: MouseEventHandler<HTMLButtonElement> = (e) => {
|
|
@@ -43,9 +45,13 @@ export const RouteCard: React.FC<
|
|
|
43
45
|
? { ...route.fromToken, amount: BigInt(route.fromAmount) }
|
|
44
46
|
: undefined
|
|
45
47
|
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
const customLabels = getMatchingLabels(route, routeLabels)
|
|
49
|
+
const tags: string[] =
|
|
50
|
+
route.tags?.filter((tag) => tag === 'CHEAPEST' || tag === 'FASTEST') ?? []
|
|
51
|
+
const hasRelayerSupport = route.steps.some((step) => isEVMPermitStep(step))
|
|
52
|
+
if (hasRelayerSupport) {
|
|
53
|
+
tags.push('GASLESS')
|
|
54
|
+
}
|
|
49
55
|
|
|
50
56
|
const cardContent = (
|
|
51
57
|
<Box
|
|
@@ -53,21 +59,28 @@ export const RouteCard: React.FC<
|
|
|
53
59
|
flex: 1,
|
|
54
60
|
}}
|
|
55
61
|
>
|
|
56
|
-
{subvariant !== 'refuel' &&
|
|
62
|
+
{subvariant !== 'refuel' && (tags.length || customLabels.length) ? (
|
|
57
63
|
<Box
|
|
58
64
|
sx={{
|
|
59
65
|
display: 'flex',
|
|
60
66
|
alignItems: 'center',
|
|
61
67
|
mb: 2,
|
|
68
|
+
gap: 1,
|
|
69
|
+
flexWrap: 'wrap',
|
|
62
70
|
}}
|
|
63
71
|
>
|
|
64
|
-
{tags
|
|
72
|
+
{tags.length ? (
|
|
65
73
|
<CardLabel type={active ? 'active' : undefined}>
|
|
66
74
|
<CardLabelTypography>
|
|
67
75
|
{t(`main.tags.${tags[0].toLowerCase()}` as any)}
|
|
68
76
|
</CardLabelTypography>
|
|
69
77
|
</CardLabel>
|
|
70
78
|
) : null}
|
|
79
|
+
{customLabels.map((label, index) => (
|
|
80
|
+
<CardLabel key={index} sx={label.sx}>
|
|
81
|
+
<CardLabelTypography>{label.text}</CardLabelTypography>
|
|
82
|
+
</CardLabel>
|
|
83
|
+
))}
|
|
71
84
|
</Box>
|
|
72
85
|
) : null}
|
|
73
86
|
<TokenContainer>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Route } from '@lifi/sdk'
|
|
2
|
+
import type { RouteLabel, RouteLabelRule } from '../../types/widget.js'
|
|
3
|
+
import { isItemAllowed } from '../../utils/item.js'
|
|
4
|
+
|
|
5
|
+
export const getMatchingLabels = (
|
|
6
|
+
route: Route,
|
|
7
|
+
routeLabels?: RouteLabelRule[]
|
|
8
|
+
): RouteLabel[] => {
|
|
9
|
+
if (!routeLabels?.length) {
|
|
10
|
+
return []
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return routeLabels
|
|
14
|
+
.filter((rule) => {
|
|
15
|
+
const conditions: boolean[] = []
|
|
16
|
+
|
|
17
|
+
// Check bridge/exchange matches if specified
|
|
18
|
+
if (rule.bridges || rule.exchanges) {
|
|
19
|
+
const toolNames = route.steps.flatMap((step) =>
|
|
20
|
+
step.includedSteps.map((s) => s.tool)
|
|
21
|
+
)
|
|
22
|
+
conditions.push(
|
|
23
|
+
toolNames.some(
|
|
24
|
+
(toolName) =>
|
|
25
|
+
isItemAllowed(toolName, rule.bridges) &&
|
|
26
|
+
isItemAllowed(toolName, rule.exchanges)
|
|
27
|
+
)
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// Check token matches if specified
|
|
32
|
+
if (rule.fromTokenAddress?.length) {
|
|
33
|
+
conditions.push(rule.fromTokenAddress.includes(route.fromToken.address))
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (rule.toTokenAddress?.length) {
|
|
37
|
+
conditions.push(rule.toTokenAddress.includes(route.toToken.address))
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Check chain matches if specified
|
|
41
|
+
if (rule.fromChainId?.length) {
|
|
42
|
+
conditions.push(rule.fromChainId.includes(route.fromChainId))
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (rule.toChainId?.length) {
|
|
46
|
+
conditions.push(rule.toChainId.includes(route.toChainId))
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Must have at least one condition and all conditions must be true
|
|
50
|
+
return conditions.length && conditions.every(Boolean)
|
|
51
|
+
})
|
|
52
|
+
.map((rule) => rule.label)
|
|
53
|
+
}
|
|
@@ -15,6 +15,7 @@ const getStatusColor = (
|
|
|
15
15
|
substatus?: Substatus
|
|
16
16
|
) => {
|
|
17
17
|
switch (status) {
|
|
18
|
+
case 'PERMIT_REQUIRED':
|
|
18
19
|
case 'ACTION_REQUIRED':
|
|
19
20
|
return alpha(theme.palette.info.main, 0.12)
|
|
20
21
|
case 'DONE':
|
|
@@ -33,12 +34,22 @@ export const CircularIcon = styled(Box, {
|
|
|
33
34
|
shouldForwardProp: (prop: string) => !['status', 'substatus'].includes(prop),
|
|
34
35
|
})<{ status?: ProcessStatus; substatus?: Substatus }>(
|
|
35
36
|
({ theme, status, substatus }) => ({
|
|
36
|
-
backgroundColor: [
|
|
37
|
+
backgroundColor: [
|
|
38
|
+
'PERMIT_REQUIRED',
|
|
39
|
+
'ACTION_REQUIRED',
|
|
40
|
+
'DONE',
|
|
41
|
+
'FAILED',
|
|
42
|
+
].includes(status!)
|
|
37
43
|
? getStatusColor(theme, status, substatus)
|
|
38
44
|
: theme.palette.background.paper,
|
|
39
45
|
borderStyle: 'solid',
|
|
40
46
|
borderColor: getStatusColor(theme, status, substatus),
|
|
41
|
-
borderWidth: ![
|
|
47
|
+
borderWidth: ![
|
|
48
|
+
'PERMIT_REQUIRED',
|
|
49
|
+
'ACTION_REQUIRED',
|
|
50
|
+
'DONE',
|
|
51
|
+
'FAILED',
|
|
52
|
+
].includes(status!)
|
|
42
53
|
? 3
|
|
43
54
|
: 0,
|
|
44
55
|
display: 'grid',
|
|
@@ -17,7 +17,8 @@ export function CircularProgress({ process }: { process: Process }) {
|
|
|
17
17
|
{process.status === 'STARTED' || process.status === 'PENDING' ? (
|
|
18
18
|
<CircularProgressPending size={40} />
|
|
19
19
|
) : null}
|
|
20
|
-
{process.status === '
|
|
20
|
+
{process.status === 'PERMIT_REQUIRED' ||
|
|
21
|
+
process.status === 'ACTION_REQUIRED' ? (
|
|
21
22
|
<InfoRounded
|
|
22
23
|
color="info"
|
|
23
24
|
sx={{
|
|
@@ -27,36 +27,47 @@ export const Step: React.FC<{
|
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
const getCardTitle = () => {
|
|
30
|
+
const hasBridgeStep = step.includedSteps.some(
|
|
31
|
+
(step) => step.type === 'cross'
|
|
32
|
+
)
|
|
33
|
+
const hasSwapStep = step.includedSteps.some((step) => step.type === 'swap')
|
|
34
|
+
const hasCustomStep = step.includedSteps.some(
|
|
35
|
+
(step) => step.type === 'custom'
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
const isCustomVariant = hasCustomStep && subvariant === 'custom'
|
|
39
|
+
|
|
30
40
|
switch (step.type) {
|
|
31
41
|
case 'lifi': {
|
|
32
|
-
const hasBridgeStep = step.includedSteps.some(
|
|
33
|
-
(step) => step.type === 'cross'
|
|
34
|
-
)
|
|
35
|
-
const hasSwapStep = step.includedSteps.some(
|
|
36
|
-
(step) => step.type === 'swap'
|
|
37
|
-
)
|
|
38
42
|
if (hasBridgeStep && hasSwapStep) {
|
|
39
|
-
return
|
|
43
|
+
return isCustomVariant
|
|
40
44
|
? subvariantOptions?.custom === 'deposit'
|
|
41
45
|
? t('main.stepBridgeAndDeposit')
|
|
42
46
|
: t('main.stepBridgeAndBuy')
|
|
43
47
|
: t('main.stepSwapAndBridge')
|
|
44
48
|
}
|
|
45
49
|
if (hasBridgeStep) {
|
|
46
|
-
return
|
|
50
|
+
return isCustomVariant
|
|
47
51
|
? subvariantOptions?.custom === 'deposit'
|
|
48
52
|
? t('main.stepBridgeAndDeposit')
|
|
49
53
|
: t('main.stepBridgeAndBuy')
|
|
50
54
|
: t('main.stepBridge')
|
|
51
55
|
}
|
|
52
|
-
|
|
56
|
+
if (hasSwapStep) {
|
|
57
|
+
return isCustomVariant
|
|
58
|
+
? subvariantOptions?.custom === 'deposit'
|
|
59
|
+
? t('main.stepSwapAndDeposit')
|
|
60
|
+
: t('main.stepSwapAndBuy')
|
|
61
|
+
: t('main.stepSwap')
|
|
62
|
+
}
|
|
63
|
+
return isCustomVariant
|
|
53
64
|
? subvariantOptions?.custom === 'deposit'
|
|
54
|
-
? t('main.
|
|
55
|
-
: t('main.
|
|
65
|
+
? t('main.stepDeposit')
|
|
66
|
+
: t('main.stepBuy')
|
|
56
67
|
: t('main.stepSwap')
|
|
57
68
|
}
|
|
58
69
|
default:
|
|
59
|
-
return
|
|
70
|
+
return isCustomVariant
|
|
60
71
|
? subvariantOptions?.custom === 'deposit'
|
|
61
72
|
? t('main.stepDeposit')
|
|
62
73
|
: t('main.stepBuy')
|
|
@@ -44,7 +44,9 @@ export const StepTimer: React.FC<{
|
|
|
44
44
|
return
|
|
45
45
|
}
|
|
46
46
|
const shouldRestart = executionProcess.status === 'FAILED'
|
|
47
|
-
const shouldPause =
|
|
47
|
+
const shouldPause =
|
|
48
|
+
executionProcess.status === 'PERMIT_REQUIRED' ||
|
|
49
|
+
executionProcess.status === 'ACTION_REQUIRED'
|
|
48
50
|
const shouldStart =
|
|
49
51
|
executionProcess.status === 'STARTED' ||
|
|
50
52
|
executionProcess.status === 'PENDING'
|
package/src/config/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget'
|
|
2
|
-
export const version = '3.
|
|
2
|
+
export const version = '3.14.0-beta.0'
|
|
@@ -39,6 +39,7 @@ const processStatusMessages: Record<
|
|
|
39
39
|
ProcessStatus,
|
|
40
40
|
(
|
|
41
41
|
t: TFunction,
|
|
42
|
+
step: LiFiStep,
|
|
42
43
|
subvariant?: WidgetSubvariant,
|
|
43
44
|
subvariantOptions?: SubvariantOptions
|
|
44
45
|
) => string
|
|
@@ -47,9 +48,18 @@ const processStatusMessages: Record<
|
|
|
47
48
|
> = {
|
|
48
49
|
TOKEN_ALLOWANCE: {
|
|
49
50
|
STARTED: (t) => t('main.process.tokenAllowance.started'),
|
|
50
|
-
ACTION_REQUIRED: (t) =>
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
ACTION_REQUIRED: (t, step) =>
|
|
52
|
+
t('main.process.tokenAllowance.actionRequired', {
|
|
53
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
54
|
+
}),
|
|
55
|
+
PENDING: (t, step) =>
|
|
56
|
+
t('main.process.tokenAllowance.pending', {
|
|
57
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
58
|
+
}),
|
|
59
|
+
DONE: (t, step) =>
|
|
60
|
+
t('main.process.tokenAllowance.done', {
|
|
61
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
62
|
+
}),
|
|
53
63
|
},
|
|
54
64
|
SWITCH_CHAIN: {
|
|
55
65
|
ACTION_REQUIRED: (t) => t('main.process.switchChain.actionRequired'),
|
|
@@ -57,22 +67,30 @@ const processStatusMessages: Record<
|
|
|
57
67
|
},
|
|
58
68
|
SWAP: {
|
|
59
69
|
STARTED: (t) => t('main.process.swap.started'),
|
|
70
|
+
PERMIT_REQUIRED: (t, step) =>
|
|
71
|
+
t('main.process.swap.permitRequired', {
|
|
72
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
73
|
+
}),
|
|
60
74
|
ACTION_REQUIRED: (t) => t('main.process.swap.actionRequired'),
|
|
61
75
|
PENDING: (t) => t('main.process.swap.pending'),
|
|
62
|
-
DONE: (t, subvariant, subvariantOptions) =>
|
|
76
|
+
DONE: (t, _, subvariant, subvariantOptions) =>
|
|
63
77
|
subvariant === 'custom'
|
|
64
78
|
? t(`main.process.${subvariantOptions?.custom ?? 'checkout'}.done`)
|
|
65
79
|
: t('main.process.swap.done'),
|
|
66
80
|
},
|
|
67
81
|
CROSS_CHAIN: {
|
|
68
82
|
STARTED: (t) => t('main.process.bridge.started'),
|
|
83
|
+
PERMIT_REQUIRED: (t, step) =>
|
|
84
|
+
t('main.process.bridge.permitRequired', {
|
|
85
|
+
tokenSymbol: step.action.fromToken.symbol,
|
|
86
|
+
}),
|
|
69
87
|
ACTION_REQUIRED: (t) => t('main.process.bridge.actionRequired'),
|
|
70
88
|
PENDING: (t) => t('main.process.bridge.pending'),
|
|
71
89
|
DONE: (t) => t('main.process.bridge.done'),
|
|
72
90
|
},
|
|
73
91
|
RECEIVING_CHAIN: {
|
|
74
92
|
PENDING: (t) => t('main.process.receivingChain.pending'),
|
|
75
|
-
DONE: (t, subvariant, subvariantOptions) =>
|
|
93
|
+
DONE: (t, _, subvariant, subvariantOptions) =>
|
|
76
94
|
subvariant === 'custom'
|
|
77
95
|
? t(`main.process.${subvariantOptions?.custom ?? 'checkout'}.done`)
|
|
78
96
|
: t('main.process.receivingChain.done'),
|
|
@@ -229,6 +247,7 @@ export function getProcessMessage(
|
|
|
229
247
|
]?.(t) ??
|
|
230
248
|
processStatusMessages[process.type]?.[process.status]?.(
|
|
231
249
|
t,
|
|
250
|
+
step,
|
|
232
251
|
subvariant,
|
|
233
252
|
subvariantOptions
|
|
234
253
|
)
|