@lifi/widget 3.8.1 → 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 (108) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/esm/components/Avatar/Avatar.style.js +3 -3
  3. package/dist/esm/components/Avatar/Avatar.style.js.map +1 -1
  4. package/dist/esm/components/Header/WalletHeader.js +9 -3
  5. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  6. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +16 -1
  7. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  8. package/dist/esm/components/TokenList/TokenList.js +6 -4
  9. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  10. package/dist/esm/components/TokenList/TokenListItem.js +1 -1
  11. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  12. package/dist/esm/components/TokenList/types.d.ts +2 -2
  13. package/dist/esm/components/TokenList/useTokenSelect.d.ts +4 -0
  14. package/dist/esm/components/TokenList/useTokenSelect.js +19 -10
  15. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
  16. package/dist/esm/config/version.d.ts +1 -1
  17. package/dist/esm/config/version.js +1 -1
  18. package/dist/esm/hooks/useAvailableChains.d.ts +2 -1
  19. package/dist/esm/hooks/useAvailableChains.js.map +1 -1
  20. package/dist/esm/hooks/useChain.d.ts +1 -0
  21. package/dist/esm/hooks/useChain.js +1 -0
  22. package/dist/esm/hooks/useChain.js.map +1 -1
  23. package/dist/esm/hooks/useChains.d.ts +1 -1
  24. package/dist/esm/hooks/useGasSufficiency.js +5 -5
  25. package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
  26. package/dist/esm/hooks/useIsContractAddress.d.ts +2 -0
  27. package/dist/esm/hooks/useIsContractAddress.js +16 -0
  28. package/dist/esm/hooks/useIsContractAddress.js.map +1 -0
  29. package/dist/esm/hooks/useToAddressAutoPopulate.d.ts +12 -0
  30. package/dist/esm/hooks/useToAddressAutoPopulate.js +68 -0
  31. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -0
  32. package/dist/esm/hooks/useToAddressRequirements.d.ts +1 -1
  33. package/dist/esm/hooks/useToAddressRequirements.js +9 -1
  34. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
  35. package/dist/esm/hooks/useToAddressReset.js +15 -8
  36. package/dist/esm/hooks/useToAddressReset.js.map +1 -1
  37. package/dist/esm/i18n/bn.json +8 -2
  38. package/dist/esm/i18n/de.json +8 -2
  39. package/dist/esm/i18n/es.json +8 -2
  40. package/dist/esm/i18n/fr.json +8 -2
  41. package/dist/esm/i18n/hi.json +8 -2
  42. package/dist/esm/i18n/id.json +8 -2
  43. package/dist/esm/i18n/it.json +8 -2
  44. package/dist/esm/i18n/ja.json +8 -2
  45. package/dist/esm/i18n/ko.json +8 -2
  46. package/dist/esm/i18n/pt.json +8 -2
  47. package/dist/esm/i18n/th.json +8 -2
  48. package/dist/esm/i18n/tr.json +8 -2
  49. package/dist/esm/i18n/uk.json +8 -2
  50. package/dist/esm/i18n/vi.json +8 -2
  51. package/dist/esm/i18n/zh.json +8 -2
  52. package/dist/esm/pages/SendToWallet/BookmarksPage.js +1 -0
  53. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  54. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +1 -0
  55. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  56. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +1 -0
  57. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  58. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +1 -0
  59. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  60. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +4 -1
  61. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  62. package/dist/esm/stores/form/createFormStore.js +1 -0
  63. package/dist/esm/stores/form/createFormStore.js.map +1 -1
  64. package/dist/esm/stores/form/types.d.ts +1 -0
  65. package/dist/esm/stores/form/types.js.map +1 -1
  66. package/dist/esm/stores/form/useFieldActions.d.ts +1 -0
  67. package/dist/esm/stores/form/useFieldActions.js +1 -0
  68. package/dist/esm/stores/form/useFieldActions.js.map +1 -1
  69. package/package.json +11 -11
  70. package/src/components/Avatar/Avatar.style.tsx +3 -3
  71. package/src/components/Header/WalletHeader.tsx +14 -5
  72. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +25 -6
  73. package/src/components/TokenList/TokenList.tsx +7 -4
  74. package/src/components/TokenList/TokenListItem.tsx +1 -1
  75. package/src/components/TokenList/types.ts +2 -2
  76. package/src/components/TokenList/useTokenSelect.ts +39 -16
  77. package/src/config/version.ts +1 -1
  78. package/src/hooks/useAvailableChains.ts +6 -1
  79. package/src/hooks/useChain.ts +1 -0
  80. package/src/hooks/useGasSufficiency.ts +11 -8
  81. package/src/hooks/useIsContractAddress.ts +21 -0
  82. package/src/hooks/useToAddressAutoPopulate.ts +95 -0
  83. package/src/hooks/useToAddressRequirements.ts +13 -2
  84. package/src/hooks/useToAddressReset.ts +15 -8
  85. package/src/i18n/bn.json +8 -2
  86. package/src/i18n/de.json +8 -2
  87. package/src/i18n/es.json +8 -2
  88. package/src/i18n/fr.json +8 -2
  89. package/src/i18n/hi.json +8 -2
  90. package/src/i18n/id.json +8 -2
  91. package/src/i18n/it.json +8 -2
  92. package/src/i18n/ja.json +8 -2
  93. package/src/i18n/ko.json +8 -2
  94. package/src/i18n/pt.json +8 -2
  95. package/src/i18n/th.json +8 -2
  96. package/src/i18n/tr.json +8 -2
  97. package/src/i18n/uk.json +8 -2
  98. package/src/i18n/vi.json +8 -2
  99. package/src/i18n/zh.json +8 -2
  100. package/src/pages/SendToWallet/BookmarksPage.tsx +1 -0
  101. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +1 -0
  102. package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +1 -0
  103. package/src/pages/SendToWallet/RecentWalletsPage.tsx +1 -0
  104. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +4 -1
  105. package/src/stores/form/createFormStore.ts +2 -0
  106. package/src/stores/form/types.ts +1 -0
  107. package/src/stores/form/useFieldActions.ts +1 -0
  108. package/src/stores/header/useHeaderStore.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
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
+
20
+ ### [3.8.2](https://github.com/lifinance/widget/compare/v3.8.1...v3.8.2) (2024-10-24)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * avoid gas check for smart contract wallets ([1bd956d](https://github.com/lifinance/widget/commit/1bd956d93d1bceb5c27b64e7ca2c8777d5b9ee7a))
26
+ * improve safe wallet connectivity ([df5ded3](https://github.com/lifinance/widget/commit/df5ded3e4f195ac96090509e3e54933a45232c97))
27
+ * replace first-child with first-of-type to avoid warning ([d098a7c](https://github.com/lifinance/widget/commit/d098a7cc78e3e9aacf1bf10c5652b0ef60e638ee))
28
+ * solana providers doesn't update accounts sometimes ([e911bea](https://github.com/lifinance/widget/commit/e911beaa43ceaf39a8d88e22f166db876174da10))
29
+
5
30
  ### [3.8.1](https://github.com/lifinance/widget/compare/v3.8.0...v3.8.1) (2024-10-21)
6
31
 
7
32
 
@@ -4,18 +4,18 @@ export const AvatarMasked = styled(MuiAvatar)(() => ({
4
4
  mask: avatarMask16,
5
5
  }));
6
6
  export const TokenAvatarGroup = styled(AvatarGroup)(({ theme }) => ({
7
- [`& .${badgeClasses.badge}:last-child .${avatarClasses.root}`]: {
7
+ [`& .${badgeClasses.badge}:last-of-type .${avatarClasses.root}`]: {
8
8
  boxSizing: 'border-box',
9
9
  },
10
10
  [`& .${avatarClasses.root}`]: {
11
11
  border: 'none',
12
12
  marginLeft: 0,
13
13
  },
14
- [`& .${badgeClasses.root}:first-child`]: {
14
+ [`& .${badgeClasses.root}:first-of-type`]: {
15
15
  marginLeft: theme.spacing(-1),
16
16
  border: 'none',
17
17
  },
18
- [`& .${badgeClasses.root}:last-child`]: {
18
+ [`& .${badgeClasses.root}:last-of-type`]: {
19
19
  border: 'none',
20
20
  },
21
21
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.style.js","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.style.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.style.js","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.style.tsx"],"names":[],"mappings":"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"}
@@ -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":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EACL,MAAM,EACN,GAAG,EACH,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG3D,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,OAAO,EACP,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,EAAE,EAAE;IACH,MAAM,WAAW,GAAsC,CAAC,CAAC,EAAE,EAAE;QAC3D,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC,CAAA;IACD,OAAO,CACL,MAAC,QAAQ,IACP,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,IAAI,IAAI;YACnB,SAAS,EAAE,cAAc,KAAK,KAAK;SACpC,aAEA,cAAc,EACf,KAAC,mBAAmB,IAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,WAAW,GACpB,EACD,YAAY,IACJ,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,EACtE,OAAO,EACP,KAAK,EACL,KAAK,EACL,cAAc,EACd,gBAAgB,GACjB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAA;IAC9B,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAA;IAExC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM;QAC7B,CAAC,CAAC,gBAAgB,CACd,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACzC,KAAK,CAAC,QAAQ,CACf;QACH,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,MAAM,EAAiC,CAAA;IACzD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAErD,MAAM,YAAY,GAChB,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;IAEtE,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,YAAY,EAAE,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAA;IACT,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,WAAW,EAAE,CAAC;YAChB,cAAc,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,MAAC,cAAc,IACb,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,mBAEL,KAAC,cAAc,cACb,KAAC,MAAM,IAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,YAC1C,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GACX,GACM,EACjB,KAAC,YAAY,IACX,OAAO,EAAE,KAAK,CAAC,MAAM,EACrB,wBAAwB,EAAE;oBACxB,SAAS,EAAE,KAAK;iBACjB,EACD,SAAS,EACP,MAAC,GAAG,IAAC,QAAQ,EAAC,UAAU,EAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,aACjD,KAAC,KAAK,IACJ,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,CAAC,WAAW,EAChB,SAAS,EAAE,SAAS,CAAC,OAAO,EAC5B,KAAK,EAAE;gCACL,QAAQ,EAAE,UAAU;6BACrB,EACD,MAAM,EAAE,KAAK,YAEb,KAAC,GAAG,IAAC,EAAE,EAAE,IAAI,YAAG,KAAK,CAAC,IAAI,GAAO,GAC3B,EACR,KAAC,KAAK,IACJ,SAAS,EAAC,IAAI,EACd,EAAE,EAAE,WAAW,EACf,SAAS,EAAE,SAAS,CAAC,OAAO,EAC5B,KAAK,EAAE;gCACL,QAAQ,EAAE,UAAU;6BACrB,EACD,MAAM,EAAE,KAAK,EACb,YAAY,kBAEZ,MAAC,GAAG,IAAC,OAAO,EAAC,MAAM,aACjB,KAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,EAAE,EAAE,KAAK,YAC9C,cAAc,CAAC,YAAY,CAAC,GACzB,EACN,KAAC,UAAU,IACT,IAAI,EAAC,OAAO,EACZ,aAAa,EAAE,IAAI,EACnB,IAAI,EAAE,cAAc,CAAC,YAAa,EAAE,KAAK,CAAC,EAC1C,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YAEnC,KAAC,gBAAgB,KAAG,GACT,IACT,GACA,IACJ,GAER,EACD,cAAc,CAAC,CAAC,CAAC,CAChB,gBAAgB,CAAC,CAAC,CAAC,CACjB,KAAC,mBAAmB,KAAG,CACxB,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAC5B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IAAC,UAAU,EAAE,GAAG,EAAE,MAAM,kBAChC,CAAC,CAAC,eAAe,EAAE;4BAClB,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;yBACvD,CAAC,GACS,CACd,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,UAAU,IACT,UAAU,EAAE,GAAG,EACf,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAC,gBAAgB,gBACV,KAAK,CAAC,QAAQ,YAEzB,CAAC,CAAC,iBAAiB,EAAE;4BACpB,KAAK,EAAE,UAAU;yBAClB,CAAC,GACS,CACd,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CACF,CAAC,CAAC,CAAC,IAAI,IACO,CAClB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,OAAO,CACL,MAAC,QAAQ,IACP,eAAe,EAAE,KAAC,mBAAmB,KAAG,EACxC,cAAc,QACd,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAExE,KAAC,cAAc,cACb,KAAC,QAAQ,IACP,OAAO,EAAC,UAAU,EAClB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,GACvC,GACa,EACjB,KAAC,YAAY,IACX,OAAO,EAAE,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,EAC3D,SAAS,EAAE,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAC7D,IACO,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAa,GAAG,EAAE;IAChD,OAAO,CACL,MAAC,GAAG,IACF,EAAE,EAAE;YACF,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,UAAU;SACvB,aAED,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,EAClD,KAAC,QAAQ,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,IAC9C,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,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;AAGnD,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,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,yBAAyB,EAAE,CAAA;IAEnD,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,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAAG,cAAc,CACrE,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAC3C,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAC5C,CAAA;QACD,yDAAyD;QACzD,IACE,qBAAqB,KAAK,YAAY;YACtC,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,mHAAmH;QACnH,iHAAiH;QACjH,IACE,QAAQ,KAAK,MAAM;YACnB,CAAC,qBAAqB;YACtB,eAAe;YACf,eAAe,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAClE,CAAC;YACD,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE;gBAC9D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;QAED,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,eAAe;QACf,UAAU;QACV,OAAO;QACP,QAAQ;QACR,cAAc;QACd,QAAQ;QACR,OAAO;QACP,aAAa;QACb,UAAU;KACX,CACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.8.1";
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.1';
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,6 +1,7 @@
1
1
  import { useAccount } from '@lifi/wallet-management';
2
2
  import { useQuery } from '@tanstack/react-query';
3
3
  import { useAvailableChains } from './useAvailableChains.js';
4
+ import { useIsContractAddress } from './useIsContractAddress.js';
4
5
  import { getTokenBalancesWithRetry } from './useTokenBalance.js';
5
6
  const refetchInterval = 30000;
6
7
  export const useGasSufficiency = (route) => {
@@ -8,6 +9,7 @@ export const useGasSufficiency = (route) => {
8
9
  const { account } = useAccount({
9
10
  chainType: getChainById(route?.fromChainId)?.chainType,
10
11
  });
12
+ const isContractAddress = useIsContractAddress(account.address, route?.fromChainId, account.chainType);
11
13
  const { data: insufficientGas, isLoading } = useQuery({
12
14
  queryKey: ['gas-sufficiency-check', account.address, route?.id],
13
15
  queryFn: async ({ queryKey: [, accountAddress] }) => {
@@ -23,9 +25,7 @@ export const useGasSufficiency = (route) => {
23
25
  .reduce((groupedGasCosts, step) => {
24
26
  // We need to avoid destination chain step sufficiency check if we have LI.Fuel protocol sub-step
25
27
  const skipDueToRefuel = step.action.fromChainId === route.toChainId && hasRefuelStep;
26
- if (step.estimate.gasCosts &&
27
- account.connector?.id !== 'safe' &&
28
- !skipDueToRefuel) {
28
+ if (step.estimate.gasCosts && !skipDueToRefuel) {
29
29
  const { token } = step.estimate.gasCosts[0];
30
30
  const gasCostAmount = step.estimate.gasCosts.reduce((amount, gasCost) => amount + BigInt(Number(gasCost.amount).toFixed(0)), 0n);
31
31
  groupedGasCosts[token.chainId] = {
@@ -57,7 +57,7 @@ export const useGasSufficiency = (route) => {
57
57
  }
58
58
  const tokenBalances = await getTokenBalancesWithRetry(accountAddress, Object.values(gasCosts).map((item) => item.token));
59
59
  if (!tokenBalances?.length) {
60
- return [];
60
+ return;
61
61
  }
62
62
  ;
63
63
  [route.fromChainId, route.toChainId].forEach((chainId) => {
@@ -83,7 +83,7 @@ export const useGasSufficiency = (route) => {
83
83
  const gasCostResult = Object.values(gasCosts).filter((gasCost) => gasCost.insufficient);
84
84
  return gasCostResult;
85
85
  },
86
- enabled: Boolean(account.address && route),
86
+ enabled: Boolean(!isContractAddress && account.address && route),
87
87
  refetchInterval,
88
88
  staleTime: refetchInterval,
89
89
  });
@@ -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