@lifi/widget 3.20.3 → 3.20.5

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/esm/components/Messages/useMessageQueue.js +4 -6
  3. package/dist/esm/components/Messages/useMessageQueue.js.map +1 -1
  4. package/dist/esm/components/TokenList/TokenListItem.d.ts +2 -1
  5. package/dist/esm/components/TokenList/TokenListItem.js +5 -1
  6. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  7. package/dist/esm/components/TokenList/types.d.ts +3 -0
  8. package/dist/esm/config/version.d.ts +1 -1
  9. package/dist/esm/config/version.js +1 -1
  10. package/dist/esm/hooks/useIsBatchingSupported.d.ts +1 -1
  11. package/dist/esm/hooks/useIsBatchingSupported.js +1 -1
  12. package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -1
  13. package/dist/esm/hooks/useProcessMessage.js +8 -0
  14. package/dist/esm/hooks/useProcessMessage.js.map +1 -1
  15. package/dist/esm/hooks/useToAddressRequirements.d.ts +5 -0
  16. package/dist/esm/hooks/useToAddressRequirements.js +24 -7
  17. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
  18. package/dist/esm/i18n/en.json +4 -0
  19. package/package.json +5 -5
  20. package/package.json.tmp +4 -4
  21. package/src/components/Messages/useMessageQueue.ts +8 -8
  22. package/src/components/TokenList/TokenListItem.tsx +24 -4
  23. package/src/components/TokenList/types.ts +4 -0
  24. package/src/config/version.ts +1 -1
  25. package/src/hooks/useIsBatchingSupported.ts +3 -1
  26. package/src/hooks/useProcessMessage.ts +8 -0
  27. package/src/hooks/useToAddressRequirements.ts +39 -11
  28. package/src/i18n/en.json +4 -0
  29. package/dist/esm/hooks/useIsCompatibleDestinationAccount.d.ts +0 -8
  30. package/dist/esm/hooks/useIsCompatibleDestinationAccount.js +0 -37
  31. package/dist/esm/hooks/useIsCompatibleDestinationAccount.js.map +0 -1
  32. package/src/hooks/useIsCompatibleDestinationAccount.ts +0 -58
