@lifi/widget 3.17.0 → 3.18.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/CHANGELOG.md +16 -0
- package/dist/esm/components/Card/CardLabel.d.ts +1 -1
- package/dist/esm/components/Card/CardLabel.js +14 -3
- package/dist/esm/components/Card/CardLabel.js.map +1 -1
- package/dist/esm/components/FeeBreakdownTooltip.d.ts +1 -0
- package/dist/esm/components/FeeBreakdownTooltip.js +3 -3
- package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -1
- package/dist/esm/components/Messages/WarningMessages.d.ts +1 -0
- package/dist/esm/components/Messages/WarningMessages.js +4 -4
- package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
- package/dist/esm/components/Messages/useMessageQueue.d.ts +2 -2
- package/dist/esm/components/Messages/useMessageQueue.js +5 -4
- package/dist/esm/components/Messages/useMessageQueue.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteCard.js +11 -5
- package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteCardEssentials.js +9 -5
- package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
- package/dist/esm/components/Routes/RoutesExpanded.js +1 -4
- package/dist/esm/components/Routes/RoutesExpanded.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/StepActions/StepActions.js +20 -15
- package/dist/esm/components/StepActions/StepActions.js.map +1 -1
- package/dist/esm/components/StepActions/types.d.ts +1 -0
- package/dist/esm/components/Timer/RouteTimer.js +11 -2
- package/dist/esm/components/Timer/RouteTimer.js.map +1 -1
- package/dist/esm/components/Timer/StepTimer.js +11 -2
- package/dist/esm/components/Timer/StepTimer.js.map +1 -1
- package/dist/esm/components/Token/Token.js +1 -1
- package/dist/esm/components/Token/Token.js.map +1 -1
- package/dist/esm/components/TransactionDetails.js +20 -14
- package/dist/esm/components/TransactionDetails.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/hooks/useGasRefuel.js +2 -2
- package/dist/esm/hooks/useGasRefuel.js.map +1 -1
- package/dist/esm/hooks/useGasSufficiency.js +17 -3
- package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
- package/dist/esm/hooks/useIsBatchingSupported.d.ts +5 -0
- package/dist/esm/hooks/useIsBatchingSupported.js +19 -0
- package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -0
- package/dist/esm/hooks/useProcessMessage.js +22 -6
- package/dist/esm/hooks/useProcessMessage.js.map +1 -1
- package/dist/esm/hooks/useRoutes.d.ts +3 -3
- package/dist/esm/hooks/useRoutes.js +119 -70
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/i18n/en.json +29 -17
- package/dist/esm/pages/MainPage/ReviewButton.js +1 -4
- package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -1
- package/dist/esm/pages/RoutesPage/RoutesPage.js +1 -4
- package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/dist/esm/pages/TransactionPage/StartTransactionButton.js +1 -1
- package/dist/esm/pages/TransactionPage/StartTransactionButton.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +6 -2
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
- package/dist/esm/providers/WalletProvider/SDKProviders.js +2 -15
- package/dist/esm/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/dist/esm/types/widget.d.ts +3 -1
- package/dist/esm/types/widget.js +1 -0
- package/dist/esm/types/widget.js.map +1 -1
- package/dist/esm/utils/chainType.d.ts +1 -0
- package/dist/esm/utils/chainType.js +2 -0
- package/dist/esm/utils/chainType.js.map +1 -1
- package/dist/esm/utils/timer.d.ts +7 -0
- package/dist/esm/utils/timer.js +16 -0
- package/dist/esm/utils/timer.js.map +1 -0
- package/package.json +12 -12
- package/package.json.tmp +90 -0
- package/src/components/Card/CardLabel.tsx +29 -4
- package/src/components/FeeBreakdownTooltip.tsx +5 -2
- package/src/components/Messages/WarningMessages.tsx +5 -3
- package/src/components/Messages/useMessageQueue.ts +5 -4
- package/src/components/RouteCard/RouteCard.tsx +23 -8
- package/src/components/RouteCard/RouteCardEssentials.tsx +13 -5
- package/src/components/Routes/RoutesExpanded.tsx +1 -5
- package/src/components/Step/StepProcess.tsx +2 -1
- package/src/components/StepActions/StepActions.tsx +18 -6
- package/src/components/StepActions/types.ts +1 -0
- package/src/components/Timer/RouteTimer.tsx +13 -2
- package/src/components/Timer/StepTimer.tsx +15 -5
- package/src/components/Token/Token.tsx +1 -1
- package/src/components/TransactionDetails.tsx +51 -23
- package/src/config/version.ts +1 -1
- package/src/hooks/useGasRefuel.ts +2 -2
- package/src/hooks/useGasSufficiency.ts +23 -7
- package/src/hooks/useIsBatchingSupported.ts +24 -0
- package/src/hooks/useProcessMessage.ts +26 -5
- package/src/hooks/useRoutes.ts +148 -78
- package/src/i18n/en.json +29 -17
- package/src/pages/MainPage/ReviewButton.tsx +1 -6
- package/src/pages/RoutesPage/RoutesPage.tsx +2 -5
- package/src/pages/TransactionPage/StartTransactionButton.tsx +1 -1
- package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +9 -2
- package/src/pages/TransactionPage/TransactionPage.tsx +1 -1
- package/src/providers/WalletProvider/SDKProviders.tsx +2 -16
- package/src/types/widget.ts +2 -0
- package/src/utils/chainType.ts +2 -0
- package/src/utils/timer.ts +28 -0
- package/dist/esm/components/Messages/GasMessage.d.ts +0 -7
- package/dist/esm/components/Messages/GasMessage.js +0 -13
- package/dist/esm/components/Messages/GasMessage.js.map +0 -1
- 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/components/Messages/GasMessage.tsx +0 -35
- package/src/providers/WalletProvider/getSafeMultisigConfig.ts +0 -144
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionPage.js","sourceRoot":"","sources":["../../../../src/pages/TransactionPage/TransactionPage.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TransactionPage.js","sourceRoot":"","sources":["../../../../src/pages/TransactionPage/TransactionPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,14 @@ import { useConfig as useBigmiConfig } from '@bigmi/react';
|
|
|
3
3
|
import { ChainType, EVM, Solana, UTXO, config } from '@lifi/sdk';
|
|
4
4
|
import { useWallet } from '@solana/wallet-adapter-react';
|
|
5
5
|
import { useEffect } from 'react';
|
|
6
|
-
import {
|
|
6
|
+
import { useConfig as useWagmiConfig } from 'wagmi';
|
|
7
7
|
import { getConnectorClient as getWagmiConnectorClient, switchChain, } from 'wagmi/actions';
|
|
8
8
|
import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js';
|
|
9
|
-
import { getSafeMultisigConfig } from './getSafeMultisigConfig.js';
|
|
10
9
|
export const SDKProviders = () => {
|
|
11
10
|
const { sdkConfig } = useWidgetConfig();
|
|
12
11
|
const { wallet } = useWallet();
|
|
13
12
|
const wagmiConfig = useWagmiConfig();
|
|
14
13
|
const bigmiConfig = useBigmiConfig();
|
|
15
|
-
const account = useAccount({ config: wagmiConfig });
|
|
16
14
|
useEffect(() => {
|
|
17
15
|
// Configure SDK Providers
|
|
18
16
|
const providers = [];
|
|
@@ -20,17 +18,12 @@ export const SDKProviders = () => {
|
|
|
20
18
|
const hasConfiguredSVMProvider = sdkConfig?.providers?.some((provider) => provider.type === ChainType.SVM);
|
|
21
19
|
const hasConfiguredUTXOProvider = sdkConfig?.providers?.some((provider) => provider.type === ChainType.UTXO);
|
|
22
20
|
if (!hasConfiguredEVMProvider) {
|
|
23
|
-
// TODO: refactor this in favor of EIP-5792: Wallet Call API
|
|
24
|
-
const multisig = account.connector?.id === 'safe'
|
|
25
|
-
? getSafeMultisigConfig(account.connector)
|
|
26
|
-
: undefined;
|
|
27
21
|
providers.push(EVM({
|
|
28
22
|
getWalletClient: () => getWagmiConnectorClient(wagmiConfig),
|
|
29
23
|
switchChain: async (chainId) => {
|
|
30
24
|
const chain = await switchChain(wagmiConfig, { chainId });
|
|
31
25
|
return getWagmiConnectorClient(wagmiConfig, { chainId: chain.id });
|
|
32
26
|
},
|
|
33
|
-
multisig,
|
|
34
27
|
}));
|
|
35
28
|
}
|
|
36
29
|
if (!hasConfiguredSVMProvider) {
|
|
@@ -49,13 +42,7 @@ export const SDKProviders = () => {
|
|
|
49
42
|
providers.push(...sdkConfig.providers);
|
|
50
43
|
}
|
|
51
44
|
config.setProviders(providers);
|
|
52
|
-
}, [
|
|
53
|
-
account.connector,
|
|
54
|
-
bigmiConfig,
|
|
55
|
-
sdkConfig?.providers,
|
|
56
|
-
wagmiConfig,
|
|
57
|
-
wallet?.adapter,
|
|
58
|
-
]);
|
|
45
|
+
}, [bigmiConfig, sdkConfig?.providers, wagmiConfig, wallet?.adapter]);
|
|
59
46
|
return null;
|
|
60
47
|
};
|
|
61
48
|
//# sourceMappingURL=SDKProviders.js.map
|
|
@@ -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":"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"}
|
|
@@ -49,7 +49,8 @@ export declare enum HiddenUI {
|
|
|
49
49
|
ToToken = "toToken",
|
|
50
50
|
WalletMenu = "walletMenu",
|
|
51
51
|
IntegratorStepDetails = "integratorStepDetails",
|
|
52
|
-
ReverseTokensButton = "reverseTokensButton"
|
|
52
|
+
ReverseTokensButton = "reverseTokensButton",
|
|
53
|
+
RouteTokenDescription = "routeTokenDescription"
|
|
53
54
|
}
|
|
54
55
|
export type HiddenUIType = `${HiddenUI}`;
|
|
55
56
|
export declare enum RequiredUI {
|
|
@@ -171,6 +172,7 @@ export interface WidgetConfig {
|
|
|
171
172
|
hiddenUI?: HiddenUIType[];
|
|
172
173
|
requiredUI?: RequiredUIType[];
|
|
173
174
|
useRecommendedRoute?: boolean;
|
|
175
|
+
useRelayerRoutes?: boolean;
|
|
174
176
|
walletConfig?: WidgetWalletConfig;
|
|
175
177
|
sdkConfig?: WidgetSDKConfig;
|
|
176
178
|
buildUrl?: boolean;
|
package/dist/esm/types/widget.js
CHANGED
|
@@ -17,6 +17,7 @@ export var HiddenUI;
|
|
|
17
17
|
HiddenUI["WalletMenu"] = "walletMenu";
|
|
18
18
|
HiddenUI["IntegratorStepDetails"] = "integratorStepDetails";
|
|
19
19
|
HiddenUI["ReverseTokensButton"] = "reverseTokensButton";
|
|
20
|
+
HiddenUI["RouteTokenDescription"] = "routeTokenDescription";
|
|
20
21
|
})(HiddenUI || (HiddenUI = {}));
|
|
21
22
|
export var RequiredUI;
|
|
22
23
|
(function (RequiredUI) {
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,QAYX;AAZD,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;IAC/C,uDAA2C,CAAA;IAC3C,2DAA+C,CAAA;AACjD,CAAC,EAZW,QAAQ,KAAR,QAAQ,QAYnB;AAGD,MAAM,CAAN,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,qCAAuB,CAAA;AACzB,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB"}
|
|
@@ -5,6 +5,7 @@ const chainTypeAddressValidation = {
|
|
|
5
5
|
[ChainType.EVM]: isEVMAddress,
|
|
6
6
|
[ChainType.SVM]: isSVMAddress,
|
|
7
7
|
[ChainType.UTXO]: isUTXOAddress,
|
|
8
|
+
[ChainType.MVM]: () => false,
|
|
8
9
|
};
|
|
9
10
|
export const getChainTypeFromAddress = (address) => {
|
|
10
11
|
for (const chainType in chainTypeAddressValidation) {
|
|
@@ -18,5 +19,6 @@ export const defaultChainIdsByType = {
|
|
|
18
19
|
[ChainType.EVM]: ChainId.ETH,
|
|
19
20
|
[ChainType.SVM]: ChainId.SOL,
|
|
20
21
|
[ChainType.UTXO]: ChainId.BTC,
|
|
22
|
+
[ChainType.MVM]: ChainId.SUI,
|
|
21
23
|
};
|
|
22
24
|
//# sourceMappingURL=chainType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainType.js","sourceRoot":"","sources":["../../../src/utils/chainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,MAAM,CAAA;AAEhD,MAAM,0BAA0B,GAAG;IACjC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY;IAC7B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"chainType.js","sourceRoot":"","sources":["../../../src/utils/chainType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,MAAM,CAAA;AAEhD,MAAM,0BAA0B,GAAG;IACjC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY;IAC7B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa;IAC/B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAAe,EACQ,EAAE;IACzB,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;QACnD,MAAM,WAAW,GACf,0BAA0B,CAAC,SAAsB,CAAC,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,SAAsB,CAAA;QAC/B,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5B,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC7B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG;CAC7B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const formatTimer = ({ days = 0, hours = 0, minutes = 0, seconds = 0, locale = 'en', }) => {
|
|
2
|
+
if (typeof Intl.DurationFormat === 'function') {
|
|
3
|
+
return new Intl.DurationFormat(locale, {
|
|
4
|
+
style: 'digital',
|
|
5
|
+
hours: '2-digit',
|
|
6
|
+
hoursDisplay: 'auto',
|
|
7
|
+
}).format({
|
|
8
|
+
days,
|
|
9
|
+
hours,
|
|
10
|
+
minutes,
|
|
11
|
+
seconds,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return '';
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../../src/utils/timer.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,EACX,MAAM,GAAG,IAAI,GAOd,EAAU,EAAE;IACX,IAAI,OAAQ,IAAY,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACvD,OAAO,IAAK,IAAY,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9C,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC,MAAM,CAAC;YACR,IAAI;YACJ,KAAK;YACL,OAAO;YACP,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.18.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,26 +30,26 @@
|
|
|
30
30
|
"lifi"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@bigmi/client": "^0.1.
|
|
34
|
-
"@bigmi/core": "^0.1.
|
|
33
|
+
"@bigmi/client": "^0.1.1",
|
|
34
|
+
"@bigmi/core": "^0.1.1",
|
|
35
35
|
"@emotion/react": "^11.14.0",
|
|
36
36
|
"@emotion/styled": "^11.14.0",
|
|
37
|
-
"@lifi/sdk": "
|
|
37
|
+
"@lifi/sdk": "3.6.0",
|
|
38
38
|
"@mui/icons-material": "6.0.2",
|
|
39
|
-
"@mui/material": "^6.4.
|
|
40
|
-
"@mui/system": "^6.4.
|
|
39
|
+
"@mui/material": "^6.4.7",
|
|
40
|
+
"@mui/system": "^6.4.7",
|
|
41
41
|
"@solana/wallet-adapter-base": "^0.9.23",
|
|
42
42
|
"@solana/web3.js": "^1.98.0",
|
|
43
|
-
"@tanstack/react-virtual": "^3.
|
|
43
|
+
"@tanstack/react-virtual": "^3.13.2",
|
|
44
44
|
"i18next": "^24.2.2",
|
|
45
45
|
"microdiff": "^1.5.0",
|
|
46
46
|
"mitt": "^3.0.1",
|
|
47
|
-
"react-i18next": "^15.4.
|
|
48
|
-
"react-intersection-observer": "^9.
|
|
49
|
-
"react-router-dom": "^6.
|
|
50
|
-
"viem": "^2.
|
|
47
|
+
"react-i18next": "^15.4.1",
|
|
48
|
+
"react-intersection-observer": "^9.16.0",
|
|
49
|
+
"react-router-dom": "^6.30.0",
|
|
50
|
+
"viem": "^2.23.9",
|
|
51
51
|
"zustand": "^5.0.3",
|
|
52
|
-
"@lifi/wallet-management": "^3.
|
|
52
|
+
"@lifi/wallet-management": "^3.7.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"@bigmi/react": ">=0.1.0",
|
package/package.json.tmp
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lifi/widget",
|
|
3
|
+
"version": "3.18.0",
|
|
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
|
+
"type": "module",
|
|
6
|
+
"main": "./src/index.ts",
|
|
7
|
+
"types": "./src/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"watch": "tsc -w -p ./tsconfig.json",
|
|
11
|
+
"build": "pnpm clean && pnpm build:version && pnpm build:esm && pnpm build:clean",
|
|
12
|
+
"build:esm": "tsc --build",
|
|
13
|
+
"build:prerelease": "node ../../scripts/prerelease.js && cpy '../../*.md' .",
|
|
14
|
+
"build:postrelease": "node ../../scripts/postrelease.js && rm -rf *.md",
|
|
15
|
+
"build:version": "node ../../scripts/version.js",
|
|
16
|
+
"build:clean": "rm -rf tsconfig.tsbuildinfo ./dist/tsconfig.tsbuildinfo",
|
|
17
|
+
"release:build": "pnpm build",
|
|
18
|
+
"clean": "pnpm build:clean && rm -rf dist",
|
|
19
|
+
"check:types": "tsc --noEmit",
|
|
20
|
+
"check:circular-deps": "madge --circular $(find ./src -name '*.ts' -o -name '*.tsx')",
|
|
21
|
+
"check:circular-deps-graph": "madge --circular $(find ./src -name '*.ts' -o -name '*.tsx') --image graph.svg",
|
|
22
|
+
"link:bigmi": "pnpm link --global @bigmi/client",
|
|
23
|
+
"unlink:bigmi": "pnpm link --global @bigmi/client",
|
|
24
|
+
"link:sdk": "pnpm link --global @lifi/sdk",
|
|
25
|
+
"unlink:sdk": "pnpm unlink --global @lifi/sdk",
|
|
26
|
+
"test": "vitest run"
|
|
27
|
+
},
|
|
28
|
+
"author": "Eugene Chybisov <eugene@li.finance>",
|
|
29
|
+
"homepage": "https://github.com/lifinance/widget",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/lifinance/widget.git",
|
|
33
|
+
"directory": "packages/widget"
|
|
34
|
+
},
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/lifinance/widget/issues"
|
|
37
|
+
},
|
|
38
|
+
"license": "Apache-2.0",
|
|
39
|
+
"keywords": [
|
|
40
|
+
"widget",
|
|
41
|
+
"lifi-widget",
|
|
42
|
+
"bridge",
|
|
43
|
+
"swap",
|
|
44
|
+
"cross-chain",
|
|
45
|
+
"multi-chain",
|
|
46
|
+
"metamask",
|
|
47
|
+
"ethereum",
|
|
48
|
+
"web3",
|
|
49
|
+
"lifi"
|
|
50
|
+
],
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@bigmi/client": "^0.1.1",
|
|
53
|
+
"@bigmi/core": "^0.1.1",
|
|
54
|
+
"@emotion/react": "^11.14.0",
|
|
55
|
+
"@emotion/styled": "^11.14.0",
|
|
56
|
+
"@lifi/sdk": "3.6.0",
|
|
57
|
+
"@lifi/wallet-management": "workspace:^",
|
|
58
|
+
"@mui/icons-material": "6.0.2",
|
|
59
|
+
"@mui/material": "^6.4.7",
|
|
60
|
+
"@mui/system": "^6.4.7",
|
|
61
|
+
"@solana/wallet-adapter-base": "^0.9.23",
|
|
62
|
+
"@solana/web3.js": "^1.98.0",
|
|
63
|
+
"@tanstack/react-virtual": "^3.13.2",
|
|
64
|
+
"i18next": "^24.2.2",
|
|
65
|
+
"microdiff": "^1.5.0",
|
|
66
|
+
"mitt": "^3.0.1",
|
|
67
|
+
"react-i18next": "^15.4.1",
|
|
68
|
+
"react-intersection-observer": "^9.16.0",
|
|
69
|
+
"react-router-dom": "^6.30.0",
|
|
70
|
+
"viem": "^2.23.9",
|
|
71
|
+
"zustand": "^5.0.3"
|
|
72
|
+
},
|
|
73
|
+
"devDependencies": {
|
|
74
|
+
"cpy-cli": "^5.0.0",
|
|
75
|
+
"madge": "^8.0.0",
|
|
76
|
+
"react": "^19.0.0",
|
|
77
|
+
"react-dom": "^19.0.0",
|
|
78
|
+
"typescript": "^5.8.2",
|
|
79
|
+
"vitest": "^3.0.8"
|
|
80
|
+
},
|
|
81
|
+
"peerDependencies": {
|
|
82
|
+
"@bigmi/react": ">=0.1.0",
|
|
83
|
+
"@solana/wallet-adapter-react": "^0.15.35",
|
|
84
|
+
"@tanstack/react-query": "^5.62.0",
|
|
85
|
+
"react": ">=18",
|
|
86
|
+
"react-dom": ">=18",
|
|
87
|
+
"wagmi": "^2.14.0"
|
|
88
|
+
},
|
|
89
|
+
"files": ["dist/**", "src/**", "!tsconfig.json"]
|
|
90
|
+
}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Box,
|
|
3
|
+
Typography,
|
|
4
|
+
getContrastRatio,
|
|
5
|
+
lighten,
|
|
6
|
+
styled,
|
|
7
|
+
} from '@mui/material'
|
|
2
8
|
import { blend } from '../../utils/colors.js'
|
|
3
9
|
|
|
4
10
|
export const CardLabel = styled(Box, {
|
|
5
|
-
shouldForwardProp: (prop) => prop !== '
|
|
6
|
-
})<{
|
|
11
|
+
shouldForwardProp: (prop) => prop !== 'variant',
|
|
12
|
+
})<{ variant?: 'secondary' | 'success' }>(({ theme }) => ({
|
|
7
13
|
borderRadius: theme.shape.borderRadius,
|
|
8
14
|
padding: 0,
|
|
9
15
|
display: 'flex',
|
|
@@ -28,7 +34,7 @@ export const CardLabel = styled(Box, {
|
|
|
28
34
|
}),
|
|
29
35
|
variants: [
|
|
30
36
|
{
|
|
31
|
-
props: {
|
|
37
|
+
props: { variant: 'secondary' },
|
|
32
38
|
style: {
|
|
33
39
|
backgroundColor: blend(
|
|
34
40
|
theme.palette.background.paper,
|
|
@@ -58,6 +64,25 @@ export const CardLabel = styled(Box, {
|
|
|
58
64
|
}),
|
|
59
65
|
},
|
|
60
66
|
},
|
|
67
|
+
{
|
|
68
|
+
props: { variant: 'success' },
|
|
69
|
+
style: {
|
|
70
|
+
backgroundColor: blend(
|
|
71
|
+
theme.palette.background.paper,
|
|
72
|
+
theme.palette.success.main,
|
|
73
|
+
0.24
|
|
74
|
+
),
|
|
75
|
+
color: lighten(theme.palette.success.main, 0.24),
|
|
76
|
+
...theme.applyStyles('light', {
|
|
77
|
+
backgroundColor: blend(
|
|
78
|
+
theme.palette.background.paper,
|
|
79
|
+
theme.palette.success.main,
|
|
80
|
+
0.16
|
|
81
|
+
),
|
|
82
|
+
color: lighten(theme.palette.success.main, 0),
|
|
83
|
+
}),
|
|
84
|
+
},
|
|
85
|
+
},
|
|
61
86
|
],
|
|
62
87
|
}))
|
|
63
88
|
|
|
@@ -8,12 +8,14 @@ import { formatTokenAmount } from '../utils/format.js'
|
|
|
8
8
|
export interface FeeBreakdownTooltipProps {
|
|
9
9
|
gasCosts?: FeesBreakdown[]
|
|
10
10
|
feeCosts?: FeesBreakdown[]
|
|
11
|
+
relayerSupport?: boolean
|
|
11
12
|
children: ReactElement<any, any>
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export const FeeBreakdownTooltip: React.FC<FeeBreakdownTooltipProps> = ({
|
|
15
16
|
gasCosts,
|
|
16
17
|
feeCosts,
|
|
18
|
+
relayerSupport,
|
|
17
19
|
children,
|
|
18
20
|
}) => {
|
|
19
21
|
const { t } = useTranslation()
|
|
@@ -21,13 +23,14 @@ export const FeeBreakdownTooltip: React.FC<FeeBreakdownTooltipProps> = ({
|
|
|
21
23
|
<Tooltip
|
|
22
24
|
title={
|
|
23
25
|
<Box>
|
|
24
|
-
{
|
|
26
|
+
{relayerSupport ? <Box>{t('tooltip.relayerService')}</Box> : null}
|
|
27
|
+
{gasCosts?.length && !relayerSupport ? (
|
|
25
28
|
<Box>
|
|
26
29
|
{t('main.fees.network')}
|
|
27
30
|
{getFeeBreakdownTypography(gasCosts, t)}
|
|
28
31
|
</Box>
|
|
29
32
|
) : null}
|
|
30
|
-
{feeCosts?.length ? (
|
|
33
|
+
{feeCosts?.length && !relayerSupport ? (
|
|
31
34
|
<Box
|
|
32
35
|
sx={{
|
|
33
36
|
mt: 0.5,
|
|
@@ -9,22 +9,24 @@ import { useMessageQueue } from './useMessageQueue.js'
|
|
|
9
9
|
|
|
10
10
|
type WarningMessagesProps = BoxProps & {
|
|
11
11
|
route?: Route
|
|
12
|
+
allowInteraction?: boolean
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export const WarningMessages: React.FC<WarningMessagesProps> = ({
|
|
15
16
|
route,
|
|
17
|
+
allowInteraction,
|
|
16
18
|
...props
|
|
17
19
|
}) => {
|
|
18
|
-
const {
|
|
20
|
+
const { messages, hasMessages } = useMessageQueue(route, allowInteraction)
|
|
19
21
|
|
|
20
22
|
const getMessage = () => {
|
|
21
|
-
switch (
|
|
23
|
+
switch (messages[0]?.id) {
|
|
22
24
|
case 'INSUFFICIENT_FUNDS':
|
|
23
25
|
return <FundsSufficiencyMessage {...props} />
|
|
24
26
|
case 'INSUFFICIENT_GAS':
|
|
25
27
|
return (
|
|
26
28
|
<GasSufficiencyMessage
|
|
27
|
-
insufficientGas={
|
|
29
|
+
insufficientGas={messages[0].props?.insufficientGas}
|
|
28
30
|
{...props}
|
|
29
31
|
/>
|
|
30
32
|
)
|
|
@@ -11,7 +11,7 @@ interface QueuedMessage {
|
|
|
11
11
|
props?: Record<string, any>
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const useMessageQueue = (route?: Route) => {
|
|
14
|
+
export const useMessageQueue = (route?: Route, allowInteraction?: boolean) => {
|
|
15
15
|
const { requiredToAddress, toAddress } = useToAddressRequirements(route)
|
|
16
16
|
const {
|
|
17
17
|
isCompatibleDestinationAccount,
|
|
@@ -40,7 +40,7 @@ export const useMessageQueue = (route?: Route) => {
|
|
|
40
40
|
})
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
if (!isCompatibleDestinationAccount) {
|
|
43
|
+
if (!isCompatibleDestinationAccount && !allowInteraction) {
|
|
44
44
|
queue.push({
|
|
45
45
|
id: 'ACCOUNT_NOT_DEPLOYED',
|
|
46
46
|
priority: 3,
|
|
@@ -56,15 +56,16 @@ export const useMessageQueue = (route?: Route) => {
|
|
|
56
56
|
|
|
57
57
|
return queue.sort((a, b) => a.priority - b.priority)
|
|
58
58
|
}, [
|
|
59
|
-
|
|
59
|
+
allowInteraction,
|
|
60
60
|
insufficientFromToken,
|
|
61
61
|
insufficientGas,
|
|
62
|
+
isCompatibleDestinationAccount,
|
|
62
63
|
requiredToAddress,
|
|
63
64
|
toAddress,
|
|
64
65
|
])
|
|
65
66
|
|
|
66
67
|
return {
|
|
67
|
-
|
|
68
|
+
messages: messageQueue,
|
|
68
69
|
hasMessages: messageQueue.length > 0,
|
|
69
70
|
isLoading:
|
|
70
71
|
isGasSufficiencyLoading ||
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { TokenAmount } from '@lifi/sdk'
|
|
2
|
+
import { isRelayerStep } 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'
|
|
5
6
|
import { useState } from 'react'
|
|
6
7
|
import { useTranslation } from 'react-i18next'
|
|
7
8
|
import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
|
|
9
|
+
import { HiddenUI } from '../../types/widget.js'
|
|
8
10
|
import type { CardProps } from '../Card/Card.js'
|
|
9
11
|
import { Card } from '../Card/Card.js'
|
|
10
12
|
import { CardIconButton } from '../Card/CardIconButton.js'
|
|
@@ -27,7 +29,8 @@ export const RouteCard: React.FC<
|
|
|
27
29
|
...other
|
|
28
30
|
}) => {
|
|
29
31
|
const { t } = useTranslation()
|
|
30
|
-
const { subvariant, subvariantOptions, routeLabels } =
|
|
32
|
+
const { subvariant, subvariantOptions, routeLabels, hiddenUI } =
|
|
33
|
+
useWidgetConfig()
|
|
31
34
|
const [cardExpanded, setCardExpanded] = useState(defaulExpanded)
|
|
32
35
|
|
|
33
36
|
const handleExpand: MouseEventHandler<HTMLButtonElement> = (e) => {
|
|
@@ -45,9 +48,14 @@ export const RouteCard: React.FC<
|
|
|
45
48
|
: undefined
|
|
46
49
|
|
|
47
50
|
const customLabels = getMatchingLabels(route, routeLabels)
|
|
48
|
-
const
|
|
51
|
+
const mainTag = route.tags?.find(
|
|
49
52
|
(tag) => tag === 'CHEAPEST' || tag === 'FASTEST'
|
|
50
53
|
)
|
|
54
|
+
const tags: string[] = mainTag ? [mainTag] : []
|
|
55
|
+
const hasRelayerSupport = route.steps.some(isRelayerStep)
|
|
56
|
+
if (hasRelayerSupport) {
|
|
57
|
+
tags.push('GASLESS')
|
|
58
|
+
}
|
|
51
59
|
|
|
52
60
|
const cardContent = (
|
|
53
61
|
<Box
|
|
@@ -55,8 +63,7 @@ export const RouteCard: React.FC<
|
|
|
55
63
|
flex: 1,
|
|
56
64
|
}}
|
|
57
65
|
>
|
|
58
|
-
{subvariant !== 'refuel' &&
|
|
59
|
-
(route.tags?.length || customLabels.length) ? (
|
|
66
|
+
{subvariant !== 'refuel' && (tags.length || customLabels.length) ? (
|
|
60
67
|
<Box
|
|
61
68
|
sx={{
|
|
62
69
|
display: 'flex',
|
|
@@ -66,13 +73,18 @@ export const RouteCard: React.FC<
|
|
|
66
73
|
flexWrap: 'wrap',
|
|
67
74
|
}}
|
|
68
75
|
>
|
|
69
|
-
{tags?.
|
|
70
|
-
<CardLabel
|
|
76
|
+
{tags?.map((tag) => (
|
|
77
|
+
<CardLabel
|
|
78
|
+
variant={
|
|
79
|
+
tag === 'GASLESS' ? 'success' : active ? 'secondary' : undefined
|
|
80
|
+
}
|
|
81
|
+
key={tag}
|
|
82
|
+
>
|
|
71
83
|
<CardLabelTypography>
|
|
72
|
-
{t(`main.tags.${
|
|
84
|
+
{t(`main.tags.${tag.toLowerCase()}` as any)}
|
|
73
85
|
</CardLabelTypography>
|
|
74
86
|
</CardLabel>
|
|
75
|
-
)
|
|
87
|
+
))}
|
|
76
88
|
{customLabels.map((label, index) => (
|
|
77
89
|
<CardLabel key={index} sx={label.sx}>
|
|
78
90
|
<CardLabelTypography>{label.text}</CardLabelTypography>
|
|
@@ -86,6 +98,9 @@ export const RouteCard: React.FC<
|
|
|
86
98
|
impactToken={impactToken}
|
|
87
99
|
step={route.steps[0]}
|
|
88
100
|
stepVisible={!cardExpanded}
|
|
101
|
+
disableDescription={hiddenUI?.includes(
|
|
102
|
+
HiddenUI.RouteTokenDescription
|
|
103
|
+
)}
|
|
89
104
|
/>
|
|
90
105
|
{!defaulExpanded ? (
|
|
91
106
|
<CardIconButton onClick={handleExpand} size="small">
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRelayerStep } from '@lifi/sdk'
|
|
1
2
|
import { AccessTimeFilled, LocalGasStationRounded } from '@mui/icons-material'
|
|
2
3
|
import { Box, Tooltip, Typography } from '@mui/material'
|
|
3
4
|
import { useTranslation } from 'react-i18next'
|
|
@@ -20,6 +21,7 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
|
|
|
20
21
|
const executionTimeMinutes = Math.floor(executionTimeSeconds / 60)
|
|
21
22
|
const { gasCosts, feeCosts, combinedFeesUSD } =
|
|
22
23
|
getAccumulatedFeeCostsBreakdown(route)
|
|
24
|
+
const hasRelayerSupport = route.steps.some(isRelayerStep)
|
|
23
25
|
return (
|
|
24
26
|
<Box
|
|
25
27
|
sx={{
|
|
@@ -37,7 +39,11 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
|
|
|
37
39
|
alignItems: 'center',
|
|
38
40
|
}}
|
|
39
41
|
>
|
|
40
|
-
<FeeBreakdownTooltip
|
|
42
|
+
<FeeBreakdownTooltip
|
|
43
|
+
gasCosts={gasCosts}
|
|
44
|
+
feeCosts={feeCosts}
|
|
45
|
+
relayerSupport={hasRelayerSupport}
|
|
46
|
+
>
|
|
41
47
|
<Box
|
|
42
48
|
sx={{
|
|
43
49
|
display: 'flex',
|
|
@@ -49,7 +55,7 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
|
|
|
49
55
|
<LocalGasStationRounded fontSize="inherit" />
|
|
50
56
|
</IconTypography>
|
|
51
57
|
<Typography
|
|
52
|
-
data-value={combinedFeesUSD}
|
|
58
|
+
data-value={hasRelayerSupport ? 0 : combinedFeesUSD}
|
|
53
59
|
sx={{
|
|
54
60
|
fontSize: 14,
|
|
55
61
|
color: 'text.primary',
|
|
@@ -57,9 +63,11 @@ export const RouteCardEssentials: React.FC<RouteCardEssentialsProps> = ({
|
|
|
57
63
|
lineHeight: 1,
|
|
58
64
|
}}
|
|
59
65
|
>
|
|
60
|
-
{
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
{hasRelayerSupport
|
|
67
|
+
? t('main.fees.free')
|
|
68
|
+
: t('format.currency', {
|
|
69
|
+
value: combinedFeesUSD,
|
|
70
|
+
})}
|
|
63
71
|
</Typography>
|
|
64
72
|
</Box>
|
|
65
73
|
</FeeBreakdownTooltip>
|
|
@@ -5,7 +5,6 @@ import { type PropsWithChildren, useEffect, useRef } from 'react'
|
|
|
5
5
|
import { useTranslation } from 'react-i18next'
|
|
6
6
|
import type { RouteObject } from 'react-router-dom'
|
|
7
7
|
import { useRoutes as useDOMRoutes, useNavigate } from 'react-router-dom'
|
|
8
|
-
import { useIsCompatibleDestinationAccount } from '../../hooks/useIsCompatibleDestinationAccount.js'
|
|
9
8
|
import { useRoutes } from '../../hooks/useRoutes.js'
|
|
10
9
|
import { useToAddressRequirements } from '../../hooks/useToAddressRequirements.js'
|
|
11
10
|
import { useWidgetEvents } from '../../hooks/useWidgetEvents.js'
|
|
@@ -83,7 +82,6 @@ export const RoutesExpandedElement = () => {
|
|
|
83
82
|
const { account } = useAccount({ chainType: fromChain?.chainType })
|
|
84
83
|
const [toAddress] = useFieldValues('toAddress')
|
|
85
84
|
const { requiredToAddress } = useToAddressRequirements()
|
|
86
|
-
const { isCompatibleDestinationAccount } = useIsCompatibleDestinationAccount()
|
|
87
85
|
|
|
88
86
|
const handleRouteClick = (route: Route) => {
|
|
89
87
|
setReviewableRoute(route)
|
|
@@ -113,9 +111,7 @@ export const RoutesExpandedElement = () => {
|
|
|
113
111
|
)
|
|
114
112
|
|
|
115
113
|
const routeNotFound = !currentRoute && !isLoading && !isFetching && expanded
|
|
116
|
-
const toAddressUnsatisfied =
|
|
117
|
-
(currentRoute && requiredToAddress && !toAddress) ||
|
|
118
|
-
!isCompatibleDestinationAccount
|
|
114
|
+
const toAddressUnsatisfied = currentRoute && requiredToAddress && !toAddress
|
|
119
115
|
const allowInteraction = account.isConnected && !toAddressUnsatisfied
|
|
120
116
|
|
|
121
117
|
useEffect(() => {
|