@lifi/widget 3.8.2 → 3.9.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.
Files changed (76) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/esm/components/Header/WalletHeader.js +9 -3
  3. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  4. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +16 -1
  5. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  6. package/dist/esm/components/TokenList/TokenList.js +6 -4
  7. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  8. package/dist/esm/components/TokenList/TokenListItem.js +1 -1
  9. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  10. package/dist/esm/components/TokenList/types.d.ts +2 -2
  11. package/dist/esm/components/TokenList/useTokenSelect.d.ts +4 -0
  12. package/dist/esm/components/TokenList/useTokenSelect.js +19 -10
  13. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
  14. package/dist/esm/config/version.d.ts +1 -1
  15. package/dist/esm/config/version.js +1 -1
  16. package/dist/esm/hooks/useAvailableChains.d.ts +2 -1
  17. package/dist/esm/hooks/useAvailableChains.js.map +1 -1
  18. package/dist/esm/hooks/useChain.d.ts +1 -0
  19. package/dist/esm/hooks/useChain.js +1 -0
  20. package/dist/esm/hooks/useChain.js.map +1 -1
  21. package/dist/esm/hooks/useChains.d.ts +1 -1
  22. package/dist/esm/hooks/useGasSufficiency.d.ts +1 -1
  23. package/dist/esm/hooks/useGasSufficiency.js +2 -12
  24. package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
  25. package/dist/esm/hooks/useIsContractAddress.d.ts +2 -0
  26. package/dist/esm/hooks/useIsContractAddress.js +16 -0
  27. package/dist/esm/hooks/useIsContractAddress.js.map +1 -0
  28. package/dist/esm/hooks/useToAddressAutoPopulate.d.ts +12 -0
  29. package/dist/esm/hooks/useToAddressAutoPopulate.js +68 -0
  30. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -0
  31. package/dist/esm/hooks/useToAddressRequirements.d.ts +1 -1
  32. package/dist/esm/hooks/useToAddressRequirements.js +9 -1
  33. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
  34. package/dist/esm/hooks/useToAddressReset.js +15 -8
  35. package/dist/esm/hooks/useToAddressReset.js.map +1 -1
  36. package/dist/esm/pages/SendToWallet/BookmarksPage.js +1 -0
  37. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  38. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +1 -0
  39. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  40. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +1 -0
  41. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  42. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +1 -0
  43. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  44. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +4 -1
  45. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  46. package/dist/esm/stores/form/createFormStore.js +1 -0
  47. package/dist/esm/stores/form/createFormStore.js.map +1 -1
  48. package/dist/esm/stores/form/types.d.ts +1 -0
  49. package/dist/esm/stores/form/types.js.map +1 -1
  50. package/dist/esm/stores/form/useFieldActions.d.ts +1 -0
  51. package/dist/esm/stores/form/useFieldActions.js +1 -0
  52. package/dist/esm/stores/form/useFieldActions.js.map +1 -1
  53. package/package.json +8 -8
  54. package/src/components/Header/WalletHeader.tsx +14 -5
  55. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +25 -6
  56. package/src/components/TokenList/TokenList.tsx +7 -4
  57. package/src/components/TokenList/TokenListItem.tsx +1 -1
  58. package/src/components/TokenList/types.ts +2 -2
  59. package/src/components/TokenList/useTokenSelect.ts +39 -16
  60. package/src/config/version.ts +1 -1
  61. package/src/hooks/useAvailableChains.ts +6 -1
  62. package/src/hooks/useChain.ts +1 -0
  63. package/src/hooks/useGasSufficiency.ts +7 -19
  64. package/src/hooks/useIsContractAddress.ts +21 -0
  65. package/src/hooks/useToAddressAutoPopulate.ts +95 -0
  66. package/src/hooks/useToAddressRequirements.ts +13 -2
  67. package/src/hooks/useToAddressReset.ts +15 -8
  68. package/src/pages/SendToWallet/BookmarksPage.tsx +1 -0
  69. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +1 -0
  70. package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +1 -0
  71. package/src/pages/SendToWallet/RecentWalletsPage.tsx +1 -0
  72. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +4 -1
  73. package/src/stores/form/createFormStore.ts +2 -0
  74. package/src/stores/form/types.ts +1 -0
  75. package/src/stores/form/useFieldActions.ts +1 -0
  76. package/src/stores/header/useHeaderStore.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
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.9.0](https://github.com/lifinance/widget/compare/v3.8.2...v3.9.0) (2024-10-28)
6
+
7
+
8
+ ### Features
9
+
10
+ * add active account tracking to the internal wallet management ([0872fe2](https://github.com/lifinance/widget/commit/0872fe2da2d2b3bd450d4cad181f5b50dd064c41))
11
+ * add support for okx bitcoin wallet ([175c5fb](https://github.com/lifinance/widget/commit/175c5fb6b251dd591d14530303aeb8f41788f071))
12
+ * try to auto-populate destination address for cross-ecosystem transfers ([323d3a1](https://github.com/lifinance/widget/commit/323d3a16255763e44caa0b3126641bb92a320da2))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * always update the destination chain to match the source one ([4d428ea](https://github.com/lifinance/widget/commit/4d428ea566763e77fdbde73c0bd78f6adea41e67))
18
+ * make destination address required if source address is a smart contract wallet ([34d8528](https://github.com/lifinance/widget/commit/34d8528a770198132b67d4af373961dce5d0ebe5))
19
+
5
20
  ### [3.8.2](https://github.com/lifinance/widget/compare/v3.8.1...v3.8.2) (2024-10-24)
6
21
 
7
22
 
@@ -7,6 +7,7 @@ import { useTranslation } from 'react-i18next';
7
7
  import { useChain } from '../../hooks/useChain.js';
8
8
  import { useHasExternalWalletProvider } from '../../providers/WalletProvider/useHasExternalWalletProvider.js';
9
9
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js';
10
+ import { useFieldValues } from '../../stores/form/useFieldValues.js';
10
11
  import { HiddenUI } from '../../types/widget.js';
11
12
  import { shortenAddress } from '../../utils/wallet.js';
12
13
  import { SmallAvatar } from '../Avatar/SmallAvatar.js';
@@ -27,12 +28,17 @@ export const SplitWalletMenuButton = () => {
27
28
  return !hasExternalProvider && !hiddenUI?.includes(HiddenUI.WalletMenu) ? (_jsx(WalletMenuButton, {})) : null;
28
29
  };
29
30
  export const WalletMenuButton = () => {
30
- const { account } = useAccount();
31
31
  const { variant, hiddenUI } = useWidgetConfig();
32
+ const { account, accounts } = useAccount();
33
+ const [fromChainId] = useFieldValues('fromChain');
34
+ const { chain: fromChain } = useChain(fromChainId);
35
+ const activeAccount = (fromChain
36
+ ? accounts.find((account) => account.chainType === fromChain.chainType)
37
+ : undefined) || account;
32
38
  if (variant === 'drawer') {
33
- return (_jsxs(DrawerWalletContainer, { children: [account.isConnected ? (_jsx(ConnectedButton, { account: account })) : (_jsx(ConnectButton, {})), !hiddenUI?.includes(HiddenUI.DrawerCloseButton) ? (_jsx(CloseDrawerButton, { header: "wallet" })) : null] }));
39
+ return (_jsxs(DrawerWalletContainer, { children: [activeAccount.isConnected ? (_jsx(ConnectedButton, { account: activeAccount })) : (_jsx(ConnectButton, {})), !hiddenUI?.includes(HiddenUI.DrawerCloseButton) ? (_jsx(CloseDrawerButton, { header: "wallet" })) : null] }));
34
40
  }
35
- return account.isConnected ? (_jsx(ConnectedButton, { account: account })) : (_jsx(ConnectButton, {}));
41
+ return activeAccount.isConnected ? (_jsx(ConnectedButton, { account: activeAccount })) : (_jsx(ConnectButton, {}));
36
42
  };
37
43
  const ConnectButton = () => {
38
44
  const { t } = useTranslation();
@@ -1 +1 @@
1
- {"version":3,"file":"WalletHeader.js","sourceRoot":"","sources":["../../../../src/components/Header/WalletHeader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletHeader.js","sourceRoot":"","sources":["../../../../src/components/Header/WalletHeader.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ArrowDownward, ArrowForward } from '@mui/icons-material';
3
3
  import { useAvailableChains } from '../../hooks/useAvailableChains.js';
4
+ import { useToAddressAutoPopulate } from '../../hooks/useToAddressAutoPopulate.js';
4
5
  import { useToAddressReset } from '../../hooks/useToAddressReset.js';
5
6
  import { useFieldActions } from '../../stores/form/useFieldActions.js';
6
7
  import { IconCard, ReverseContainer } from './ReverseTokensButton.style.js';
@@ -8,13 +9,27 @@ export const ReverseTokensButton = ({ vertical, }) => {
8
9
  const { setFieldValue, getFieldValues } = useFieldActions();
9
10
  const { getChainById } = useAvailableChains();
10
11
  const { tryResetToAddress } = useToAddressReset();
12
+ const autoPopulateToAddress = useToAddressAutoPopulate();
11
13
  const handleClick = () => {
12
- const [fromChainId, fromToken, toChainId, toToken] = getFieldValues('fromChain', 'fromToken', 'toChain', 'toToken');
14
+ const [fromChainId, fromToken, toChainId, toToken, toAddress] = getFieldValues('fromChain', 'fromToken', 'toChain', 'toToken', 'toAddress');
13
15
  setFieldValue('fromAmount', '', { isTouched: true });
14
16
  setFieldValue('fromChain', toChainId, { isTouched: true });
15
17
  setFieldValue('fromToken', toToken, { isTouched: true });
16
18
  setFieldValue('toChain', fromChainId, { isTouched: true });
17
19
  setFieldValue('toToken', fromToken, { isTouched: true });
20
+ const autoPopulatedToAddress = autoPopulateToAddress({
21
+ formType: 'from',
22
+ selectedToAddress: toAddress,
23
+ selectedChainId: toChainId,
24
+ selectedOppositeChainId: fromChainId,
25
+ selectedOppositeTokenAddress: fromToken,
26
+ });
27
+ // Returning early as a compatible connected wallet was found, and toAddress has been populated
28
+ if (autoPopulatedToAddress) {
29
+ return;
30
+ }
31
+ // Auto-population applies in certain scenarios, but otherwise,
32
+ // we attempt to reset `toAddress` when bridging across ecosystems
18
33
  // fromChainId becomes toChainId after using reverse
19
34
  const toChain = getChainById(fromChainId);
20
35
  if (toChain) {
@@ -1 +1 @@
1
- {"version":3,"file":"ReverseTokensButton.js","sourceRoot":"","sources":["../../../../src/components/ReverseTokensButton/ReverseTokensButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAqC,CAAC,EACpE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAEjD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,cAAc,CACjE,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,CACV,CAAA;QACD,aAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAExD,oDAAoD;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAA;IACD,OAAO,CACL,KAAC,gBAAgB,cACf,KAAC,QAAQ,IAAC,OAAO,EAAE,WAAW,YAC3B,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,aAAa,IAAC,QAAQ,EAAC,SAAS,GAAG,CACrC,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,QAAQ,EAAC,SAAS,GAAG,CACpC,GACQ,GACM,CACpB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ReverseTokensButton.js","sourceRoot":"","sources":["../../../../src/components/ReverseTokensButton/ReverseTokensButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAE3E,MAAM,CAAC,MAAM,mBAAmB,GAAqC,CAAC,EACpE,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAA;IACjD,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAA;IAExD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAC3D,cAAc,CACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAA;QACH,aAAa,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,aAAa,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAExD,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;YACnD,QAAQ,EAAE,MAAM;YAChB,iBAAiB,EAAE,SAAS;YAC5B,eAAe,EAAE,SAAS;YAC1B,uBAAuB,EAAE,WAAW;YACpC,4BAA4B,EAAE,SAAS;SACxC,CAAC,CAAA;QAEF,+FAA+F;QAC/F,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,+DAA+D;QAC/D,kEAAkE;QAClE,oDAAoD;QACpD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC,CAAA;IACD,OAAO,CACL,KAAC,gBAAgB,cACf,KAAC,QAAQ,IAAC,OAAO,EAAE,WAAW,YAC3B,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,aAAa,IAAC,QAAQ,EAAC,SAAS,GAAG,CACrC,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,QAAQ,EAAC,SAAS,GAAG,CACpC,GACQ,GACM,CACpB,CAAA;AACH,CAAC,CAAA"}
@@ -14,8 +14,10 @@ import { filteredTokensComparator } from './utils.js';
14
14
  export const TokenList = ({ formType, parentRef, height, onClick, }) => {
15
15
  const [selectedChainId] = useFieldValues(FormKeyHelper.getChainKey(formType));
16
16
  const [tokenSearchFilter] = useDebouncedWatch(320, 'tokenSearchFilter');
17
- const { chain, isLoading: isChainLoading } = useChain(selectedChainId);
18
- const { account } = useAccount({ chainType: chain?.chainType });
17
+ const { chain: selectedChain, isLoading: isSelectedChainLoading } = useChain(selectedChainId);
18
+ const { account } = useAccount({
19
+ chainType: selectedChain?.chainType,
20
+ });
19
21
  const { tokens: chainTokens, tokensWithBalance, isLoading: isTokensLoading, isBalanceLoading, featuredTokens, popularTokens, } = useTokenBalances(selectedChainId);
20
22
  let filteredTokens = (tokensWithBalance ?? chainTokens ?? []);
21
23
  const normalizedSearchFilter = tokenSearchFilter?.replaceAll('$', '');
@@ -33,7 +35,7 @@ export const TokenList = ({ formType, parentRef, height, onClick, }) => {
33
35
  !!selectedChainId;
34
36
  const { token: searchedToken, isLoading: isSearchedTokenLoading } = useTokenSearch(selectedChainId, normalizedSearchFilter, tokenSearchEnabled);
35
37
  const isLoading = isTokensLoading ||
36
- isChainLoading ||
38
+ isSelectedChainLoading ||
37
39
  (tokenSearchEnabled && isSearchedTokenLoading);
38
40
  const tokens = filteredTokens.length
39
41
  ? filteredTokens
@@ -43,6 +45,6 @@ export const TokenList = ({ formType, parentRef, height, onClick, }) => {
43
45
  const handleTokenClick = useTokenSelect(formType, onClick);
44
46
  const showCategories = Boolean(featuredTokens?.length || popularTokens?.length) &&
45
47
  !tokenSearchFilter;
46
- return (_jsxs(Box, { ref: parentRef, style: { height, overflow: 'auto' }, children: [!tokens.length && !isLoading ? (_jsx(TokenNotFound, { formType: formType })) : null, _jsx(VirtualizedTokenList, { account: account, tokens: tokens, scrollElementRef: parentRef, chainId: selectedChainId, chain: chain, isLoading: isLoading, isBalanceLoading: isBalanceLoading, showCategories: showCategories, onClick: handleTokenClick })] }));
48
+ return (_jsxs(Box, { ref: parentRef, style: { height, overflow: 'auto' }, children: [!tokens.length && !isLoading ? (_jsx(TokenNotFound, { formType: formType })) : null, _jsx(VirtualizedTokenList, { account: account, tokens: tokens, scrollElementRef: parentRef, chainId: selectedChainId, chain: selectedChain, isLoading: isLoading, isBalanceLoading: isBalanceLoading, showCategories: showCategories, onClick: handleTokenClick })] }));
47
49
  };
48
50
  //# sourceMappingURL=TokenList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenList.js","sourceRoot":"","sources":["../../../../src/components/TokenList/TokenList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenList.js","sourceRoot":"","sources":["../../../../src/components/TokenList/TokenList.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { IconButton, ListItem } from './TokenList.style.js';
13
13
  export const TokenListItem = ({ onClick, size, start, token, chain, accountAddress, isBalanceLoading, startAdornment, endAdornment, }) => {
14
14
  const handleClick = (e) => {
15
15
  e.stopPropagation();
16
- onClick?.(token.address);
16
+ onClick?.(token.address, chain?.id);
17
17
  };
18
18
  return (_jsxs(ListItem, { style: {
19
19
  height: `${size}px`,
@@ -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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"}
@@ -18,10 +18,10 @@ export interface VirtualizedTokenListProps {
18
18
  chainId?: number;
19
19
  chain?: ExtendedChain;
20
20
  showCategories?: boolean;
21
- onClick(tokenAddress: string): void;
21
+ onClick(tokenAddress: string, chainId?: number): void;
22
22
  }
23
23
  export interface TokenListItemBaseProps {
24
- onClick?(tokenAddress: string): void;
24
+ onClick?(tokenAddress: string, chainId?: number): void;
25
25
  size: number;
26
26
  start: number;
27
27
  }
@@ -1,2 +1,6 @@
1
1
  import type { FormType } from '../../stores/form/types.js';
2
+ export type UseTokenSelectArgs = {
3
+ formType: FormType;
4
+ onClick?: () => void;
5
+ };
2
6
  export declare const useTokenSelect: (formType: FormType, onClick?: () => void) => (tokenAddress: string, chainId?: number) => void;
@@ -1,4 +1,5 @@
1
1
  import { useCallback } from 'react';
2
+ import { useToAddressAutoPopulate } from '../../hooks/useToAddressAutoPopulate.js';
2
3
  import { useWidgetEvents } from '../../hooks/useWidgetEvents.js';
3
4
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js';
4
5
  import { useChainOrderStoreContext } from '../../stores/chains/ChainOrderStore.js';
@@ -10,9 +11,10 @@ export const useTokenSelect = (formType, onClick) => {
10
11
  const { subvariant, disabledUI } = useWidgetConfig();
11
12
  const emitter = useWidgetEvents();
12
13
  const { setFieldValue, getFieldValues } = useFieldActions();
14
+ const autoPopulateToAddress = useToAddressAutoPopulate();
15
+ const chainOrderStore = useChainOrderStoreContext();
13
16
  const tokenKey = FormKeyHelper.getTokenKey(formType);
14
17
  const { onChange } = useFieldController({ name: tokenKey });
15
- const chainOrderStore = useChainOrderStoreContext();
16
18
  return useCallback((tokenAddress, chainId) => {
17
19
  onChange(tokenAddress);
18
20
  const selectedChainId = chainId ?? getFieldValues(FormKeyHelper.getChainKey(formType))[0];
@@ -26,9 +28,9 @@ export const useTokenSelect = (formType, onClick) => {
26
28
  setFieldValue(amountKey, '');
27
29
  }
28
30
  const oppositeFormType = formType === 'from' ? 'to' : 'from';
29
- const [selectedOppositeToken, selectedOppositeChainId] = getFieldValues(FormKeyHelper.getTokenKey(oppositeFormType), FormKeyHelper.getChainKey(oppositeFormType));
31
+ const [selectedOppositeTokenAddress, selectedOppositeChainId, selectedToAddress,] = getFieldValues(FormKeyHelper.getTokenKey(oppositeFormType), FormKeyHelper.getChainKey(oppositeFormType), 'toAddress');
30
32
  // TODO: remove when we enable same chain/token transfers
31
- if (selectedOppositeToken === tokenAddress &&
33
+ if (selectedOppositeTokenAddress === tokenAddress &&
32
34
  selectedOppositeChainId === selectedChainId &&
33
35
  subvariant !== 'custom') {
34
36
  setFieldValue(FormKeyHelper.getTokenKey(oppositeFormType), '', {
@@ -36,17 +38,23 @@ export const useTokenSelect = (formType, onClick) => {
36
38
  isTouched: true,
37
39
  });
38
40
  }
39
- // Check if the selected source chain matches any chain on the destination chain selection view (chainOrder array).
40
- // If a match exists and the destination token is not selected, update the destination chain to match the source.
41
- if (formType === 'from' &&
42
- !selectedOppositeToken &&
43
- selectedChainId &&
44
- chainOrderStore.getState().chainOrder.to.includes(selectedChainId)) {
45
- setFieldValue(FormKeyHelper.getChainKey('to'), selectedChainId, {
41
+ // If no opposite token is selected, synchronize the opposite chain to match the currently selected chain
42
+ const { setChain } = chainOrderStore.getState();
43
+ if (!selectedOppositeTokenAddress && selectedChainId) {
44
+ setFieldValue(FormKeyHelper.getChainKey(oppositeFormType), selectedChainId, {
46
45
  isDirty: true,
47
46
  isTouched: true,
48
47
  });
48
+ setChain(selectedChainId, oppositeFormType);
49
49
  }
50
+ // Automatically populate toAddress field if bridging across ecosystems and compatible wallet is connected
51
+ autoPopulateToAddress({
52
+ formType,
53
+ selectedToAddress,
54
+ selectedChainId,
55
+ selectedOppositeChainId,
56
+ selectedOppositeTokenAddress,
57
+ });
50
58
  const eventToEmit = formType === 'from'
51
59
  ? WidgetEvent.SourceChainTokenSelected
52
60
  : WidgetEvent.DestinationChainTokenSelected;
@@ -58,6 +66,7 @@ export const useTokenSelect = (formType, onClick) => {
58
66
  }
59
67
  onClick?.();
60
68
  }, [
69
+ autoPopulateToAddress,
61
70
  chainOrderStore,
62
71
  disabledUI,
63
72
  emitter,
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAQnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAE,OAAoB,EAAE,EAAE;IACzE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IACpD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IACjC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3D,MAAM,qBAAqB,GAAG,wBAAwB,EAAE,CAAA;IACxD,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAA;IAEnD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE3D,OAAO,WAAW,CAChB,CAAC,YAAoB,EAAE,OAAgB,EAAE,EAAE;QACzC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACtB,MAAM,eAAe,GACnB,OAAO,IAAI,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnE,gDAAgD;QAChD,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE;YAClE,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI;SAChB,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAuB,CAAC,EAAE,CAAC;YACnD,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,MAAM,gBAAgB,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;QAC5D,MAAM,CACJ,4BAA4B,EAC5B,uBAAuB,EACvB,iBAAiB,EAClB,GAAG,cAAc,CAChB,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAC3C,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAC3C,WAAW,CACZ,CAAA;QACD,yDAAyD;QACzD,IACE,4BAA4B,KAAK,YAAY;YAC7C,uBAAuB,KAAK,eAAe;YAC3C,UAAU,KAAK,QAAQ,EACvB,CAAC;YACD,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE;gBAC7D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;QAED,yGAAyG;QACzG,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAA;QAC/C,IAAI,CAAC,4BAA4B,IAAI,eAAe,EAAE,CAAC;YACrD,aAAa,CACX,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAC3C,eAAe,EACf;gBACE,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;aAChB,CACF,CAAA;YACD,QAAQ,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAA;QAC7C,CAAC;QAED,0GAA0G;QAC1G,qBAAqB,CAAC;YACpB,QAAQ;YACR,iBAAiB;YACjB,eAAe;YACf,uBAAuB;YACvB,4BAA4B;SAC7B,CAAC,CAAA;QAEF,MAAM,WAAW,GACf,QAAQ,KAAK,MAAM;YACjB,CAAC,CAAC,WAAW,CAAC,wBAAwB;YACtC,CAAC,CAAC,WAAW,CAAC,6BAA6B,CAAA;QAE/C,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;gBACxB,OAAO,EAAE,eAAe;gBACxB,YAAY;aACb,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,CAAA;IACb,CAAC,EACD;QACE,qBAAqB;QACrB,eAAe;QACf,UAAU;QACV,OAAO;QACP,QAAQ;QACR,cAAc;QACd,QAAQ;QACR,OAAO;QACP,aAAa;QACb,UAAU;KACX,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.8.2";
2
+ export declare const version = "3.9.0";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.8.2';
2
+ export const version = '3.9.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1,7 +1,8 @@
1
1
  import type { ExtendedChain } from '@lifi/sdk';
2
2
  import { ChainType } from '@lifi/sdk';
3
+ export type GetChainById = (chainId?: number, chains?: ExtendedChain[]) => ExtendedChain | undefined;
3
4
  export declare const useAvailableChains: (chainTypes?: ChainType[]) => {
4
5
  chains: ExtendedChain[] | undefined;
5
- getChainById: (chainId?: number, chains?: ExtendedChain[] | undefined) => ExtendedChain | undefined;
6
+ getChainById: GetChainById;
6
7
  isLoading: boolean;
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useAvailableChains.js","sourceRoot":"","sources":["../../../src/hooks/useAvailableChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAA;IACpC,wDAAwD;IACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE;YACR,QAAQ;YACR,aAAa;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;SACF;QACV,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE;YACpD,MAAM,iBAAiB,GAAG,mBAAmB;gBAC3C,yDAAyD;iBACxD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;YAEpE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;gBACtC,UAAU,EAAE,UAAU,IAAI,iBAAiB;aAC5C,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACjC,OAAO,eAAe,CAAA;QACxB,CAAC;QACD,eAAe,EAAE,MAAO;QACxB,SAAS,EAAE,MAAO;KACnB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,OAAgB,EAAE,SAAsC,IAAI,EAAE,EAAE;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QAC3D,gBAAgB;QAChB,+DAA+D;QAC/D,IAAI;QACJ,OAAO,KAAK,CAAA;IACd,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,YAAY;QACZ,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useAvailableChains.js","sourceRoot":"","sources":["../../../src/hooks/useAvailableChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAOhD,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAA;IACpC,wDAAwD;IACxD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE;YACR,QAAQ;YACR,aAAa;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;SACF;QACV,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE;YACpD,MAAM,iBAAiB,GAAG,mBAAmB;gBAC3C,yDAAyD;iBACxD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA;YAEpE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;gBACtC,UAAU,EAAE,UAAU,IAAI,iBAAiB;aAC5C,CAAC,CAAA;YACF,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;YACjC,OAAO,eAAe,CAAA;QACxB,CAAC;QACD,eAAe,EAAE,MAAO;QACxB,SAAS,EAAE,MAAO;KACnB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAiB,WAAW,CAC5C,CAAC,OAAgB,EAAE,SAAsC,IAAI,EAAE,EAAE;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;QAC3D,gBAAgB;QAChB,+DAA+D;QAC/D,IAAI;QACJ,OAAO,KAAK,CAAA;IACd,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAA;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,YAAY;QACZ,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export declare const useChain: (chainId?: number) => {
2
2
  chain: import("@lifi/sdk").ExtendedChain | undefined;
3
3
  isLoading: boolean;
4
+ getChainById: import("./useAvailableChains.js").GetChainById;
4
5
  };
@@ -6,6 +6,7 @@ export const useChain = (chainId) => {
6
6
  return {
7
7
  chain,
8
8
  isLoading,
9
+ getChainById,
9
10
  };
10
11
  };
11
12
  //# sourceMappingURL=useChain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChain.js","sourceRoot":"","sources":["../../../src/hooks/useChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAExD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3E,OAAO;QACL,KAAK;QACL,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useChain.js","sourceRoot":"","sources":["../../../src/hooks/useChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAExD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;IAE3E,OAAO;QACL,KAAK;QACL,SAAS;QACT,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
@@ -2,6 +2,6 @@ import type { ChainType } from '@lifi/sdk';
2
2
  import type { FormType } from '../stores/form/types.js';
3
3
  export declare const useChains: (type?: FormType, chainTypes?: ChainType[]) => {
4
4
  chains: import("@lifi/sdk").ExtendedChain[] | undefined;
5
- getChainById: (chainId?: number, chains?: import("@lifi/sdk").ExtendedChain[] | undefined) => import("@lifi/sdk").ExtendedChain | undefined;
5
+ getChainById: import("./useAvailableChains.js").GetChainById;
6
6
  isLoading: boolean;
7
7
  };
@@ -1,4 +1,4 @@
1
- import { type EVMChain, type RouteExtended, type Token } from '@lifi/sdk';
1
+ import type { EVMChain, RouteExtended, Token } from '@lifi/sdk';
2
2
  export interface GasSufficiency {
3
3
  gasAmount: bigint;
4
4
  tokenAmount?: bigint;
@@ -1,8 +1,7 @@
1
- import { ChainType, } from '@lifi/sdk';
2
1
  import { useAccount } from '@lifi/wallet-management';
3
2
  import { useQuery } from '@tanstack/react-query';
4
- import { useBytecode } from 'wagmi';
5
3
  import { useAvailableChains } from './useAvailableChains.js';
4
+ import { useIsContractAddress } from './useIsContractAddress.js';
6
5
  import { getTokenBalancesWithRetry } from './useTokenBalance.js';
7
6
  const refetchInterval = 30000;
8
7
  export const useGasSufficiency = (route) => {
@@ -10,16 +9,7 @@ export const useGasSufficiency = (route) => {
10
9
  const { account } = useAccount({
11
10
  chainType: getChainById(route?.fromChainId)?.chainType,
12
11
  });
13
- const { data: contractCode } = useBytecode({
14
- address: account.chainType === ChainType.EVM
15
- ? account.address
16
- : undefined,
17
- query: {
18
- refetchInterval: 300000,
19
- staleTime: 300000,
20
- },
21
- });
22
- const isContractAddress = !!contractCode;
12
+ const isContractAddress = useIsContractAddress(account.address, route?.fromChainId, account.chainType);
23
13
  const { data: insufficientGas, isLoading } = useQuery({
24
14
  queryKey: ['gas-sufficiency-check', account.address, route?.id],
25
15
  queryFn: async ({ queryKey: [, accountAddress] }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useGasSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useGasSufficiency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGasSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useGasSufficiency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ChainType } from '@lifi/sdk';
2
+ export declare const useIsContractAddress: (address?: string, chainId?: number, chainType?: ChainType) => boolean;
@@ -0,0 +1,16 @@
1
+ import { ChainType } from '@lifi/sdk';
2
+ import { useBytecode } from 'wagmi';
3
+ export const useIsContractAddress = (address, chainId, chainType) => {
4
+ const { data: contractCode } = useBytecode({
5
+ address: address,
6
+ chainId: chainId,
7
+ query: {
8
+ refetchInterval: 300000,
9
+ staleTime: 300000,
10
+ enabled: Boolean(chainType === ChainType.EVM && chainId),
11
+ },
12
+ });
13
+ const isContractAddress = !!contractCode;
14
+ return isContractAddress;
15
+ };
16
+ //# sourceMappingURL=useIsContractAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsContractAddress.js","sourceRoot":"","sources":["../../../src/hooks/useIsContractAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAgB,EAChB,OAAgB,EAChB,SAAqB,EACrB,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QACzC,OAAO,EAAE,OAAkB;QAC3B,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE;YACL,eAAe,EAAE,MAAO;YACxB,SAAS,EAAE,MAAO;YAClB,OAAO,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC;SACzD;KACF,CAAC,CAAA;IACF,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAA;IACxC,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { FormType } from '../stores/form/types.js';
2
+ export type UpdateToAddressArgs = {
3
+ formType: FormType;
4
+ selectedToAddress?: string;
5
+ selectedChainId?: number;
6
+ selectedOppositeTokenAddress?: string;
7
+ selectedOppositeChainId?: number;
8
+ };
9
+ /**
10
+ * Automatically populates toAddress field if bridging across ecosystems and compatible wallet is connected
11
+ */
12
+ export declare const useToAddressAutoPopulate: () => ({ formType, selectedToAddress, selectedChainId, selectedOppositeTokenAddress, selectedOppositeChainId, }: UpdateToAddressArgs) => string | undefined;
@@ -0,0 +1,68 @@
1
+ import { useAccount } from '@lifi/wallet-management';
2
+ import { useCallback } from 'react';
3
+ import { useBookmarkActions } from '../stores/bookmarks/useBookmarkActions.js';
4
+ import { useFieldActions } from '../stores/form/useFieldActions.js';
5
+ import { useSendToWalletActions } from '../stores/settings/useSendToWalletStore.js';
6
+ import { getChainTypeFromAddress } from '../utils/chainType.js';
7
+ import { useAvailableChains } from './useAvailableChains.js';
8
+ /**
9
+ * Automatically populates toAddress field if bridging across ecosystems and compatible wallet is connected
10
+ */
11
+ export const useToAddressAutoPopulate = () => {
12
+ const { setFieldValue } = useFieldActions();
13
+ const { setSendToWallet } = useSendToWalletActions();
14
+ const { setSelectedBookmark } = useBookmarkActions();
15
+ const { getChainById } = useAvailableChains();
16
+ const { accounts } = useAccount();
17
+ return useCallback(({ formType, selectedToAddress, selectedChainId, selectedOppositeTokenAddress, selectedOppositeChainId, }) => {
18
+ if (!selectedOppositeTokenAddress ||
19
+ !selectedOppositeChainId ||
20
+ !selectedChainId ||
21
+ !accounts?.length) {
22
+ return;
23
+ }
24
+ const selectedChain = getChainById?.(selectedChainId);
25
+ const selectedOppositeChain = getChainById?.(selectedOppositeChainId);
26
+ // Proceed if both chains are defined and of different ecosystem types (indicating cross-ecosystem bridging)
27
+ if (!selectedChain ||
28
+ !selectedOppositeChain ||
29
+ selectedChain.chainType === selectedOppositeChain.chainType) {
30
+ return;
31
+ }
32
+ // Identify the destination chain type based on the bridge direction ('from' or 'to')
33
+ const destinationChainType = formType === 'from'
34
+ ? selectedOppositeChain.chainType
35
+ : selectedChain.chainType;
36
+ // If toAddress is already selected, verify that it matches the destination chain type
37
+ if (selectedToAddress) {
38
+ const selectedToAddressChainType = getChainTypeFromAddress(selectedToAddress);
39
+ if (destinationChainType === selectedToAddressChainType) {
40
+ return;
41
+ }
42
+ }
43
+ // Find connected account compatible with the destination chain type
44
+ const destinationAccount = accounts?.find((account) => account.chainType === destinationChainType);
45
+ // If a compatible destination account is found, set toAddress as if selecting it from the "Send to Wallet" connected wallets page
46
+ if (destinationAccount?.address) {
47
+ setFieldValue('toAddress', destinationAccount.address, {
48
+ isDirty: false,
49
+ isTouched: true,
50
+ });
51
+ setSelectedBookmark({
52
+ name: destinationAccount.connector?.name,
53
+ address: destinationAccount.address,
54
+ chainType: destinationAccount.chainType,
55
+ isConnectedAccount: true,
56
+ });
57
+ setSendToWallet(true);
58
+ return destinationAccount.address;
59
+ }
60
+ }, [
61
+ accounts,
62
+ getChainById,
63
+ setFieldValue,
64
+ setSelectedBookmark,
65
+ setSendToWallet,
66
+ ]);
67
+ };
68
+ //# sourceMappingURL=useToAddressAutoPopulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToAddressAutoPopulate.js","sourceRoot":"","sources":["../../../src/hooks/useToAddressAutoPopulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAU5D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAA;IAC3C,MAAM,EAAE,eAAe,EAAE,GAAG,sBAAsB,EAAE,CAAA;IACpD,MAAM,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACpD,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;IAEjC,OAAO,WAAW,CAChB,CAAC,EACC,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,4BAA4B,EAC5B,uBAAuB,GACH,EAAE,EAAE;QACxB,IACE,CAAC,4BAA4B;YAC7B,CAAC,uBAAuB;YACxB,CAAC,eAAe;YAChB,CAAC,QAAQ,EAAE,MAAM,EACjB,CAAC;YACD,OAAM;QACR,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC,eAAe,CAAC,CAAA;QACrD,MAAM,qBAAqB,GAAG,YAAY,EAAE,CAAC,uBAAuB,CAAC,CAAA;QACrE,4GAA4G;QAC5G,IACE,CAAC,aAAa;YACd,CAAC,qBAAqB;YACtB,aAAa,CAAC,SAAS,KAAK,qBAAqB,CAAC,SAAS,EAC3D,CAAC;YACD,OAAM;QACR,CAAC;QACD,qFAAqF;QACrF,MAAM,oBAAoB,GACxB,QAAQ,KAAK,MAAM;YACjB,CAAC,CAAC,qBAAqB,CAAC,SAAS;YACjC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAA;QAC7B,sFAAsF;QACtF,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,0BAA0B,GAC9B,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;YAC5C,IAAI,oBAAoB,KAAK,0BAA0B,EAAE,CAAC;gBACxD,OAAM;YACR,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,MAAM,kBAAkB,GAAG,QAAQ,EAAE,IAAI,CACvC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,oBAAoB,CACxD,CAAA;QACD,kIAAkI;QAClI,IAAI,kBAAkB,EAAE,OAAO,EAAE,CAAC;YAChC,aAAa,CAAC,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE;gBACrD,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;YACF,mBAAmB,CAAC;gBAClB,IAAI,EAAE,kBAAkB,CAAC,SAAS,EAAE,IAAI;gBACxC,OAAO,EAAE,kBAAkB,CAAC,OAAO;gBACnC,SAAS,EAAE,kBAAkB,CAAC,SAAS;gBACvC,kBAAkB,EAAE,IAAI;aACzB,CAAC,CAAA;YACF,eAAe,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,kBAAkB,CAAC,OAAO,CAAA;QACnC,CAAC;IACH,CAAC,EACD;QACE,QAAQ;QACR,YAAY;QACZ,aAAa;QACb,mBAAmB;QACnB,eAAe;KAChB,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export declare const useToAddressRequirements: () => {
2
- requiredToAddress: boolean | undefined;
2
+ requiredToAddress: boolean;
3
3
  requiredToChainType: import("@lifi/sdk").ChainType | undefined;
4
4
  };
@@ -1,14 +1,22 @@
1
+ import { useAccount } from '@lifi/wallet-management';
1
2
  import { useChain } from '../hooks/useChain.js';
2
3
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
3
4
  import { useFieldValues } from '../stores/form/useFieldValues.js';
4
5
  import { RequiredUI } from '../types/widget.js';
6
+ import { useIsContractAddress } from './useIsContractAddress.js';
5
7
  export const useToAddressRequirements = () => {
6
8
  const { requiredUI } = useWidgetConfig();
7
9
  const [fromChainId, toChainId] = useFieldValues('fromChain', 'toChain');
8
10
  const { chain: fromChain } = useChain(fromChainId);
9
11
  const { chain: toChain } = useChain(toChainId);
12
+ const { account } = useAccount({
13
+ chainType: fromChain?.chainType,
14
+ });
15
+ const isFromContractAddress = useIsContractAddress(account.address, fromChainId, account.chainType);
10
16
  const isDifferentChainType = fromChain && toChain && fromChain.chainType !== toChain.chainType;
11
- const requiredToAddress = requiredUI?.includes(RequiredUI.ToAddress) || isDifferentChainType;
17
+ const requiredToAddress = requiredUI?.includes(RequiredUI.ToAddress) ||
18
+ isDifferentChainType ||
19
+ isFromContractAddress;
12
20
  return {
13
21
  requiredToAddress,
14
22
  requiredToChainType: toChain?.chainType,
@@ -1 +1 @@
1
- {"version":3,"file":"useToAddressRequirements.js","sourceRoot":"","sources":["../../../src/hooks/useToAddressRequirements.ts"],"names":[],"mappings":"AAAA,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;AAE/C,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;IAEvE,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;IAE9C,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,IAAI,oBAAoB,CAAA;IAEpE,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,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"}