package/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
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.20.5](https://github.com/lifinance/widget/compare/v3.20.4...v3.20.5) (2025-05-12)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * add timeout for getCapabilities call ([#392](https://github.com/lifinance/widget/issues/392)) ([2b73bf6](https://github.com/lifinance/widget/commit/2b73bf67499f2443ff2da268b4dec8f8ca59c131))
11
+ * **avatar-icon:** add skeleton for token image ([#390](https://github.com/lifinance/widget/issues/390)) ([d9054ce](https://github.com/lifinance/widget/commit/d9054cecbdf10bf79741f706fbee33a4a53af4e7))
12
+ * should not require destination address for 7702 accounts ([#393](https://github.com/lifinance/widget/issues/393)) ([00faad2](https://github.com/lifinance/widget/commit/00faad276adbbbdc9c14d444d5e598cce553d52f))
13
+
14
+ ### [3.20.4](https://github.com/lifinance/widget/compare/v3.20.3...v3.20.4) (2025-05-06)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * add new error messages for rate limits and third-party tools ([#391](https://github.com/lifinance/widget/issues/391)) ([da820be](https://github.com/lifinance/widget/commit/da820be7bcb25b58fb9c21c3baa42c6d4ea45bba))
20
+ * prevent unnecessary capabilities requests ([d0dca6b](https://github.com/lifinance/widget/commit/d0dca6b2ecf0292f4518bea8794e7d6042876b30))
21
+
5
22
  ### [3.20.3](https://github.com/lifinance/widget/compare/v3.20.2...v3.20.3) (2025-05-06)
6
23
 
7
24
 
@@ -1,11 +1,9 @@
1
1
  import { useMemo } from 'react';
2
2
  import { useFromTokenSufficiency } from '../../hooks/useFromTokenSufficiency.js';
3
3
  import { useGasSufficiency } from '../../hooks/useGasSufficiency.js';
4
- import { useIsCompatibleDestinationAccount } from '../../hooks/useIsCompatibleDestinationAccount.js';
5
4
  import { useToAddressRequirements } from '../../hooks/useToAddressRequirements.js';
6
5
  export const useMessageQueue = (route, allowInteraction) => {
7
- const { requiredToAddress, toAddress } = useToAddressRequirements(route);
8
- const { isCompatibleDestinationAccount, isLoading: isCompatibleDestinationAccountLoading, } = useIsCompatibleDestinationAccount(route);
6
+ const { requiredToAddress, toAddress, accountNotDeployedAtDestination, isLoading: isToAddressRequirementsLoading, } = useToAddressRequirements(route);
9
7
  const { insufficientFromToken, isLoading: isFromTokenSufficiencyLoading } = useFromTokenSufficiency(route);
10
8
  const { insufficientGas, isLoading: isGasSufficiencyLoading } = useGasSufficiency(route);
11
9
  const messageQueue = useMemo(() => {
@@ -23,7 +21,7 @@ export const useMessageQueue = (route, allowInteraction) => {
23
21
  props: { insufficientGas },
24
22
  });
25
23
  }
26
- if (!isCompatibleDestinationAccount && !allowInteraction) {
24
+ if (accountNotDeployedAtDestination && !allowInteraction) {
27
25
  queue.push({
28
26
  id: 'ACCOUNT_NOT_DEPLOYED',
29
27
  priority: 3,
@@ -40,7 +38,7 @@ export const useMessageQueue = (route, allowInteraction) => {
40
38
  allowInteraction,
41
39
  insufficientFromToken,
42
40
  insufficientGas,
43
- isCompatibleDestinationAccount,
41
+ accountNotDeployedAtDestination,
44
42
  requiredToAddress,
45
43
  toAddress,
46
44
  ]);
@@ -49,7 +47,7 @@ export const useMessageQueue = (route, allowInteraction) => {
49
47
  hasMessages: messageQueue.length > 0,
50
48
  isLoading: isGasSufficiencyLoading ||
51
49
  isFromTokenSufficiencyLoading ||
52
- isCompatibleDestinationAccountLoading,
50
+ isToAddressRequirementsLoading,
53
51
  };
54
52
  };
55
53
  //# sourceMappingURL=useMessageQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageQueue.js","sourceRoot":"","sources":["../../../../src/components/Messages/useMessageQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAA;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAQlF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,gBAA0B,EAAE,EAAE;IAC3E,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IACxE,MAAM,EACJ,8BAA8B,EAC9B,SAAS,EAAE,qCAAqC,GACjD,GAAG,iCAAiC,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,6BAA6B,EAAE,GACvE,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,uBAAuB,EAAE,GAC3D,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAE1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,KAAK,GAAoB,EAAE,CAAA;QAEjC,IAAI,qBAAqB,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,oBAAoB;gBACxB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,eAAe,EAAE,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,kBAAkB;gBACtB,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,EAAE,eAAe,EAAE;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,8BAA8B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,sBAAsB;gBAC1B,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,qBAAqB;gBACzB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC,EAAE;QACD,gBAAgB;QAChB,qBAAqB;QACrB,eAAe;QACf,8BAA8B;QAC9B,iBAAiB;QACjB,SAAS;KACV,CAAC,CAAA;IAEF,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;QACpC,SAAS,EACP,uBAAuB;YACvB,6BAA6B;YAC7B,qCAAqC;KACxC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useMessageQueue.js","sourceRoot":"","sources":["../../../../src/components/Messages/useMessageQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAQlF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,gBAA0B,EAAE,EAAE;IAC3E,MAAM,EACJ,iBAAiB,EACjB,SAAS,EACT,+BAA+B,EAC/B,SAAS,EAAE,8BAA8B,GAC1C,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,6BAA6B,EAAE,GACvE,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,uBAAuB,EAAE,GAC3D,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAE1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,KAAK,GAAoB,EAAE,CAAA;QAEjC,IAAI,qBAAqB,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,oBAAoB;gBACxB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,eAAe,EAAE,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,kBAAkB;gBACtB,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,EAAE,eAAe,EAAE;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,+BAA+B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,sBAAsB;gBAC1B,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,qBAAqB;gBACzB,QAAQ,EAAE,CAAC;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC,EAAE;QACD,gBAAgB;QAChB,qBAAqB;QACrB,eAAe;QACf,+BAA+B;QAC/B,iBAAiB;QACjB,SAAS;KACV,CAAC,CAAA;IAEF,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;QACpC,SAAS,EACP,uBAAuB;YACvB,6BAA6B;YAC7B,8BAA8B;KACjC,CAAA;AACH,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
- import type { TokenListItemButtonProps, TokenListItemProps } from './types.js';
1
+ import type { TokenListItemAvatarProps, TokenListItemButtonProps, TokenListItemProps } from './types.js';
2
2
  export declare const TokenListItem: React.FC<TokenListItemProps>;
3
+ export declare const TokenListItemAvatar: React.FC<TokenListItemAvatarProps>;
3
4
  export declare const TokenListItemButton: React.FC<TokenListItemButtonProps>;
4
5
  export declare const TokenListItemSkeleton: () => import("react/jsx-runtime").JSX.Element;
5
6
  export declare const TokenAmountSkeleton: React.FC;
@@ -19,6 +19,10 @@ export const TokenListItem = ({ onClick, size, start, token, chain, accountAddre
19
19
  transform: `translateY(${start}px)`,
20
20
  }, children: [startAdornment, _jsx(TokenListItemButton, { token: token, chain: chain, accountAddress: accountAddress, isBalanceLoading: isBalanceLoading, onClick: handleClick }), endAdornment] }));
21
21
  };
22
+ export const TokenListItemAvatar = ({ token, }) => {
23
+ const [isImageLoading, setIsImageLoading] = useState(true);
24
+ return (_jsx(Avatar, { src: token.logoURI, alt: token.symbol, sx: (theme) => isImageLoading ? { bgcolor: theme.vars.palette.grey[300] } : null, onLoad: () => setIsImageLoading(false), children: token.symbol?.[0] }));
25
+ };
22
26
  export const TokenListItemButton = ({ onClick, token, chain, accountAddress, isBalanceLoading, }) => {
23
27
  const { t } = useTranslation();
24
28
  const { getAddressLink } = useExplorer();
@@ -41,7 +45,7 @@ export const TokenListItemButton = ({ onClick, token, chain, accountAddress, isB
41
45
  };
42
46
  const tokenAmount = formatTokenAmount(token.amount, token.decimals);
43
47
  const tokenPrice = formatTokenPrice(token.amount, token.priceUSD, token.decimals);
44
- return (_jsxs(ListItemButton, { onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, dense: true, children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: token.logoURI, alt: token.symbol, children: token.symbol?.[0] }) }), _jsx(ListItemText, { primary: token.symbol, slotProps: {
48
+ return (_jsxs(ListItemButton, { onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, dense: true, children: [_jsx(ListItemAvatar, { children: _jsx(TokenListItemAvatar, { token: token }) }), _jsx(ListItemText, { primary: token.symbol, slotProps: {
45
49
  secondary: {
46
50
  component: 'div',
47
51
  },
@@ -1 +1 @@
1
- {"version":3,"file":"TokenListItem.js","sourceRoot":"","sources":["../../../../src/components/TokenList/TokenListItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenListItem.js","sourceRoot":"","sources":["../../../../src/components/TokenList/TokenListItem.tsx"],"names":[],"mappings":"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"}
@@ -40,3 +40,6 @@ export interface TokenListItemButtonProps {
40
40
  chain?: ExtendedChain;
41
41
  isBalanceLoading?: boolean;
42
42
  }
43
+ export interface TokenListItemAvatarProps {
44
+ token: TokenAmount;
45
+ }
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.20.3";
2
+ export declare const version = "3.20.5";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.20.3';
2
+ export const version = '3.20.5';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,5 @@
1
1
  import type { ExtendedChain } from '@lifi/sdk';
2
2
  export declare function useIsBatchingSupported(chain?: ExtendedChain, address?: string): {
3
3
  isBatchingSupported: boolean | undefined;
4
- isBatchingSupportedLoading: boolean | undefined;
4
+ isBatchingSupportedLoading: boolean;
5
5
  };
@@ -1,7 +1,7 @@
1
1
  import { ChainType, isBatchingSupported } from '@lifi/sdk';
2
2
  import { useQuery } from '@tanstack/react-query';
3
3
  export function useIsBatchingSupported(chain, address) {
4
- const enabled = chain && chain.chainType === ChainType.EVM && !!address;
4
+ const enabled = Boolean(chain && chain.chainType === ChainType.EVM && !!address);
5
5
  const { data, isLoading } = useQuery({
6
6
  queryKey: ['isBatchingSupported', chain?.id, address],
7
7
  queryFn: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsBatchingSupported.js","sourceRoot":"","sources":["../../../src/hooks/useIsBatchingSupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,MAAM,UAAU,sBAAsB,CACpC,KAAqB,EACrB,OAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAA;IACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC;QACrD,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,mBAAmB,CAAC,EAAE,OAAO,EAAE,KAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,OAAO;QACP,SAAS,EAAE,OAAS;QACpB,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IAEF,OAAO;QACL,mBAAmB,EAAE,IAAI;QACzB,0BAA0B,EAAE,OAAO,IAAI,SAAS;KACjD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useIsBatchingSupported.js","sourceRoot":"","sources":["../../../src/hooks/useIsBatchingSupported.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,MAAM,UAAU,sBAAsB,CACpC,KAAqB,EACrB,OAAgB;IAEhB,MAAM,OAAO,GAAG,OAAO,CACrB,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CACxD,CAAA;IACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC;QACrD,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,mBAAmB,CAAC,EAAE,OAAO,EAAE,KAAM,CAAC,EAAE,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,OAAO;QACP,SAAS,EAAE,OAAS;QACpB,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IAEF,OAAO;QACL,mBAAmB,EAAE,IAAI;QACzB,0BAA0B,EAAE,OAAO,IAAI,SAAS;KACjD,CAAA;AACH,CAAC"}
@@ -135,6 +135,14 @@ export function getProcessMessage(t, getChainById, step, process, subvariant, su
135
135
  title = t('error.title.walletMismatch');
136
136
  message = t('error.message.walletChangedDuringExecution');
137
137
  break;
138
+ case LiFiErrorCode.RateLimitExceeded:
139
+ title = t('error.title.rateLimitExceeded');
140
+ message = t('error.message.rateLimitExceeded');
141
+ break;
142
+ case LiFiErrorCode.ThirdPartyError:
143
+ title = t('error.title.thirdPartyError');
144
+ message = t('error.message.thirdPartyError');
145
+ break;
138
146
  case LiFiErrorCode.TransactionUnderpriced:
139
147
  title = t('error.title.transactionUnderpriced');
140
148
  message = getDefaultErrorMessage();
@@ -1 +1 @@
1
- {"version":3,"file":"useProcessMessage.js","sourceRoot":"","sources":["../../../src/hooks/useProcessMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useProcessMessage.js","sourceRoot":"","sources":["../../../src/hooks/useProcessMessage.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,10 @@ import type { RouteExtended } from '@lifi/sdk';
2
2
  export declare const useToAddressRequirements: (route?: RouteExtended) => {
3
3
  requiredToAddress: boolean;
4
4
  requiredToChainType: import("@lifi/sdk").ChainType | undefined;
5
+ accountNotDeployedAtDestination: boolean;
5
6
  toAddress: string | undefined;
7
+ isFromContractAddress: boolean;
8
+ isToContractAddress: boolean;
9
+ isLoading: boolean;
10
+ isFetched: boolean;
6
11
  };
@@ -3,32 +3,49 @@ import { useChain } from '../hooks/useChain.js';
3
3
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
4
4
  import { useFieldValues } from '../stores/form/useFieldValues.js';
5
5
  import { RequiredUI } from '../types/widget.js';
6
+ import { isDelegationDesignatorCode } from '../utils/eip7702.js';
6
7
  import { useIsContractAddress } from './useIsContractAddress.js';
7
8
  export const useToAddressRequirements = (route) => {
8
9
  const { requiredUI } = useWidgetConfig();
9
10
  const [formFromChainId, formToChainId, formToAddress] = useFieldValues('fromChain', 'toChain', 'toAddress');
10
11
  const fromChainId = route?.fromChainId ?? formFromChainId;
11
12
  const toChainId = route?.toChainId ?? formToChainId;
12
- const toAddress = route
13
- ? route.fromAddress !== route.toAddress
14
- ? route.toAddress
15
- : formToAddress
16
- : formToAddress;
17
13
  const { chain: fromChain } = useChain(fromChainId);
18
14
  const { chain: toChain } = useChain(toChainId);
19
15
  const { account } = useAccount({
20
16
  chainType: fromChain?.chainType,
21
17
  });
22
- const { isContractAddress: isFromContractAddress } = useIsContractAddress(account.address, fromChainId, account.chainType);
18
+ const fromAddress = route?.fromAddress ?? account.address;
19
+ const toAddress = route
20
+ ? route.fromAddress !== route.toAddress
21
+ ? route.toAddress
22
+ : formToAddress
23
+ : formToAddress;
24
+ const { isContractAddress: isFromContractAddress, contractCode: fromContractCode, isLoading: isFromContractLoading, isFetched: isFromContractFetched, } = useIsContractAddress(account.address, fromChainId, account.chainType);
25
+ const { isContractAddress: isToContractAddress, isLoading: isToContractLoading, isFetched: isToContractFetched, } = useIsContractAddress(toAddress, toChainId, toChain?.chainType);
23
26
  const isDifferentChainType = fromChain && toChain && fromChain.chainType !== toChain.chainType;
24
- const isCrossChainContractAddress = isFromContractAddress && fromChainId !== toChainId;
27
+ // We don't want to block transfers for EIP-7702 accounts since they are designed
28
+ // to maintain EOA-like properties while delegating execution.
29
+ const fromContractCodeHasDelegationIndicator = isDelegationDesignatorCode(fromContractCode);
30
+ const isCrossChainContractAddress = isFromContractAddress &&
31
+ fromChainId !== toChainId &&
32
+ !fromContractCodeHasDelegationIndicator;
25
33
  const requiredToAddress = requiredUI?.includes(RequiredUI.ToAddress) ||
26
34
  isDifferentChainType ||
27
35
  isCrossChainContractAddress;
36
+ const accountNotDeployedAtDestination = isFromContractAddress &&
37
+ !fromContractCodeHasDelegationIndicator &&
38
+ !isToContractAddress &&
39
+ fromAddress?.toLowerCase() === toAddress?.toLowerCase();
28
40
  return {
29
41
  requiredToAddress,
30
42
  requiredToChainType: toChain?.chainType,
43
+ accountNotDeployedAtDestination,
31
44
  toAddress,
45
+ isFromContractAddress,
46
+ isToContractAddress,
47
+ isLoading: isFromContractLoading || isToContractLoading,
48
+ isFetched: isFromContractFetched && isToContractFetched,
32
49
  };
33
50
  };
34
51
  //# sourceMappingURL=useToAddressRequirements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useToAddressRequirements.js","sourceRoot":"","sources":["../../../src/hooks/useToAddressRequirements.ts"],"names":[],"mappings":"AACA,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,CAAC,KAAqB,EAAE,EAAE;IAChE,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IACxC,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE,aAAa,CAAC,GAAG,cAAc,CACpE,WAAW,EACX,SAAS,EACT,WAAW,CACZ,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,eAAe,CAAA;IACzD,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,aAAa,CAAA;IACnD,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS;YACrC,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,aAAa;QACjB,CAAC,CAAC,aAAa,CAAA;IAEjB,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,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,oBAAoB,CACvE,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;QACvC,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useToAddressRequirements.js","sourceRoot":"","sources":["../../../src/hooks/useToAddressRequirements.ts"],"names":[],"mappings":"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"}
@@ -146,9 +146,11 @@
146
146
  "message": {
147
147
  "allowanceRequired": "Transfer amount for {{tokenSymbol}} exceeds your current allowance. Please increase your allowance and try again.",
148
148
  "insufficientFunds": "You don't have enough gas to cover the cost of the transaction.",
149
+ "rateLimitExceeded": "Too many requests have been made in a short period of time. Please wait a moment and try again or contact support if the issue persists.",
149
150
  "remainInYourWallet": "{{amount, numberExt}} {{tokenSymbol}} on {{chainName}} remain in your wallet.",
150
151
  "signatureRejected": "Your signature is required to complete the transaction. {{amount, numberExt}} {{tokenSymbol}} on {{chainName}} remain in your wallet.",
151
152
  "slippageThreshold": "The slippage is larger than the defined threshold. Please request a new quote.",
153
+ "thirdPartyError": "We couldn't complete your request due to a problem with an external service. Please try again or contact support if the issue persists.",
152
154
  "transactionCanceled": "Transaction was canceled.",
153
155
  "transactionConflict": "Transaction couldn't be processed because it's conflicting with another pending transaction using the same funds. Please wait for the pending transaction to be confirmed or check your transaction history before trying again.",
154
156
  "transactionExpired": "The block height has exceeded the maximum allowed limit or blockhash is no longer recent enough.",
@@ -168,8 +170,10 @@
168
170
  "exchangeRateUpdateCanceled": "Exchange rate update canceled",
169
171
  "gasLimitIsTooLow": "The gas limit is too low",
170
172
  "insufficientFunds": "Insufficient funds",
173
+ "rateLimitExceeded": "Rate limit exceeded",
171
174
  "signatureRejected": "Signature required",
172
175
  "slippageNotMet": "Slippage conditions not met",
176
+ "thirdPartyError": "Third-party service unavailable",
173
177
  "transactionCanceled": "Transaction canceled",
174
178
  "transactionConflict": "Transaction conflict",
175
179
  "transactionExpired": "Transaction expired",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.20.3",
3
+ "version": "3.20.5",
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",
@@ -34,22 +34,22 @@
34
34
  "@bigmi/core": "^0.1.1",
35
35
  "@emotion/react": "^11.14.0",
36
36
  "@emotion/styled": "^11.14.0",
37
- "@lifi/sdk": "^3.6.13",
37
+ "@lifi/sdk": "^3.6.14",
38
38
  "@mui/icons-material": "^7.1.0",
39
39
  "@mui/material": "^7.1.0",
40
40
  "@mui/system": "^7.1.0",
41
41
  "@solana/wallet-adapter-base": "^0.9.24",
42
42
  "@solana/web3.js": "^1.98.0",
43
43
  "@tanstack/react-virtual": "^3.13.8",
44
- "i18next": "^25.1.1",
44
+ "i18next": "^25.1.2",
45
45
  "microdiff": "^1.5.0",
46
46
  "mitt": "^3.0.1",
47
47
  "react-i18next": "^15.5.1",
48
48
  "react-intersection-observer": "^9.16.0",
49
49
  "react-router-dom": "^6.30.0",
50
- "viem": "^2.29.0",
50
+ "viem": "^2.29.2",
51
51
  "zustand": "^5.0.4",
52
- "@lifi/wallet-management": "^3.8.1"
52
+ "@lifi/wallet-management": "^3.8.2"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "@bigmi/react": ">=0.1.0",
package/package.json.tmp CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/widget",
3
- "version": "3.20.3",
3
+ "version": "3.20.5",
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": "./src/index.ts",
@@ -53,7 +53,7 @@
53
53
  "@bigmi/core": "^0.1.1",
54
54
  "@emotion/react": "^11.14.0",
55
55
  "@emotion/styled": "^11.14.0",
56
- "@lifi/sdk": "^3.6.13",
56
+ "@lifi/sdk": "^3.6.14",
57
57
  "@lifi/wallet-management": "workspace:^",
58
58
  "@mui/icons-material": "^7.1.0",
59
59
  "@mui/material": "^7.1.0",
@@ -61,13 +61,13 @@
61
61
  "@solana/wallet-adapter-base": "^0.9.24",
62
62
  "@solana/web3.js": "^1.98.0",
63
63
  "@tanstack/react-virtual": "^3.13.8",
64
- "i18next": "^25.1.1",
64
+ "i18next": "^25.1.2",
65
65
  "microdiff": "^1.5.0",
66
66
  "mitt": "^3.0.1",
67
67
  "react-i18next": "^15.5.1",
68
68
  "react-intersection-observer": "^9.16.0",
69
69
  "react-router-dom": "^6.30.0",
70
- "viem": "^2.29.0",
70
+ "viem": "^2.29.2",
71
71
  "zustand": "^5.0.4"
72
72
  },
73
73
  "devDependencies": {
@@ -2,7 +2,6 @@ import type { Route } from '@lifi/sdk'
2
2
  import { useMemo } from 'react'
3
3
  import { useFromTokenSufficiency } from '../../hooks/useFromTokenSufficiency.js'
4
4
  import { useGasSufficiency } from '../../hooks/useGasSufficiency.js'
5
- import { useIsCompatibleDestinationAccount } from '../../hooks/useIsCompatibleDestinationAccount.js'
6
5
  import { useToAddressRequirements } from '../../hooks/useToAddressRequirements.js'
7
6
 
8
7
  interface QueuedMessage {
@@ -12,11 +11,12 @@ interface QueuedMessage {
12
11
  }
13
12
 
14
13
  export const useMessageQueue = (route?: Route, allowInteraction?: boolean) => {
15
- const { requiredToAddress, toAddress } = useToAddressRequirements(route)
16
14
  const {
17
- isCompatibleDestinationAccount,
18
- isLoading: isCompatibleDestinationAccountLoading,
19
- } = useIsCompatibleDestinationAccount(route)
15
+ requiredToAddress,
16
+ toAddress,
17
+ accountNotDeployedAtDestination,
18
+ isLoading: isToAddressRequirementsLoading,
19
+ } = useToAddressRequirements(route)
20
20
  const { insufficientFromToken, isLoading: isFromTokenSufficiencyLoading } =
21
21
  useFromTokenSufficiency(route)
22
22
  const { insufficientGas, isLoading: isGasSufficiencyLoading } =
@@ -40,7 +40,7 @@ export const useMessageQueue = (route?: Route, allowInteraction?: boolean) => {
40
40
  })
41
41
  }
42
42
 
43
- if (!isCompatibleDestinationAccount && !allowInteraction) {
43
+ if (accountNotDeployedAtDestination && !allowInteraction) {
44
44
  queue.push({
45
45
  id: 'ACCOUNT_NOT_DEPLOYED',
46
46
  priority: 3,
@@ -59,7 +59,7 @@ export const useMessageQueue = (route?: Route, allowInteraction?: boolean) => {
59
59
  allowInteraction,
60
60
  insufficientFromToken,
61
61
  insufficientGas,
62
- isCompatibleDestinationAccount,
62
+ accountNotDeployedAtDestination,
63
63
  requiredToAddress,
64
64
  toAddress,
65
65
  ])
@@ -70,6 +70,6 @@ export const useMessageQueue = (route?: Route, allowInteraction?: boolean) => {
70
70
  isLoading:
71
71
  isGasSufficiencyLoading ||
72
72
  isFromTokenSufficiencyLoading ||
73
- isCompatibleDestinationAccountLoading,
73
+ isToAddressRequirementsLoading,
74
74
  }
75
75
  }
@@ -18,7 +18,11 @@ import { formatTokenAmount, formatTokenPrice } from '../../utils/format.js'
18
18
  import { shortenAddress } from '../../utils/wallet.js'
19
19
  import { ListItemButton } from '../ListItem/ListItemButton.js'
20
20
  import { IconButton, ListItem } from './TokenList.style.js'
21
- import type { TokenListItemButtonProps, TokenListItemProps } from './types.js'
21
+ import type {
22
+ TokenListItemAvatarProps,
23
+ TokenListItemButtonProps,
24
+ TokenListItemProps,
25
+ } from './types.js'
22
26
 
23
27
  export const TokenListItem: React.FC<TokenListItemProps> = ({
24
28
  onClick,
@@ -55,6 +59,24 @@ export const TokenListItem: React.FC<TokenListItemProps> = ({
55
59
  )
56
60
  }
57
61
 
62
+ export const TokenListItemAvatar: React.FC<TokenListItemAvatarProps> = ({
63
+ token,
64
+ }) => {
65
+ const [isImageLoading, setIsImageLoading] = useState(true)
66
+ return (
67
+ <Avatar
68
+ src={token.logoURI}
69
+ alt={token.symbol}
70
+ sx={(theme) =>
71
+ isImageLoading ? { bgcolor: theme.vars.palette.grey[300] } : null
72
+ }
73
+ onLoad={() => setIsImageLoading(false)}
74
+ >
75
+ {token.symbol?.[0]}
76
+ </Avatar>
77
+ )
78
+ }
79
+
58
80
  export const TokenListItemButton: React.FC<TokenListItemButtonProps> = ({
59
81
  onClick,
60
82
  token,
@@ -101,9 +123,7 @@ export const TokenListItemButton: React.FC<TokenListItemButtonProps> = ({
101
123
  dense
102
124
  >
103
125
  <ListItemAvatar>
104
- <Avatar src={token.logoURI} alt={token.symbol}>
105
- {token.symbol?.[0]}
106
- </Avatar>
126
+ <TokenListItemAvatar token={token} />
107
127
  </ListItemAvatar>
108
128
  <ListItemText
109
129
  primary={token.symbol}
@@ -45,3 +45,7 @@ export interface TokenListItemButtonProps {
45
45
  chain?: ExtendedChain
46
46
  isBalanceLoading?: boolean
47
47
  }
48
+
49
+ export interface TokenListItemAvatarProps {
50
+ token: TokenAmount
51
+ }
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/widget'
2
- export const version = '3.20.3'
2
+ export const version = '3.20.5'
@@ -6,7 +6,9 @@ export function useIsBatchingSupported(
6
6
  chain?: ExtendedChain,
7
7
  address?: string
8
8
  ) {
9
- const enabled = chain && chain.chainType === ChainType.EVM && !!address
9
+ const enabled = Boolean(
10
+ chain && chain.chainType === ChainType.EVM && !!address
11
+ )
10
12
  const { data, isLoading } = useQuery({
11
13
  queryKey: ['isBatchingSupported', chain?.id, address],
12
14
  queryFn: () => {
@@ -197,6 +197,14 @@ export function getProcessMessage(
197
197
  title = t('error.title.walletMismatch')
198
198
  message = t('error.message.walletChangedDuringExecution')
199
199
  break
200
+ case LiFiErrorCode.RateLimitExceeded:
201
+ title = t('error.title.rateLimitExceeded')
202
+ message = t('error.message.rateLimitExceeded')
203
+ break
204
+ case LiFiErrorCode.ThirdPartyError:
205
+ title = t('error.title.thirdPartyError')
206
+ message = t('error.message.thirdPartyError')
207
+ break
200
208
  case LiFiErrorCode.TransactionUnderpriced:
201
209
  title = t('error.title.transactionUnderpriced')
202
210
  message = getDefaultErrorMessage()
@@ -4,6 +4,7 @@ import { useChain } from '../hooks/useChain.js'
4
4
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
5
5
  import { useFieldValues } from '../stores/form/useFieldValues.js'
6
6
  import { RequiredUI } from '../types/widget.js'
7
+ import { isDelegationDesignatorCode } from '../utils/eip7702.js'
7
8
  import { useIsContractAddress } from './useIsContractAddress.js'
8
9
 
9
10
  export const useToAddressRequirements = (route?: RouteExtended) => {
@@ -16,37 +17,64 @@ export const useToAddressRequirements = (route?: RouteExtended) => {
16
17
 
17
18
  const fromChainId = route?.fromChainId ?? formFromChainId
18
19
  const toChainId = route?.toChainId ?? formToChainId
19
- const toAddress = route
20
- ? route.fromAddress !== route.toAddress
21
- ? route.toAddress
22
- : formToAddress
23
- : formToAddress
24
20
 
25
21
  const { chain: fromChain } = useChain(fromChainId)
26
22
  const { chain: toChain } = useChain(toChainId)
27
23
  const { account } = useAccount({
28
24
  chainType: fromChain?.chainType,
29
25
  })
30
- const { isContractAddress: isFromContractAddress } = useIsContractAddress(
31
- account.address,
32
- fromChainId,
33
- account.chainType
34
- )
26
+
27
+ const fromAddress = route?.fromAddress ?? account.address
28
+ const toAddress = route
29
+ ? route.fromAddress !== route.toAddress
30
+ ? route.toAddress
31
+ : formToAddress
32
+ : formToAddress
33
+
34
+ const {
35
+ isContractAddress: isFromContractAddress,
36
+ contractCode: fromContractCode,
37
+ isLoading: isFromContractLoading,
38
+ isFetched: isFromContractFetched,
39
+ } = useIsContractAddress(account.address, fromChainId, account.chainType)
40
+ const {
41
+ isContractAddress: isToContractAddress,
42
+ isLoading: isToContractLoading,
43
+ isFetched: isToContractFetched,
44
+ } = useIsContractAddress(toAddress, toChainId, toChain?.chainType)
35
45
 
36
46
  const isDifferentChainType =
37
47
  fromChain && toChain && fromChain.chainType !== toChain.chainType
38
48
 
49
+ // We don't want to block transfers for EIP-7702 accounts since they are designed
50
+ // to maintain EOA-like properties while delegating execution.
51
+ const fromContractCodeHasDelegationIndicator =
52
+ isDelegationDesignatorCode(fromContractCode)
53
+
39
54
  const isCrossChainContractAddress =
40
- isFromContractAddress && fromChainId !== toChainId
55
+ isFromContractAddress &&
56
+ fromChainId !== toChainId &&
57
+ !fromContractCodeHasDelegationIndicator
41
58
 
42
59
  const requiredToAddress =
43
60
  requiredUI?.includes(RequiredUI.ToAddress) ||
44
61
  isDifferentChainType ||
45
62
  isCrossChainContractAddress
46
63
 
64
+ const accountNotDeployedAtDestination =
65
+ isFromContractAddress &&
66
+ !fromContractCodeHasDelegationIndicator &&
67
+ !isToContractAddress &&
68
+ fromAddress?.toLowerCase() === toAddress?.toLowerCase()
69
+
47
70
  return {
48
71
  requiredToAddress,
49
72
  requiredToChainType: toChain?.chainType,
73
+ accountNotDeployedAtDestination,
50
74
  toAddress,
75
+ isFromContractAddress,
76
+ isToContractAddress,
77
+ isLoading: isFromContractLoading || isToContractLoading,
78
+ isFetched: isFromContractFetched && isToContractFetched,
51
79
  }
52
80
  }
package/src/i18n/en.json CHANGED
@@ -146,9 +146,11 @@
146
146
  "message": {
147
147
  "allowanceRequired": "Transfer amount for {{tokenSymbol}} exceeds your current allowance. Please increase your allowance and try again.",
148
148
  "insufficientFunds": "You don't have enough gas to cover the cost of the transaction.",
149
+ "rateLimitExceeded": "Too many requests have been made in a short period of time. Please wait a moment and try again or contact support if the issue persists.",
149
150
  "remainInYourWallet": "{{amount, numberExt}} {{tokenSymbol}} on {{chainName}} remain in your wallet.",
150
151
  "signatureRejected": "Your signature is required to complete the transaction. {{amount, numberExt}} {{tokenSymbol}} on {{chainName}} remain in your wallet.",
151
152
  "slippageThreshold": "The slippage is larger than the defined threshold. Please request a new quote.",
153
+ "thirdPartyError": "We couldn't complete your request due to a problem with an external service. Please try again or contact support if the issue persists.",
152
154
  "transactionCanceled": "Transaction was canceled.",
153
155
  "transactionConflict": "Transaction couldn't be processed because it's conflicting with another pending transaction using the same funds. Please wait for the pending transaction to be confirmed or check your transaction history before trying again.",
154
156
  "transactionExpired": "The block height has exceeded the maximum allowed limit or blockhash is no longer recent enough.",
@@ -168,8 +170,10 @@
168
170
  "exchangeRateUpdateCanceled": "Exchange rate update canceled",
169
171
  "gasLimitIsTooLow": "The gas limit is too low",
170
172
  "insufficientFunds": "Insufficient funds",
173
+ "rateLimitExceeded": "Rate limit exceeded",
171
174
  "signatureRejected": "Signature required",
172
175
  "slippageNotMet": "Slippage conditions not met",
176
+ "thirdPartyError": "Third-party service unavailable",
173
177
  "transactionCanceled": "Transaction canceled",
174
178
  "transactionConflict": "Transaction conflict",
175
179
  "transactionExpired": "Transaction expired",
@@ -1,8 +0,0 @@
1
- import type { RouteExtended } from '@lifi/sdk';
2
- export declare const useIsCompatibleDestinationAccount: (route?: RouteExtended) => {
3
- isCompatibleDestinationAccount: boolean;
4
- isFromContractAddress: boolean;
5
- isToContractAddress: boolean;
6
- isLoading: boolean;
7
- isFetched: boolean;
8
- };
@@ -1,37 +0,0 @@
1
- import { useAccount } from '@lifi/wallet-management';
2
- import { useFieldValues } from '../stores/form/useFieldValues.js';
3
- import { isDelegationDesignatorCode } from '../utils/eip7702.js';
4
- import { useChain } from './useChain.js';
5
- import { useIsContractAddress } from './useIsContractAddress.js';
6
- export const useIsCompatibleDestinationAccount = (route) => {
7
- const [formFromChainId, formToChainId, formToAddress] = useFieldValues('fromChain', 'toChain', 'toAddress');
8
- const fromChainId = route?.fromChainId ?? formFromChainId;
9
- const toChainId = route?.toChainId ?? formToChainId;
10
- const { chain: fromChain } = useChain(fromChainId);
11
- const { chain: toChain } = useChain(toChainId);
12
- const { account } = useAccount({
13
- chainType: fromChain?.chainType,
14
- });
15
- const fromAddress = route?.fromAddress ?? account.address;
16
- const toAddress = route
17
- ? route.fromAddress !== route.toAddress
18
- ? route.toAddress
19
- : formToAddress
20
- : formToAddress;
21
- const { isContractAddress: isFromContractAddress, contractCode: fromContractCode, isLoading: isFromContractLoading, isFetched: isFromContractFetched, } = useIsContractAddress(fromAddress, fromChainId, fromChain?.chainType);
22
- const { isContractAddress: isToContractAddress, isLoading: isToContractLoading, isFetched: isToContractFetched, } = useIsContractAddress(toAddress, toChainId, toChain?.chainType);
23
- const accountNotDeployedAtDestination = isFromContractAddress &&
24
- // We don't want to block transfers for EIP-7702 accounts since they are designed
25
- // to maintain EOA-like properties while delegating execution.
26
- !isDelegationDesignatorCode(fromContractCode) &&
27
- !isToContractAddress &&
28
- fromAddress?.toLowerCase() === toAddress?.toLowerCase();
29
- return {
30
- isCompatibleDestinationAccount: !accountNotDeployedAtDestination,
31
- isFromContractAddress,
32
- isToContractAddress,
33
- isLoading: isFromContractLoading || isToContractLoading,
34
- isFetched: isFromContractFetched && isToContractFetched,
35
- };
36
- };
37
- //# sourceMappingURL=useIsCompatibleDestinationAccount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIsCompatibleDestinationAccount.js","sourceRoot":"","sources":["../../../src/hooks/useIsCompatibleDestinationAccount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAAqB,EAAE,EAAE;IACzE,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE,aAAa,CAAC,GAAG,cAAc,CACpE,WAAW,EACX,SAAS,EACT,WAAW,CACZ,CAAA;IAED,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,eAAe,CAAA;IACzD,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,aAAa,CAAA;IAEnD,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;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAA;IACzD,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS;YACrC,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,aAAa;QACjB,CAAC,CAAC,aAAa,CAAA;IAEjB,MAAM,EACJ,iBAAiB,EAAE,qBAAqB,EACxC,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,qBAAqB,EAChC,SAAS,EAAE,qBAAqB,GACjC,GAAG,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACxE,MAAM,EACJ,iBAAiB,EAAE,mBAAmB,EACtC,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,mBAAmB,GAC/B,GAAG,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAElE,MAAM,+BAA+B,GACnC,qBAAqB;QACrB,iFAAiF;QACjF,8DAA8D;QAC9D,CAAC,0BAA0B,CAAC,gBAAgB,CAAC;QAC7C,CAAC,mBAAmB;QACpB,WAAW,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,WAAW,EAAE,CAAA;IAEzD,OAAO;QACL,8BAA8B,EAAE,CAAC,+BAA+B;QAChE,qBAAqB;QACrB,mBAAmB;QACnB,SAAS,EAAE,qBAAqB,IAAI,mBAAmB;QACvD,SAAS,EAAE,qBAAqB,IAAI,mBAAmB;KACxD,CAAA;AACH,CAAC,CAAA"}
@@ -1,58 +0,0 @@
1
- import type { RouteExtended } from '@lifi/sdk'
2
- import { useAccount } from '@lifi/wallet-management'
3
- import { useFieldValues } from '../stores/form/useFieldValues.js'
4
- import { isDelegationDesignatorCode } from '../utils/eip7702.js'
5
- import { useChain } from './useChain.js'
6
- import { useIsContractAddress } from './useIsContractAddress.js'
7
-
8
- export const useIsCompatibleDestinationAccount = (route?: RouteExtended) => {
9
- const [formFromChainId, formToChainId, formToAddress] = useFieldValues(
10
- 'fromChain',
11
- 'toChain',
12
- 'toAddress'
13
- )
14
-
15
- const fromChainId = route?.fromChainId ?? formFromChainId
16
- const toChainId = route?.toChainId ?? formToChainId
17
-
18
- const { chain: fromChain } = useChain(fromChainId)
19
- const { chain: toChain } = useChain(toChainId)
20
- const { account } = useAccount({
21
- chainType: fromChain?.chainType,
22
- })
23
-
24
- const fromAddress = route?.fromAddress ?? account.address
25
- const toAddress = route
26
- ? route.fromAddress !== route.toAddress
27
- ? route.toAddress
28
- : formToAddress
29
- : formToAddress
30
-
31
- const {
32
- isContractAddress: isFromContractAddress,
33
- contractCode: fromContractCode,
34
- isLoading: isFromContractLoading,
35
- isFetched: isFromContractFetched,
36
- } = useIsContractAddress(fromAddress, fromChainId, fromChain?.chainType)
37
- const {
38
- isContractAddress: isToContractAddress,
39
- isLoading: isToContractLoading,
40
- isFetched: isToContractFetched,
41
- } = useIsContractAddress(toAddress, toChainId, toChain?.chainType)
42
-
43
- const accountNotDeployedAtDestination =
44
- isFromContractAddress &&
45
- // We don't want to block transfers for EIP-7702 accounts since they are designed
46
- // to maintain EOA-like properties while delegating execution.
47
- !isDelegationDesignatorCode(fromContractCode) &&
48
- !isToContractAddress &&
49
- fromAddress?.toLowerCase() === toAddress?.toLowerCase()
50
-
51
- return {
52
- isCompatibleDestinationAccount: !accountNotDeployedAtDestination,
53
- isFromContractAddress,
54
- isToContractAddress,
55
- isLoading: isFromContractLoading || isToContractLoading,
56
- isFetched: isFromContractFetched && isToContractFetched,
57
- }
58
- }