@lifi/widget 3.10.0 → 3.11.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 CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [3.11.0](https://github.com/lifinance/widget/compare/v3.10.0...v3.11.0) (2024-11-01)
6
+
7
+
8
+ ### Features
9
+
10
+ * improve Safe support ([#323](https://github.com/lifinance/widget/issues/323)) ([6f1e5d1](https://github.com/lifinance/widget/commit/6f1e5d1cbb4e00c4219b0256ef29a4636df4d4e4))
11
+
5
12
  ## [3.10.0](https://github.com/lifinance/widget/compare/v3.9.0...v3.10.0) (2024-10-30)
6
13
 
7
14
 
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.10.0";
2
+ export declare const version = "3.11.0";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.10.0';
2
+ export const version = '3.11.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,17 +1,25 @@
1
+ import { useAccount } from '@lifi/wallet-management';
1
2
  import { useMemo } from 'react';
2
3
  import { useFieldValues } from '../stores/form/useFieldValues.js';
3
4
  import { useAvailableChains } from './useAvailableChains.js';
4
5
  import { useGasRecommendation } from './useGasRecommendation.js';
6
+ import { useIsContractAddress } from './useIsContractAddress.js';
5
7
  import { useTokenBalance } from './useTokenBalance.js';
6
8
  export const useGasRefuel = () => {
7
9
  const { getChainById } = useAvailableChains();
8
10
  const [fromChainId, fromTokenAddress, toChainId, toAddress] = useFieldValues('fromChain', 'fromToken', 'toChain', 'toAddress');
9
11
  const toChain = getChainById(toChainId);
10
12
  const fromChain = getChainById(fromChainId);
13
+ const { account } = useAccount({ chainType: fromChain?.chainType });
14
+ const isFromContractAddress = useIsContractAddress(account.address, fromChainId, account.chainType);
15
+ const isToContractAddress = useIsContractAddress(toAddress, toChainId, toChain?.chainType);
11
16
  const { token: nativeToken } = useTokenBalance(toAddress, toChainId ? toChain?.nativeToken : undefined, toChain);
12
17
  const { data: gasRecommendation, isLoading } = useGasRecommendation(toChainId, fromChainId, fromTokenAddress);
13
18
  // When we bridge between ecosystems we need to be sure toAddress is set
14
19
  const isChainTypeSatisfied = fromChain?.chainType !== toChain?.chainType ? Boolean(toAddress) : true;
20
+ const isToAddressSatisfied = isFromContractAddress
21
+ ? toAddress && toAddress !== account.address && !isToContractAddress
22
+ : true;
15
23
  const enabled = useMemo(() => {
16
24
  if (
17
25
  // We don't allow same chain refuel.
@@ -20,7 +28,8 @@ export const useGasRefuel = () => {
20
28
  !gasRecommendation?.available ||
21
29
  !gasRecommendation?.recommended ||
22
30
  !nativeToken ||
23
- !isChainTypeSatisfied) {
31
+ !isChainTypeSatisfied ||
32
+ !isToAddressSatisfied) {
24
33
  return false;
25
34
  }
26
35
  const tokenBalance = nativeToken.amount ?? 0n;
@@ -32,6 +41,7 @@ export const useGasRefuel = () => {
32
41
  fromChainId,
33
42
  gasRecommendation,
34
43
  isChainTypeSatisfied,
44
+ isToAddressSatisfied,
35
45
  nativeToken,
36
46
  toChainId,
37
47
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"useGasRefuel.js","sourceRoot":"","sources":["../../../src/hooks/useGasRefuel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7C,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,cAAc,CAC1E,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,CACZ,CAAA;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;IAE3C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,eAAe,CAC5C,SAAS,EACT,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,EAC5C,OAAO,CACR,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,oBAAoB,CACjE,SAAS,EACT,WAAW,EACX,gBAAgB,CACjB,CAAA;IAED,wEAAwE;IACxE,MAAM,oBAAoB,GACxB,SAAS,EAAE,SAAS,KAAK,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B;QACE,oCAAoC;QACpC,uEAAuE;QACvE,WAAW,KAAK,SAAS;YACzB,CAAC,iBAAiB,EAAE,SAAS;YAC7B,CAAC,iBAAiB,EAAE,WAAW;YAC/B,CAAC,WAAW;YACZ,CAAC,oBAAoB,EACrB,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAA;QAE7C,4DAA4D;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;QAE3E,MAAM,eAAe,GAAG,YAAY,GAAG,iBAAiB,CAAA;QACxD,OAAO,eAAe,CAAA;IACxB,CAAC,EAAE;QACD,WAAW;QACX,iBAAiB;QACjB,oBAAoB;QACpB,WAAW;QACX,SAAS;KACV,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,iBAAiB,EAAE,SAAS;QACtC,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,iBAAiB,EAAE,SAAS;YACtC,CAAC,CAAC,iBAAiB,CAAC,UAAU;YAC9B,CAAC,CAAC,SAAS;KACd,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useGasRefuel.js","sourceRoot":"","sources":["../../../src/hooks/useGasRefuel.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,10 @@ export const useToAddressRequirements = () => {
14
14
  });
15
15
  const isFromContractAddress = useIsContractAddress(account.address, fromChainId, account.chainType);
16
16
  const isDifferentChainType = fromChain && toChain && fromChain.chainType !== toChain.chainType;
17
+ const isCrossChainContractAddress = isFromContractAddress && fromChainId !== toChainId;
17
18
  const requiredToAddress = requiredUI?.includes(RequiredUI.ToAddress) ||
18
19
  isDifferentChainType ||
19
- isFromContractAddress;
20
+ isCrossChainContractAddress;
20
21
  return {
21
22
  requiredToAddress,
22
23
  requiredToChainType: toChain?.chainType,
@@ -1 +1 @@
1
- {"version":3,"file":"useToAddressRequirements.js","sourceRoot":"","sources":["../../../src/hooks/useToAddressRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACvE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,SAAS,EAAE,SAAS;KAChC,CAAC,CAAA;IACF,MAAM,qBAAqB,GAAG,oBAAoB,CAChD,OAAO,CAAC,OAAO,EACf,WAAW,EACX,OAAO,CAAC,SAAS,CAClB,CAAA;IAED,MAAM,oBAAoB,GACxB,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAA;IAEnE,MAAM,iBAAiB,GACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAC1C,oBAAoB;QACpB,qBAAqB,CAAA;IAEvB,OAAO;QACL,iBAAiB;QACjB,mBAAmB,EAAE,OAAO,EAAE,SAAS;KACxC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useToAddressRequirements.js","sourceRoot":"","sources":["../../../src/hooks/useToAddressRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACvE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IAClD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,SAAS,EAAE,SAAS;KAChC,CAAC,CAAA;IACF,MAAM,qBAAqB,GAAG,oBAAoB,CAChD,OAAO,CAAC,OAAO,EACf,WAAW,EACX,OAAO,CAAC,SAAS,CAClB,CAAA;IAED,MAAM,oBAAoB,GACxB,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAA;IAEnE,MAAM,2BAA2B,GAC/B,qBAAqB,IAAI,WAAW,KAAK,SAAS,CAAA;IAEpD,MAAM,iBAAiB,GACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAC1C,oBAAoB;QACpB,2BAA2B,CAAA;IAE7B,OAAO;QACL,iBAAiB;QACjB,mBAAmB,EAAE,OAAO,EAAE,SAAS;KACxC,CAAA;AACH,CAAC,CAAA"}
@@ -40,7 +40,7 @@ export const StatusBottomSheetContent = ({ status, route, onClose }) => {
40
40
  const { navigateBack, navigate } = useNavigateBack();
41
41
  const queryClient = useQueryClient();
42
42
  const { setFieldValue } = useFieldActions();
43
- const { subvariant, subvariantOptions, contractSecondaryComponent, contractCompactComponent, feeConfig, } = useWidgetConfig();
43
+ const { subvariant, subvariantOptions, contractSecondaryComponent, contractCompactComponent, } = useWidgetConfig();
44
44
  const { getChainById } = useAvailableChains();
45
45
  const ref = useRef();
46
46
  useSetContentHeight(ref);
@@ -173,9 +173,8 @@ export const StatusBottomSheetContent = ({ status, route, onClose }) => {
173
173
  const showContractComponent = subvariant === 'custom' &&
174
174
  hasEnumFlag(status, RouteExecutionStatus.Done) &&
175
175
  (contractCompactComponent || contractSecondaryComponent);
176
- const VcComponent = status === RouteExecutionStatus.Done ? feeConfig?._vcComponent : undefined;
177
176
  return (_jsxs(Box, { p: 3, ref: ref, children: [!showContractComponent ? (_jsx(CenterContainer, { children: _jsxs(IconCircle, { status: status, mb: 1, children: [status === RouteExecutionStatus.Idle ? (_jsx(InfoRounded, { color: "primary" })) : null, status === RouteExecutionStatus.Done ? (_jsx(Done, { color: "success" })) : null, hasEnumFlag(status, RouteExecutionStatus.Partial) ||
178
- hasEnumFlag(status, RouteExecutionStatus.Refunded) ? (_jsx(WarningRounded, { color: "warning" })) : null, hasEnumFlag(status, RouteExecutionStatus.Failed) ? (_jsx(ErrorRounded, { color: "error" })) : null] }) })) : null, _jsx(CenterContainer, { children: _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: title }) }), showContractComponent ? (contractCompactComponent || contractSecondaryComponent) : (_jsx(CenterContainer, { children: hasEnumFlag(status, RouteExecutionStatus.Done) ? (_jsx(Token, { token: toToken, py: 1, disableDescription: true })) : null })), !showContractComponent ? (primaryMessage ? (_jsx(Typography, { py: 1, children: primaryMessage })) : (_jsx(MessageSkeleton, {}))) : null, secondaryMessage ? (_jsx(Typography, { py: 1, children: secondaryMessage })) : null, VcComponent ? _jsx(VcComponent, { route: route }) : null, _jsxs(Box, { sx: { display: 'flex', marginTop: 2, gap: 1.5 }, children: [hasEnumFlag(status, RouteExecutionStatus.Done) ? (_jsx(Button, { variant: "text", onClick: handleSeeDetails, fullWidth: true, children: t('button.seeDetails') })) : null, _jsxs(Button, { variant: "contained", fullWidth: true, onClick: handlePrimaryButton, children: [status === RouteExecutionStatus.Idle ? t('button.ok') : null, hasEnumFlag(status, RouteExecutionStatus.Done)
177
+ hasEnumFlag(status, RouteExecutionStatus.Refunded) ? (_jsx(WarningRounded, { color: "warning" })) : null, hasEnumFlag(status, RouteExecutionStatus.Failed) ? (_jsx(ErrorRounded, { color: "error" })) : null] }) })) : null, _jsx(CenterContainer, { children: _jsx(Typography, { py: 1, fontSize: 18, fontWeight: 700, children: title }) }), showContractComponent ? (contractCompactComponent || contractSecondaryComponent) : (_jsx(CenterContainer, { children: hasEnumFlag(status, RouteExecutionStatus.Done) ? (_jsx(Token, { token: toToken, py: 1, disableDescription: true })) : null })), !showContractComponent ? (primaryMessage ? (_jsx(Typography, { py: 1, children: primaryMessage })) : (_jsx(MessageSkeleton, {}))) : null, secondaryMessage ? (_jsx(Typography, { py: 1, children: secondaryMessage })) : null, _jsxs(Box, { sx: { display: 'flex', marginTop: 2, gap: 1.5 }, children: [hasEnumFlag(status, RouteExecutionStatus.Done) ? (_jsx(Button, { variant: "text", onClick: handleSeeDetails, fullWidth: true, children: t('button.seeDetails') })) : null, _jsxs(Button, { variant: "contained", fullWidth: true, onClick: handlePrimaryButton, children: [status === RouteExecutionStatus.Idle ? t('button.ok') : null, hasEnumFlag(status, RouteExecutionStatus.Done)
179
178
  ? t('button.done')
180
179
  : null, status === RouteExecutionStatus.Failed
181
180
  ? t('button.seeDetails')
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBottomSheet.js","sourceRoot":"","sources":["../../../../src/pages/TransactionPage/StatusBottomSheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusBottomSheet.js","sourceRoot":"","sources":["../../../../src/pages/TransactionPage/StatusBottomSheet.tsx"],"names":[],"mappings":"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"}
@@ -3,27 +3,34 @@ 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 { useConfig as useWagmiConfig } from 'wagmi';
6
+ import { useAccount, 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';
9
10
  export const SDKProviders = () => {
10
11
  const { sdkConfig } = useWidgetConfig();
11
12
  const { wallet } = useWallet();
12
13
  const wagmiConfig = useWagmiConfig();
13
14
  const bigmiConfig = useBigmiConfig();
15
+ const account = useAccount({ config: wagmiConfig });
14
16
  useEffect(() => {
15
17
  // Configure SDK Providers
16
18
  const providers = [];
17
- const hasConfiguredEVMProvider = sdkConfig?.providers?.some((provider) => provider.type === ChainType.EVM);
19
+ const hasConfiguredEVMProvider = sdkConfig?.providers?.find((provider) => provider.type === ChainType.EVM);
18
20
  const hasConfiguredSVMProvider = sdkConfig?.providers?.some((provider) => provider.type === ChainType.SVM);
19
21
  const hasConfiguredUTXOProvider = sdkConfig?.providers?.some((provider) => provider.type === ChainType.UTXO);
20
22
  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;
21
27
  providers.push(EVM({
22
28
  getWalletClient: () => getWagmiConnectorClient(wagmiConfig),
23
29
  switchChain: async (chainId) => {
24
30
  const chain = await switchChain(wagmiConfig, { chainId });
25
31
  return getWagmiConnectorClient(wagmiConfig, { chainId: chain.id });
26
32
  },
33
+ multisig,
27
34
  }));
28
35
  }
29
36
  if (!hasConfiguredSVMProvider) {
@@ -42,7 +49,13 @@ export const SDKProviders = () => {
42
49
  providers.push(...sdkConfig.providers);
43
50
  }
44
51
  config.setProviders(providers);
45
- }, [bigmiConfig, sdkConfig?.providers, wagmiConfig, wallet?.adapter]);
52
+ }, [
53
+ account.connector,
54
+ bigmiConfig,
55
+ sdkConfig?.providers,
56
+ wagmiConfig,
57
+ wallet?.adapter,
58
+ ]);
46
59
  return null;
47
60
  };
48
61
  //# sourceMappingURL=SDKProviders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SDKProviders.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/SDKProviders.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SDKProviders.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/SDKProviders.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { MultisigTransaction, MultisigTxDetails } from '@lifi/sdk';
2
+ import type { Connector } from 'wagmi';
3
+ export declare const getSafeMultisigConfig: (connector: Connector) => {
4
+ isMultisigWalletClient: boolean;
5
+ shouldBatchTransactions: boolean;
6
+ sendBatchTransaction: (batchTransactions: MultisigTransaction[]) => Promise<`0x${string}`>;
7
+ getMultisigTransactionDetails: (txHash: string, chainId: number, updateIntermediateStatus?: () => void) => Promise<MultisigTxDetails>;
8
+ };
@@ -0,0 +1,95 @@
1
+ var TransactionStatus;
2
+ (function (TransactionStatus) {
3
+ TransactionStatus["AWAITING_CONFIRMATIONS"] = "AWAITING_CONFIRMATIONS";
4
+ TransactionStatus["AWAITING_EXECUTION"] = "AWAITING_EXECUTION";
5
+ TransactionStatus["CANCELLED"] = "CANCELLED";
6
+ TransactionStatus["FAILED"] = "FAILED";
7
+ TransactionStatus["SUCCESS"] = "SUCCESS";
8
+ })(TransactionStatus || (TransactionStatus = {}));
9
+ export const getSafeMultisigConfig = (connector) => {
10
+ const getMultisigTransactionDetails = async (txHash, chainId, updateIntermediateStatus) => {
11
+ const safeAppProvider = (await connector.getProvider());
12
+ const safeProviderSDK = safeAppProvider.sdk;
13
+ const safeTransactionDetails = await safeProviderSDK.txs.getBySafeTxHash(txHash);
14
+ const safeTxHash = safeTransactionDetails.txId;
15
+ const safeApiTransactionResponse = await fetch(`https://safe-client.safe.global/v1/chains/${chainId}/transactions/${safeTxHash}`);
16
+ const safeApiTransactionDetails = await safeApiTransactionResponse.json();
17
+ const nonTerminalStatus = [
18
+ TransactionStatus.SUCCESS,
19
+ TransactionStatus.CANCELLED,
20
+ TransactionStatus.FAILED,
21
+ ];
22
+ const isSafeStatusPending = !nonTerminalStatus.includes(safeTransactionDetails.txStatus) &&
23
+ !nonTerminalStatus.includes(safeApiTransactionDetails.txStatus);
24
+ const isAwaitingExecution = [
25
+ safeTransactionDetails.txStatus,
26
+ safeApiTransactionDetails.txStatus,
27
+ ].includes(TransactionStatus.AWAITING_EXECUTION);
28
+ if (isAwaitingExecution) {
29
+ updateIntermediateStatus?.();
30
+ }
31
+ if (isSafeStatusPending) {
32
+ await new Promise((resolve) => {
33
+ setTimeout(resolve, 5000);
34
+ });
35
+ return await getMultisigTransactionDetails(txHash, chainId, updateIntermediateStatus);
36
+ }
37
+ if ([
38
+ safeTransactionDetails.txStatus,
39
+ safeApiTransactionDetails.txStatus,
40
+ ].includes(TransactionStatus.SUCCESS)) {
41
+ return {
42
+ status: 'DONE',
43
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
44
+ };
45
+ }
46
+ if ([
47
+ safeTransactionDetails.txStatus,
48
+ safeApiTransactionDetails.txStatus,
49
+ ].includes(TransactionStatus.FAILED)) {
50
+ return {
51
+ status: 'FAILED',
52
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
53
+ };
54
+ }
55
+ if ([
56
+ safeTransactionDetails.txStatus,
57
+ safeApiTransactionDetails.txStatus,
58
+ ].includes(TransactionStatus.CANCELLED)) {
59
+ return {
60
+ status: 'CANCELLED',
61
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
62
+ };
63
+ }
64
+ if (isSafeStatusPending) {
65
+ return {
66
+ status: 'PENDING',
67
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
68
+ };
69
+ }
70
+ return {
71
+ status: 'PENDING',
72
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
73
+ };
74
+ };
75
+ const sendBatchTransaction = async (batchTransactions) => {
76
+ const safeAppProvider = (await connector.getProvider());
77
+ const safeProviderSDK = safeAppProvider.sdk;
78
+ try {
79
+ const { safeTxHash } = await safeProviderSDK.txs.send({
80
+ txs: batchTransactions,
81
+ });
82
+ return `0x${safeTxHash.slice(2)}`;
83
+ }
84
+ catch (error) {
85
+ throw new Error(error);
86
+ }
87
+ };
88
+ return {
89
+ isMultisigWalletClient: connector?.id === 'safe',
90
+ shouldBatchTransactions: connector?.id === 'safe',
91
+ sendBatchTransaction,
92
+ getMultisigTransactionDetails,
93
+ };
94
+ };
95
+ //# sourceMappingURL=getSafeMultisigConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSafeMultisigConfig.js","sourceRoot":"","sources":["../../../../src/providers/WalletProvider/getSafeMultisigConfig.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { BaseToken, ChainType, ContractCall, Order, RouteExtended, RouteOptions, SDKConfig, StaticToken, Token } from '@lifi/sdk';
1
+ import type { BaseToken, ChainType, ContractCall, Order, RouteOptions, SDKConfig, StaticToken, Token } from '@lifi/sdk';
2
2
  import type { Components, PaletteMode, PaletteOptions, Shape, Theme } from '@mui/material';
3
3
  import type { TypographyOptions } from '@mui/material/styles/createTypography.js';
4
- import type { CSSProperties, FC, MutableRefObject, ReactNode, RefObject } from 'react';
4
+ import type { CSSProperties, MutableRefObject, ReactNode, RefObject } from 'react';
5
5
  import type { CoinbaseWalletParameters, MetaMaskParameters, WalletConnectParameters } from 'wagmi/connectors';
6
6
  import type { LanguageKey, LanguageResources } from '../providers/I18nProvider/types.js';
7
7
  import type { DefaultFieldValues } from '../stores/form/types.js';
@@ -100,12 +100,6 @@ export interface WidgetFeeConfig {
100
100
  * @returns A promise that resolves to the calculated fee as a number (e.g., 0.03 represents a 3% fee)
101
101
  */
102
102
  calculateFee?(params: CalculateFeeParams): Promise<number | undefined>;
103
- /**
104
- * @internal
105
- */
106
- _vcComponent: FC<{
107
- route: RouteExtended;
108
- }>;
109
103
  }
110
104
  export interface ToAddress {
111
105
  name?: string;
@@ -147,9 +141,6 @@ export interface WidgetConfig {
147
141
  contractTool?: WidgetContractTool;
148
142
  integrator: string;
149
143
  apiKey?: string;
150
- /**
151
- * @deprecated Use `feeConfig` instead.
152
- */
153
144
  fee?: number;
154
145
  feeConfig?: WidgetFeeConfig;
155
146
  referrer?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AA+EA,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"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/types/widget.ts"],"names":[],"mappings":"AA6EA,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.10.0",
3
+ "version": "3.11.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",
@@ -35,7 +35,7 @@
35
35
  "@bigmi/react": "^0.0.4",
36
36
  "@emotion/react": "^11.13.3",
37
37
  "@emotion/styled": "^11.13.0",
38
- "@lifi/sdk": "^3.4.0",
38
+ "@lifi/sdk": "^3.4.1",
39
39
  "@mui/icons-material": "^5.16.7",
40
40
  "@mui/lab": "^5.0.0-alpha.173",
41
41
  "@mui/material": "^5.16.7",
@@ -53,10 +53,10 @@
53
53
  "react-i18next": "^15.1.0",
54
54
  "react-intersection-observer": "^9.13.1",
55
55
  "react-router-dom": "^6.27.0",
56
- "viem": "^2.21.35",
56
+ "viem": "^2.21.37",
57
57
  "wagmi": "^2.12.25",
58
58
  "zustand": "^4.5.5",
59
- "@lifi/wallet-management": "^3.4.1"
59
+ "@lifi/wallet-management": "^3.4.2"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "react": ">=18",
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.10.0'
2
+ export const version = '3.11.0'
@@ -1,7 +1,9 @@
1
+ import { useAccount } from '@lifi/wallet-management'
1
2
  import { useMemo } from 'react'
2
3
  import { useFieldValues } from '../stores/form/useFieldValues.js'
3
4
  import { useAvailableChains } from './useAvailableChains.js'
4
5
  import { useGasRecommendation } from './useGasRecommendation.js'
6
+ import { useIsContractAddress } from './useIsContractAddress.js'
5
7
  import { useTokenBalance } from './useTokenBalance.js'
6
8
 
7
9
  export const useGasRefuel = () => {
@@ -17,6 +19,19 @@ export const useGasRefuel = () => {
17
19
  const toChain = getChainById(toChainId)
18
20
  const fromChain = getChainById(fromChainId)
19
21
 
22
+ const { account } = useAccount({ chainType: fromChain?.chainType })
23
+
24
+ const isFromContractAddress = useIsContractAddress(
25
+ account.address,
26
+ fromChainId,
27
+ account.chainType
28
+ )
29
+ const isToContractAddress = useIsContractAddress(
30
+ toAddress,
31
+ toChainId,
32
+ toChain?.chainType
33
+ )
34
+
20
35
  const { token: nativeToken } = useTokenBalance(
21
36
  toAddress,
22
37
  toChainId ? toChain?.nativeToken : undefined,
@@ -33,6 +48,10 @@ export const useGasRefuel = () => {
33
48
  const isChainTypeSatisfied =
34
49
  fromChain?.chainType !== toChain?.chainType ? Boolean(toAddress) : true
35
50
 
51
+ const isToAddressSatisfied = isFromContractAddress
52
+ ? toAddress && toAddress !== account.address && !isToContractAddress
53
+ : true
54
+
36
55
  const enabled = useMemo(() => {
37
56
  if (
38
57
  // We don't allow same chain refuel.
@@ -41,7 +60,8 @@ export const useGasRefuel = () => {
41
60
  !gasRecommendation?.available ||
42
61
  !gasRecommendation?.recommended ||
43
62
  !nativeToken ||
44
- !isChainTypeSatisfied
63
+ !isChainTypeSatisfied ||
64
+ !isToAddressSatisfied
45
65
  ) {
46
66
  return false
47
67
  }
@@ -56,6 +76,7 @@ export const useGasRefuel = () => {
56
76
  fromChainId,
57
77
  gasRecommendation,
58
78
  isChainTypeSatisfied,
79
+ isToAddressSatisfied,
59
80
  nativeToken,
60
81
  toChainId,
61
82
  ])
@@ -22,10 +22,13 @@ export const useToAddressRequirements = () => {
22
22
  const isDifferentChainType =
23
23
  fromChain && toChain && fromChain.chainType !== toChain.chainType
24
24
 
25
+ const isCrossChainContractAddress =
26
+ isFromContractAddress && fromChainId !== toChainId
27
+
25
28
  const requiredToAddress =
26
29
  requiredUI?.includes(RequiredUI.ToAddress) ||
27
30
  isDifferentChainType ||
28
- isFromContractAddress
31
+ isCrossChainContractAddress
29
32
 
30
33
  return {
31
34
  requiredToAddress,
@@ -85,7 +85,6 @@ export const StatusBottomSheetContent: React.FC<
85
85
  subvariantOptions,
86
86
  contractSecondaryComponent,
87
87
  contractCompactComponent,
88
- feeConfig,
89
88
  } = useWidgetConfig()
90
89
  const { getChainById } = useAvailableChains()
91
90
 
@@ -252,9 +251,6 @@ export const StatusBottomSheetContent: React.FC<
252
251
  hasEnumFlag(status, RouteExecutionStatus.Done) &&
253
252
  (contractCompactComponent || contractSecondaryComponent)
254
253
 
255
- const VcComponent =
256
- status === RouteExecutionStatus.Done ? feeConfig?._vcComponent : undefined
257
-
258
254
  return (
259
255
  <Box p={3} ref={ref}>
260
256
  {!showContractComponent ? (
@@ -300,7 +296,6 @@ export const StatusBottomSheetContent: React.FC<
300
296
  {secondaryMessage ? (
301
297
  <Typography py={1}>{secondaryMessage}</Typography>
302
298
  ) : null}
303
- {VcComponent ? <VcComponent route={route} /> : null}
304
299
  <Box sx={{ display: 'flex', marginTop: 2, gap: 1.5 }}>
305
300
  {hasEnumFlag(status, RouteExecutionStatus.Done) ? (
306
301
  <Button variant="text" onClick={handleSeeDetails} fullWidth>
@@ -5,23 +5,25 @@ import { ChainType, EVM, Solana, UTXO, config } from '@lifi/sdk'
5
5
  import type { SignerWalletAdapter } from '@solana/wallet-adapter-base'
6
6
  import { useWallet } from '@solana/wallet-adapter-react'
7
7
  import { useEffect } from 'react'
8
- import { useConfig as useWagmiConfig } from 'wagmi'
8
+ import { useAccount, useConfig as useWagmiConfig } from 'wagmi'
9
9
  import {
10
10
  getConnectorClient as getWagmiConnectorClient,
11
11
  switchChain,
12
12
  } from 'wagmi/actions'
13
13
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
14
+ import { getSafeMultisigConfig } from './getSafeMultisigConfig.js'
14
15
 
15
16
  export const SDKProviders = () => {
16
17
  const { sdkConfig } = useWidgetConfig()
17
18
  const { wallet } = useWallet()
18
19
  const wagmiConfig = useWagmiConfig()
19
20
  const bigmiConfig = useBigmiConfig()
21
+ const account = useAccount({ config: wagmiConfig })
20
22
 
21
23
  useEffect(() => {
22
24
  // Configure SDK Providers
23
25
  const providers: SDKProvider[] = []
24
- const hasConfiguredEVMProvider = sdkConfig?.providers?.some(
26
+ const hasConfiguredEVMProvider = sdkConfig?.providers?.find(
25
27
  (provider) => provider.type === ChainType.EVM
26
28
  )
27
29
  const hasConfiguredSVMProvider = sdkConfig?.providers?.some(
@@ -31,6 +33,11 @@ export const SDKProviders = () => {
31
33
  (provider) => provider.type === ChainType.UTXO
32
34
  )
33
35
  if (!hasConfiguredEVMProvider) {
36
+ // TODO: refactor this in favor of EIP-5792: Wallet Call API
37
+ const multisig =
38
+ account.connector?.id === 'safe'
39
+ ? getSafeMultisigConfig(account.connector)
40
+ : undefined
34
41
  providers.push(
35
42
  EVM({
36
43
  getWalletClient: () => getWagmiConnectorClient(wagmiConfig),
@@ -38,6 +45,7 @@ export const SDKProviders = () => {
38
45
  const chain = await switchChain(wagmiConfig, { chainId })
39
46
  return getWagmiConnectorClient(wagmiConfig, { chainId: chain.id })
40
47
  },
48
+ multisig,
41
49
  })
42
50
  )
43
51
  }
@@ -61,7 +69,13 @@ export const SDKProviders = () => {
61
69
  providers.push(...sdkConfig.providers)
62
70
  }
63
71
  config.setProviders(providers)
64
- }, [bigmiConfig, sdkConfig?.providers, wagmiConfig, wallet?.adapter])
72
+ }, [
73
+ account.connector,
74
+ bigmiConfig,
75
+ sdkConfig?.providers,
76
+ wagmiConfig,
77
+ wallet?.adapter,
78
+ ])
65
79
 
66
80
  return null
67
81
  }
@@ -0,0 +1,144 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import type { MultisigTransaction, MultisigTxDetails } from '@lifi/sdk'
3
+ import type { Connector } from 'wagmi'
4
+
5
+ enum TransactionStatus {
6
+ AWAITING_CONFIRMATIONS = 'AWAITING_CONFIRMATIONS',
7
+ AWAITING_EXECUTION = 'AWAITING_EXECUTION',
8
+ CANCELLED = 'CANCELLED',
9
+ FAILED = 'FAILED',
10
+ SUCCESS = 'SUCCESS',
11
+ }
12
+
13
+ type GatewayTransactionDetails = {
14
+ safeAddress: string
15
+ txId: string
16
+ executedAt?: number
17
+ txStatus: TransactionStatus
18
+ txHash?: string
19
+ }
20
+
21
+ export const getSafeMultisigConfig = (connector: Connector) => {
22
+ const getMultisigTransactionDetails = async (
23
+ txHash: string,
24
+ chainId: number,
25
+ updateIntermediateStatus?: () => void
26
+ ): Promise<MultisigTxDetails> => {
27
+ const safeAppProvider = (await connector.getProvider()) as any
28
+ const safeProviderSDK = safeAppProvider.sdk
29
+
30
+ const safeTransactionDetails: GatewayTransactionDetails =
31
+ await safeProviderSDK.txs.getBySafeTxHash(txHash)
32
+
33
+ const safeTxHash = safeTransactionDetails.txId
34
+
35
+ const safeApiTransactionResponse = await fetch(
36
+ `https://safe-client.safe.global/v1/chains/${chainId}/transactions/${safeTxHash}`
37
+ )
38
+
39
+ const safeApiTransactionDetails = await safeApiTransactionResponse.json()
40
+
41
+ const nonTerminalStatus = [
42
+ TransactionStatus.SUCCESS,
43
+ TransactionStatus.CANCELLED,
44
+ TransactionStatus.FAILED,
45
+ ]
46
+
47
+ const isSafeStatusPending =
48
+ !nonTerminalStatus.includes(safeTransactionDetails.txStatus) &&
49
+ !nonTerminalStatus.includes(safeApiTransactionDetails.txStatus)
50
+
51
+ const isAwaitingExecution = [
52
+ safeTransactionDetails.txStatus,
53
+ safeApiTransactionDetails.txStatus,
54
+ ].includes(TransactionStatus.AWAITING_EXECUTION)
55
+
56
+ if (isAwaitingExecution) {
57
+ updateIntermediateStatus?.()
58
+ }
59
+
60
+ if (isSafeStatusPending) {
61
+ await new Promise((resolve) => {
62
+ setTimeout(resolve, 5000)
63
+ })
64
+
65
+ return await getMultisigTransactionDetails(
66
+ txHash,
67
+ chainId,
68
+ updateIntermediateStatus
69
+ )
70
+ }
71
+
72
+ if (
73
+ [
74
+ safeTransactionDetails.txStatus,
75
+ safeApiTransactionDetails.txStatus,
76
+ ].includes(TransactionStatus.SUCCESS)
77
+ ) {
78
+ return {
79
+ status: 'DONE',
80
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
81
+ }
82
+ }
83
+
84
+ if (
85
+ [
86
+ safeTransactionDetails.txStatus,
87
+ safeApiTransactionDetails.txStatus,
88
+ ].includes(TransactionStatus.FAILED)
89
+ ) {
90
+ return {
91
+ status: 'FAILED',
92
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
93
+ }
94
+ }
95
+
96
+ if (
97
+ [
98
+ safeTransactionDetails.txStatus,
99
+ safeApiTransactionDetails.txStatus,
100
+ ].includes(TransactionStatus.CANCELLED)
101
+ ) {
102
+ return {
103
+ status: 'CANCELLED',
104
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
105
+ }
106
+ }
107
+
108
+ if (isSafeStatusPending) {
109
+ return {
110
+ status: 'PENDING',
111
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
112
+ }
113
+ }
114
+
115
+ return {
116
+ status: 'PENDING',
117
+ txHash: `0x${safeTransactionDetails.txHash?.slice(2)}`,
118
+ }
119
+ }
120
+
121
+ const sendBatchTransaction = async (
122
+ batchTransactions: MultisigTransaction[]
123
+ ): Promise<`0x${string}`> => {
124
+ const safeAppProvider = (await connector.getProvider()) as any
125
+ const safeProviderSDK = safeAppProvider.sdk
126
+
127
+ try {
128
+ const { safeTxHash } = await safeProviderSDK.txs.send({
129
+ txs: batchTransactions,
130
+ })
131
+
132
+ return `0x${safeTxHash.slice(2)}`
133
+ } catch (error) {
134
+ throw new Error(error as string)
135
+ }
136
+ }
137
+
138
+ return {
139
+ isMultisigWalletClient: connector?.id === 'safe',
140
+ shouldBatchTransactions: connector?.id === 'safe',
141
+ sendBatchTransaction,
142
+ getMultisigTransactionDetails,
143
+ }
144
+ }
@@ -3,7 +3,6 @@ import type {
3
3
  ChainType,
4
4
  ContractCall,
5
5
  Order,
6
- RouteExtended,
7
6
  RouteOptions,
8
7
  SDKConfig,
9
8
  StaticToken,
@@ -19,7 +18,6 @@ import type {
19
18
  import type { TypographyOptions } from '@mui/material/styles/createTypography.js'
20
19
  import type {
21
20
  CSSProperties,
22
- FC,
23
21
  MutableRefObject,
24
22
  ReactNode,
25
23
  RefObject,
@@ -160,10 +158,6 @@ export interface WidgetFeeConfig {
160
158
  * @returns A promise that resolves to the calculated fee as a number (e.g., 0.03 represents a 3% fee)
161
159
  */
162
160
  calculateFee?(params: CalculateFeeParams): Promise<number | undefined>
163
- /**
164
- * @internal
165
- */
166
- _vcComponent: FC<{ route: RouteExtended }>
167
161
  }
168
162
 
169
163
  export interface ToAddress {
@@ -212,9 +206,6 @@ export interface WidgetConfig {
212
206
  contractTool?: WidgetContractTool
213
207
  integrator: string
214
208
  apiKey?: string
215
- /**
216
- * @deprecated Use `feeConfig` instead.
217
- */
218
209
  fee?: number
219
210
  feeConfig?: WidgetFeeConfig
220
211
  referrer?: string