@lifi/widget 3.21.3 → 3.22.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 (135) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/AppProvider.js +2 -3
  3. package/dist/esm/AppProvider.js.map +1 -1
  4. package/dist/esm/components/AppContainer.js +23 -22
  5. package/dist/esm/components/AppContainer.js.map +1 -1
  6. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +12 -7
  7. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  8. package/dist/esm/components/BaseTransactionButton/types.d.ts +2 -0
  9. package/dist/esm/components/ChainSelect/ChainSelect.js +3 -1
  10. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  11. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +3 -1
  12. package/dist/esm/components/ChainSelect/ChainSelect.style.js +23 -9
  13. package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -1
  14. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.d.ts +8 -0
  15. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js +20 -0
  16. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js.map +1 -0
  17. package/dist/esm/components/Messages/WarningMessages.js +3 -0
  18. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  19. package/dist/esm/components/Messages/useMessageQueue.js +15 -4
  20. package/dist/esm/components/Messages/useMessageQueue.js.map +1 -1
  21. package/dist/esm/components/RouteCard/RouteCard.js +3 -3
  22. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  23. package/dist/esm/components/TokenList/TokenListItem.js +2 -2
  24. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  25. package/dist/esm/config/version.d.ts +1 -1
  26. package/dist/esm/config/version.js +1 -1
  27. package/dist/esm/hooks/useAvailableChains.js +3 -2
  28. package/dist/esm/hooks/useAvailableChains.js.map +1 -1
  29. package/dist/esm/hooks/useExplorer.d.ts +0 -1
  30. package/dist/esm/hooks/useExplorer.js +26 -31
  31. package/dist/esm/hooks/useExplorer.js.map +1 -1
  32. package/dist/esm/hooks/useFromTokenSufficiency.js +4 -1
  33. package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -1
  34. package/dist/esm/hooks/useGasRecommendation.js +9 -1
  35. package/dist/esm/hooks/useGasRecommendation.js.map +1 -1
  36. package/dist/esm/hooks/useGasSufficiency.js +50 -16
  37. package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
  38. package/dist/esm/hooks/useIsBatchingSupported.js +8 -1
  39. package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -1
  40. package/dist/esm/hooks/useIsContractAddress.js +1 -1
  41. package/dist/esm/hooks/useIsContractAddress.js.map +1 -1
  42. package/dist/esm/hooks/useRouteExecution.js +10 -4
  43. package/dist/esm/hooks/useRouteExecution.js.map +1 -1
  44. package/dist/esm/hooks/useRouteRequiredAccountConnection.d.ts +10 -0
  45. package/dist/esm/hooks/useRouteRequiredAccountConnection.js +45 -0
  46. package/dist/esm/hooks/useRouteRequiredAccountConnection.js.map +1 -0
  47. package/dist/esm/hooks/useRoutes.d.ts +1 -1
  48. package/dist/esm/hooks/useRoutes.js +13 -4
  49. package/dist/esm/hooks/useRoutes.js.map +1 -1
  50. package/dist/esm/hooks/useToAddressRequirements.d.ts +1 -1
  51. package/dist/esm/hooks/useToAddressRequirements.js +6 -5
  52. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
  53. package/dist/esm/hooks/useTokenBalance.js +12 -3
  54. package/dist/esm/hooks/useTokenBalance.js.map +1 -1
  55. package/dist/esm/hooks/useTokenBalances.js +4 -1
  56. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  57. package/dist/esm/hooks/useTokenSearch.js +5 -2
  58. package/dist/esm/hooks/useTokenSearch.js.map +1 -1
  59. package/dist/esm/hooks/useTokens.js +3 -2
  60. package/dist/esm/hooks/useTokens.js.map +1 -1
  61. package/dist/esm/hooks/useTools.js +3 -2
  62. package/dist/esm/hooks/useTools.js.map +1 -1
  63. package/dist/esm/hooks/useTransactionDetails.js +9 -4
  64. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  65. package/dist/esm/hooks/useTransactionHistory.js +7 -1
  66. package/dist/esm/hooks/useTransactionHistory.js.map +1 -1
  67. package/dist/esm/i18n/en.json +6 -4
  68. package/dist/esm/pages/MainPage/ReviewButton.js +1 -1
  69. package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -1
  70. package/dist/esm/pages/TransactionPage/StartTransactionButton.js +1 -1
  71. package/dist/esm/pages/TransactionPage/StartTransactionButton.js.map +1 -1
  72. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +26 -43
  73. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  74. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.d.ts +0 -1
  75. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.js +4 -11
  76. package/dist/esm/pages/TransactionPage/StatusBottomSheet.style.js.map +1 -1
  77. package/dist/esm/providers/QueryClientProvider.d.ts +2 -0
  78. package/dist/esm/providers/QueryClientProvider.js +9 -0
  79. package/dist/esm/providers/QueryClientProvider.js.map +1 -0
  80. package/dist/esm/providers/WalletProvider/SuiBaseProvider.js +3 -8
  81. package/dist/esm/providers/WalletProvider/SuiBaseProvider.js.map +1 -1
  82. package/dist/esm/stores/form/FormStore.js +5 -12
  83. package/dist/esm/stores/form/FormStore.js.map +1 -1
  84. package/dist/esm/stores/form/useFormRef.js +1 -7
  85. package/dist/esm/stores/form/useFormRef.js.map +1 -1
  86. package/dist/esm/types/widget.d.ts +6 -1
  87. package/dist/esm/utils/queries.d.ts +1 -0
  88. package/dist/esm/utils/queries.js +2 -0
  89. package/dist/esm/utils/queries.js.map +1 -0
  90. package/dist/esm/utils/timer.js +8 -1
  91. package/dist/esm/utils/timer.js.map +1 -1
  92. package/package.json +11 -11
  93. package/package.json.tmp +10 -10
  94. package/src/AppProvider.tsx +2 -3
  95. package/src/components/AppContainer.tsx +24 -23
  96. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +15 -6
  97. package/src/components/BaseTransactionButton/types.ts +3 -0
  98. package/src/components/ChainSelect/ChainSelect.style.tsx +25 -9
  99. package/src/components/ChainSelect/ChainSelect.tsx +4 -1
  100. package/src/components/Messages/MissingRouteRequiredAccountMessage.tsx +44 -0
  101. package/src/components/Messages/WarningMessages.tsx +9 -0
  102. package/src/components/Messages/useMessageQueue.ts +17 -4
  103. package/src/components/RouteCard/RouteCard.tsx +3 -3
  104. package/src/components/TokenList/TokenListItem.tsx +2 -2
  105. package/src/config/version.ts +1 -1
  106. package/src/hooks/useAvailableChains.ts +4 -2
  107. package/src/hooks/useExplorer.ts +35 -36
  108. package/src/hooks/useFromTokenSufficiency.ts +4 -1
  109. package/src/hooks/useGasRecommendation.ts +9 -1
  110. package/src/hooks/useGasSufficiency.ts +76 -22
  111. package/src/hooks/useIsBatchingSupported.ts +9 -1
  112. package/src/hooks/useIsContractAddress.ts +1 -1
  113. package/src/hooks/useRouteExecution.ts +10 -4
  114. package/src/hooks/useRouteRequiredAccountConnection.ts +58 -0
  115. package/src/hooks/useRoutes.ts +13 -7
  116. package/src/hooks/useToAddressRequirements.ts +6 -5
  117. package/src/hooks/useTokenBalance.ts +12 -3
  118. package/src/hooks/useTokenBalances.ts +4 -1
  119. package/src/hooks/useTokenSearch.ts +5 -2
  120. package/src/hooks/useTokens.ts +3 -2
  121. package/src/hooks/useTools.ts +3 -2
  122. package/src/hooks/useTransactionDetails.ts +13 -4
  123. package/src/hooks/useTransactionHistory.ts +7 -1
  124. package/src/i18n/en.json +6 -4
  125. package/src/pages/MainPage/ReviewButton.tsx +1 -0
  126. package/src/pages/TransactionPage/StartTransactionButton.tsx +1 -0
  127. package/src/pages/TransactionPage/StatusBottomSheet.style.tsx +4 -12
  128. package/src/pages/TransactionPage/StatusBottomSheet.tsx +47 -77
  129. package/src/providers/QueryClientProvider.tsx +20 -0
  130. package/src/providers/WalletProvider/SuiBaseProvider.tsx +3 -9
  131. package/src/stores/form/FormStore.tsx +4 -15
  132. package/src/stores/form/useFormRef.ts +1 -8
  133. package/src/types/widget.ts +10 -2
  134. package/src/utils/queries.ts +2 -0
  135. package/src/utils/timer.ts +8 -1
@@ -6,48 +6,43 @@ const sanitiseBaseUrl = (baseUrl) => baseUrl.trim().replace(/\/+$/, '');
6
6
  export const useExplorer = () => {
7
7
  const { explorerUrls } = useWidgetConfig();
8
8
  const { getChainById } = useAvailableChains();
9
- const getBaseUrl = (chain) => {
10
- const baseUrl = explorerUrls?.[chain.id]
11
- ? explorerUrls[chain.id][0]
12
- : chain.metamask.blockExplorerUrls[0];
13
- return sanitiseBaseUrl(baseUrl);
9
+ const getExplorerConfig = (chain) => {
10
+ const resolvedChain = Number.isFinite(chain)
11
+ ? getChainById(chain)
12
+ : chain;
13
+ const explorerUrl = (resolvedChain
14
+ ? (explorerUrls?.[resolvedChain.id]?.[0] ??
15
+ resolvedChain.metamask.blockExplorerUrls[0])
16
+ : explorerUrls?.internal?.[0]) || lifiExplorerUrl;
17
+ const url = typeof explorerUrl === 'string' ? explorerUrl : explorerUrl.url;
18
+ const defaultTxPath = resolvedChain?.id === ChainId.SUI ? 'txblock' : 'tx';
19
+ const defaultAddressPath = resolvedChain?.id === ChainId.SUI ? 'coin' : 'address';
20
+ const txPath = typeof explorerUrl === 'string'
21
+ ? defaultTxPath
22
+ : explorerUrl.txPath || defaultTxPath;
23
+ const addressPath = typeof explorerUrl === 'string'
24
+ ? defaultAddressPath
25
+ : explorerUrl.addressPath || defaultAddressPath;
26
+ return {
27
+ url: sanitiseBaseUrl(url),
28
+ txPath,
29
+ addressPath,
30
+ };
14
31
  };
15
- const resolveChain = (chain) => Number.isFinite(chain) ? getChainById(chain) : chain;
16
32
  const getTransactionLink = ({ txHash, txLink, chain, }) => {
17
33
  if (!txHash && txLink) {
18
34
  return txLink;
19
35
  }
20
- if (!chain) {
21
- const baseUrl = explorerUrls?.internal?.[0]
22
- ? sanitiseBaseUrl(explorerUrls?.internal[0])
23
- : lifiExplorerUrl;
24
- return `${baseUrl}/tx/${txHash}`;
25
- }
26
- const resolvedChain = resolveChain(chain);
27
- const txPathSegment = resolvedChain?.id === ChainId.SUI ? 'txblock' : 'tx';
28
- return `${resolvedChain ? getBaseUrl(resolvedChain) : lifiExplorerUrl}/${txPathSegment}/${txHash}`;
36
+ const config = getExplorerConfig(chain);
37
+ return `${config.url}/${config.txPath}/${txHash}`;
29
38
  };
30
39
  const getAddressLink = (address, chain) => {
31
- if (!chain) {
32
- const baseUrl = explorerUrls?.internal?.[0]
33
- ? sanitiseBaseUrl(explorerUrls?.internal[0])
34
- : lifiExplorerUrl;
35
- return `${baseUrl}/address/${address}`;
36
- }
37
- const resolvedChain = resolveChain(chain);
38
- return `${resolvedChain ? getBaseUrl(resolvedChain) : lifiExplorerUrl}/address/${address}`;
39
- };
40
- const getTokenAddressLink = (address, chain) => {
41
- const link = getAddressLink(address, chain);
42
- if (chain === ChainId.SUI || chain?.id === ChainId.SUI) {
43
- return link.replace('address', 'coin');
44
- }
45
- return link;
40
+ const config = getExplorerConfig(chain);
41
+ return `${config.url}/${config.addressPath}/${address}`;
46
42
  };
47
43
  return {
48
44
  getTransactionLink,
49
45
  getAddressLink,
50
- getTokenAddressLink,
51
46
  };
52
47
  };
53
48
  //# sourceMappingURL=useExplorer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExplorer.js","sourceRoot":"","sources":["../../../src/hooks/useExplorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useExplorer.js","sourceRoot":"","sources":["../../../src/hooks/useExplorer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAE/E,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAa/E,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAE7C,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,EAAE;QACnD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,YAAY,CAAC,KAAe,CAAC;YAC/B,CAAC,CAAE,KAAe,CAAA;QAEpB,MAAM,WAAW,GACf,CAAC,aAAa;YACZ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAA;QAErD,MAAM,GAAG,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAA;QAE3E,MAAM,aAAa,GAAG,aAAa,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,MAAM,kBAAkB,GACtB,aAAa,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;QACxD,MAAM,MAAM,GACV,OAAO,WAAW,KAAK,QAAQ;YAC7B,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,aAAa,CAAA;QACzC,MAAM,WAAW,GACf,OAAO,WAAW,KAAK,QAAQ;YAC7B,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,WAAW,CAAC,WAAW,IAAI,kBAAkB,CAAA;QAEnD,OAAO;YACL,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC;YACzB,MAAM;YACN,WAAW;SACZ,CAAA;IACH,CAAC,CAAA;IAED,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,KAAK,GACgB,EAAE,EAAE;QACzB,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACvC,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAA;IACnD,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,KAAsB,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACvC,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,EAAE,CAAA;IACzD,CAAC,CAAA;IAED,OAAO;QACL,kBAAkB;QAClB,cAAc;KACf,CAAA;AACH,CAAC,CAAA"}
@@ -1,13 +1,16 @@
1
1
  import { useAccount } from '@lifi/wallet-management';
2
2
  import { keepPreviousData, useQuery } from '@tanstack/react-query';
3
3
  import { parseUnits } from 'viem';
4
+ import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
4
5
  import { useFieldValues } from '../stores/form/useFieldValues.js';
5
6
  import { isRouteDone } from '../stores/routes/utils.js';
7
+ import { getQueryKey } from '../utils/queries.js';
6
8
  import { useTokenAddressBalance } from './useTokenAddressBalance.js';
7
9
  import { getTokenBalancesWithRetry } from './useTokenBalance.js';
8
10
  const refetchInterval = 30000;
9
11
  export const useFromTokenSufficiency = (route) => {
10
12
  const [fromChainId, fromTokenAddress, fromAmount] = useFieldValues('fromChain', 'fromToken', 'fromAmount');
13
+ const { keyPrefix } = useWidgetConfig();
11
14
  let chainId = fromChainId;
12
15
  let tokenAddress = fromTokenAddress;
13
16
  if (route) {
@@ -18,7 +21,7 @@ export const useFromTokenSufficiency = (route) => {
18
21
  const { account } = useAccount({ chainType: chain?.chainType });
19
22
  const { data: insufficientFromToken, isLoading } = useQuery({
20
23
  queryKey: [
21
- 'from-token-sufficiency-check',
24
+ getQueryKey('from-token-sufficiency-check', keyPrefix),
22
25
  account.address,
23
26
  chainId,
24
27
  tokenAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"useFromTokenSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useFromTokenSufficiency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFromTokenSufficiency.js","sourceRoot":"","sources":["../../../src/hooks/useFromTokenSufficiency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/D,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC,GAAG,cAAc,CAChE,WAAW,EACX,WAAW,EACX,YAAY,CACb,CAAA;IACD,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAEvC,IAAI,OAAO,GAAG,WAAW,CAAA;IACzB,IAAI,YAAY,GAAG,gBAAgB,CAAA;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAA;QACjC,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAA;IACxC,CAAC;IAED,MAAM,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EAAE,4BAA4B,GACxC,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAEjD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAE/D,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC1D,QAAQ,EAAE;YACR,WAAW,CAAC,8BAA8B,EAAE,SAAS,CAAC;YACtD,OAAO,CAAC,OAAO;YACf,OAAO;YACP,YAAY;YACZ,KAAK,EAAE,EAAE,IAAI,UAAU;SACf;QACV,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE;YAClD,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAM;YACR,CAAC;YACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/D,IAAI,mBAAmB,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;YAE5C,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,gBAAgB,CAAA;gBAChE,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,MAAM,CAC9D,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;YAEZ,IACE,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO;gBACjD,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,SAAS,CAAC,OAAO;gBACjD,mBAAmB,GAAG,CAAC,EACvB,CAAC;gBACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAA;gBACxE,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC,cAAc,EAAE;gBACpE,aAAa,CAAC,SAAS;aACxB,CAAC,CAAA;YAEF,mBAAmB,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;YACtD,MAAM,iBAAiB,GACrB,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,mBAAmB,CAAA;YACxD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,4BAA4B,CAAC;QAC3E,eAAe;QACf,SAAS,EAAE,eAAe;QAC1B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;KAChE,CAAC,CAAA;IAEF,OAAO;QACL,qBAAqB;QACrB,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
@@ -1,16 +1,24 @@
1
1
  import { getGasRecommendation } from '@lifi/sdk';
2
2
  import { useQuery } from '@tanstack/react-query';
3
+ import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
4
+ import { getQueryKey } from '../utils/queries.js';
3
5
  import { useAvailableChains } from './useAvailableChains.js';
4
6
  const refetchInterval = 60000;
5
7
  export const useGasRecommendation = (toChainId, fromChain, fromToken) => {
6
8
  const { chains } = useAvailableChains();
9
+ const { keyPrefix } = useWidgetConfig();
7
10
  const checkRecommendationLiFuel = Boolean(toChainId) &&
8
11
  Boolean(fromChain) &&
9
12
  Boolean(fromToken) &&
10
13
  Boolean(chains?.length);
11
14
  const checkRecommendationMaxButton = Boolean(toChainId) && !fromChain && !fromToken && Boolean(chains?.length);
12
15
  return useQuery({
13
- queryKey: ['gas-recommendation', toChainId, fromChain, fromToken],
16
+ queryKey: [
17
+ getQueryKey('gas-recommendation', keyPrefix),
18
+ toChainId,
19
+ fromChain,
20
+ fromToken,
21
+ ],
14
22
  queryFn: async ({ queryKey: [_, toChainId, fromChain, fromToken], signal, }) => {
15
23
  if (!chains?.some((chain) => chain.id === toChainId)) {
16
24
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"useGasRecommendation.js","sourceRoot":"","sources":["../../../src/hooks/useGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAmB,EACnB,SAAmB,EACnB,SAAkB,EAClB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;IAEvC,MAAM,yBAAyB,GAC7B,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEzB,MAAM,4BAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3E,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,CAAC,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC9C,MAAM,GACP,EAAE,EAAE;YACH,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAClD;gBACE,OAAO,EAAE,SAAoB;gBAC7B,SAAS,EAAE,SAAoB;gBAC/B,SAAS,EAAE,SAAmB;aAC/B,EACD,EAAE,MAAM,EAAE,CACX,CAAA;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QACD,OAAO,EAAE,yBAAyB,IAAI,4BAA4B;QAClE,eAAe;QACf,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"useGasRecommendation.js","sourceRoot":"","sources":["../../../src/hooks/useGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,MAAM,eAAe,GAAG,KAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAmB,EACnB,SAAmB,EACnB,SAAkB,EAClB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAEvC,MAAM,yBAAyB,GAC7B,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEzB,MAAM,4BAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3E,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE;YACR,WAAW,CAAC,oBAAoB,EAAE,SAAS,CAAC;YAC5C,SAAS;YACT,SAAS;YACT,SAAS;SACV;QACD,OAAO,EAAE,KAAK,EAAE,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAC9C,MAAM,GACP,EAAE,EAAE;YACH,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAClD;gBACE,OAAO,EAAE,SAAoB;gBAC7B,SAAS,EAAE,SAAoB;gBAC/B,SAAS,EAAE,SAAmB;aAC/B,EACD,EAAE,MAAM,EAAE,CACX,CAAA;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QACD,OAAO,EAAE,yBAAyB,IAAI,4BAA4B;QAClE,eAAe;QACf,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,37 +1,61 @@
1
- import { isRelayerStep } from '@lifi/sdk';
1
+ import { ChainType, isRelayerStep } from '@lifi/sdk';
2
2
  import { useAccount } from '@lifi/wallet-management';
3
3
  import { useQuery } from '@tanstack/react-query';
4
+ import { useMemo } from 'react';
5
+ import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
6
+ import { getQueryKey } from '../utils/queries.js';
4
7
  import { useAvailableChains } from './useAvailableChains.js';
5
8
  import { useIsContractAddress } from './useIsContractAddress.js';
6
9
  import { getTokenBalancesWithRetry } from './useTokenBalance.js';
7
10
  const refetchInterval = 30000;
8
11
  export const useGasSufficiency = (route) => {
9
12
  const { getChainById } = useAvailableChains();
10
- const { account } = useAccount({
11
- chainType: getChainById(route?.fromChainId)?.chainType,
13
+ const { account: EVMAccount, accounts } = useAccount({
14
+ chainType: ChainType.EVM,
12
15
  });
13
- const { isContractAddress, isLoading: isContractAddressLoading } = useIsContractAddress(account.address, route?.fromChainId, account.chainType);
16
+ const { keyPrefix } = useWidgetConfig();
17
+ const { relevantAccounts, relevantAccountsQueryKey } = useMemo(() => {
18
+ const chainTypes = route?.steps.reduce((acc, step) => {
19
+ const chainType = getChainById(step.action.fromChainId)?.chainType;
20
+ if (chainType) {
21
+ acc.add(chainType);
22
+ }
23
+ return acc;
24
+ }, new Set());
25
+ const relevantAccounts = accounts.filter((account) => account.isConnected &&
26
+ account.address &&
27
+ chainTypes?.has(account.chainType));
28
+ return {
29
+ relevantAccounts,
30
+ relevantAccountsQueryKey: relevantAccounts
31
+ .map((account) => account.address)
32
+ .join(','),
33
+ };
34
+ }, [accounts, route?.steps, getChainById]);
35
+ const { isContractAddress, isLoading: isContractAddressLoading } = useIsContractAddress(EVMAccount.address, route?.fromChainId, EVMAccount.chainType);
14
36
  const { data: insufficientGas, isLoading } = useQuery({
15
37
  queryKey: [
16
- 'gas-sufficiency-check',
17
- account.address,
38
+ getQueryKey('gas-sufficiency-check', keyPrefix),
39
+ relevantAccountsQueryKey,
18
40
  route?.id,
19
41
  isContractAddress,
20
42
  ],
21
- queryFn: async ({ queryKey: [, accountAddress] }) => {
43
+ queryFn: async () => {
22
44
  if (!route) {
23
45
  return;
24
46
  }
25
- // If we have a relayer step with a permit (EIP-2612) for the from token, we don't need to check for gas sufficiency
26
- if (isRelayerStep(route.steps[0]) &&
27
- route.steps[0].typedData.some((t) => t.primaryType === 'Permit')) {
47
+ // Filter out steps that are relayer steps or have primaryType 'Permit' or 'Order'
48
+ const filteredSteps = route.steps.filter((step) => !isRelayerStep(step) &&
49
+ !step.typedData?.some((t) => t.primaryType === 'Permit' || t.primaryType === 'Order'));
50
+ // If all steps are filtered out, we don't need to check for gas sufficiency
51
+ if (!filteredSteps.length) {
28
52
  return;
29
53
  }
30
54
  // We assume that LI.Fuel protocol always refuels the destination chain
31
55
  const hasRefuelStep = route.steps
32
56
  .flatMap((step) => step.includedSteps)
33
57
  .some((includedStep) => includedStep.tool === 'gasZip');
34
- const gasCosts = route.steps
58
+ const gasCosts = filteredSteps
35
59
  .filter((step) => !step.execution || step.execution.status !== 'DONE')
36
60
  .reduce((groupedGasCosts, step) => {
37
61
  // We need to avoid destination chain step sufficiency check if we have LI.Fuel protocol sub-step
@@ -44,6 +68,7 @@ export const useGasSufficiency = (route) => {
44
68
  ? groupedGasCosts[token.chainId].gasAmount + gasCostAmount
45
69
  : gasCostAmount,
46
70
  token,
71
+ chain: getChainById(token.chainId),
47
72
  };
48
73
  }
49
74
  // Add fees paid in native tokens to gas sufficiency check (included: false)
@@ -56,6 +81,7 @@ export const useGasSufficiency = (route) => {
56
81
  ? groupedGasCosts[token.chainId].gasAmount + feeCostAmount
57
82
  : feeCostAmount,
58
83
  token,
84
+ chain: getChainById(token.chainId),
59
85
  };
60
86
  }
61
87
  return groupedGasCosts;
@@ -66,12 +92,20 @@ export const useGasSufficiency = (route) => {
66
92
  gasCosts[route.fromChainId].tokenAmount =
67
93
  gasCosts[route.fromChainId]?.gasAmount + BigInt(route.fromAmount);
68
94
  }
69
- const tokenBalances = await getTokenBalancesWithRetry(accountAddress, Object.values(gasCosts).map((item) => item.token));
95
+ const gasCostsValues = Object.values(gasCosts);
96
+ const balanceChecks = await Promise.allSettled(relevantAccounts.map((account) => {
97
+ const relevantTokens = gasCostsValues
98
+ .filter((gasCost) => gasCost.chain?.chainType === account.chainType)
99
+ .map((item) => item.token);
100
+ return getTokenBalancesWithRetry(account.address, relevantTokens);
101
+ }));
102
+ const tokenBalances = balanceChecks
103
+ .filter((result) => result.status === 'fulfilled' && Boolean(result.value))
104
+ .flatMap((result) => result.value);
70
105
  if (!tokenBalances?.length) {
71
106
  return;
72
107
  }
73
- ;
74
- [route.fromChainId, route.toChainId].forEach((chainId) => {
108
+ Object.keys(gasCosts).forEach((chainId) => {
75
109
  if (gasCosts[chainId]) {
76
110
  const gasTokenBalance = tokenBalances?.find((t) => t.chainId === gasCosts[chainId].token.chainId &&
77
111
  t.address === gasCosts[chainId].token.address)?.amount ?? 0n;
@@ -87,7 +121,7 @@ export const useGasSufficiency = (route) => {
87
121
  ...gasCosts[chainId],
88
122
  insufficient,
89
123
  insufficientAmount,
90
- chain: insufficient ? getChainById(chainId) : undefined,
124
+ chain: insufficient ? getChainById(Number(chainId)) : undefined,
91
125
  };
92
126
  }
93
127
  });
@@ -96,7 +130,7 @@ export const useGasSufficiency = (route) => {
96
130
  },
97
131
  enabled: Boolean(!isContractAddress &&
98
132
  !isContractAddressLoading &&
99
- account.address &&
133
+ relevantAccounts.length > 0 &&
100
134
  route),
101
135
  refetchInterval,
102
136
  staleTime: refetchInterval,
@@ -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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"}
@@ -1,9 +1,16 @@
1
1
  import { ChainType, isBatchingSupported } from '@lifi/sdk';
2
2
  import { useQuery } from '@tanstack/react-query';
3
+ import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
4
+ import { getQueryKey } from '../utils/queries.js';
3
5
  export function useIsBatchingSupported(chain, address) {
6
+ const { keyPrefix } = useWidgetConfig();
4
7
  const enabled = Boolean(chain && chain.chainType === ChainType.EVM && !!address);
5
8
  const { data, isLoading } = useQuery({
6
- queryKey: ['isBatchingSupported', chain?.id, address],
9
+ queryKey: [
10
+ getQueryKey('isBatchingSupported', keyPrefix),
11
+ chain?.id,
12
+ address,
13
+ ],
7
14
  queryFn: () => {
8
15
  return isBatchingSupported({ chainId: chain.id });
9
16
  },
@@ -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,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"}
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;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEjD,MAAM,UAAU,sBAAsB,CACpC,KAAqB,EACrB,OAAgB;IAEhB,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IAEvC,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;YACR,WAAW,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAC7C,KAAK,EAAE,EAAE;YACT,OAAO;SACR;QACD,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"}
@@ -7,7 +7,7 @@ export const useIsContractAddress = (address, chainId, chainType) => {
7
7
  query: {
8
8
  refetchInterval: 300000,
9
9
  staleTime: 300000,
10
- enabled: Boolean(chainType === ChainType.EVM && chainId),
10
+ enabled: chainType === ChainType.EVM && !!chainId && !!address,
11
11
  },
12
12
  });
13
13
  return {
@@ -1 +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,EAMrB,EAAE;IACF,MAAM,EACJ,IAAI,EAAE,YAAY,EAClB,SAAS,EACT,SAAS,GACV,GAAG,WAAW,CAAC;QACd,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;IAEF,OAAO;QACL,iBAAiB,EAAE,CAAC,CAAC,YAAY;QACjC,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
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,EAMrB,EAAE;IACF,MAAM,EACJ,IAAI,EAAE,YAAY,EAClB,SAAS,EACT,SAAS,GACV,GAAG,WAAW,CAAC;QACd,OAAO,EAAE,OAAkB;QAC3B,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE;YACL,eAAe,EAAE,MAAO;YACxB,SAAS,EAAE,MAAO;YAClB,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;SAC/D;KACF,CAAC,CAAA;IAEF,OAAO;QACL,iBAAiB,EAAE,CAAC,CAAC,YAAY;QACjC,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
@@ -3,14 +3,17 @@ import { useAccount } from '@lifi/wallet-management';
3
3
  import { useMutation, useQueryClient } from '@tanstack/react-query';
4
4
  import { useCallback, useEffect, useRef } from 'react';
5
5
  import { shallow } from 'zustand/shallow';
6
+ import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
6
7
  import { useRouteExecutionStore, useRouteExecutionStoreContext, } from '../stores/routes/RouteExecutionStore.js';
7
8
  import { getUpdatedProcess, isRouteActive, isRouteDone, isRouteFailed, } from '../stores/routes/utils.js';
8
9
  import { WidgetEvent } from '../types/events.js';
10
+ import { getQueryKey } from '../utils/queries.js';
9
11
  import { useWidgetEvents } from './useWidgetEvents.js';
10
12
  export const useRouteExecution = ({ routeId, executeInBackground, onAcceptExchangeRateUpdate, }) => {
11
13
  const queryClient = useQueryClient();
12
14
  const { account } = useAccount();
13
15
  const resumedAfterMount = useRef(false);
16
+ const { keyPrefix } = useWidgetConfig();
14
17
  const emitter = useWidgetEvents();
15
18
  const routeExecutionStoreContext = useRouteExecutionStoreContext();
16
19
  const routeExecution = useRouteExecutionStore((state) => state.routes[routeId]);
@@ -43,16 +46,16 @@ export const useRouteExecution = ({ routeId, executeInBackground, onAcceptExchan
43
46
  if (executionCompleted || executionFailed) {
44
47
  const invalidateKeys = [
45
48
  [
46
- 'token-balances',
49
+ getQueryKey('token-balances', keyPrefix),
47
50
  clonedUpdatedRoute.fromAddress,
48
51
  clonedUpdatedRoute.fromChainId,
49
52
  ],
50
53
  [
51
- 'token-balances',
54
+ getQueryKey('token-balances', keyPrefix),
52
55
  clonedUpdatedRoute.toAddress,
53
56
  clonedUpdatedRoute.toChainId,
54
57
  ],
55
- ['transaction-history'],
58
+ [getQueryKey('transaction-history', keyPrefix)],
56
59
  ];
57
60
  for (const key of invalidateKeys) {
58
61
  queryClient.invalidateQueries({
@@ -80,7 +83,10 @@ export const useRouteExecution = ({ routeId, executeInBackground, onAcceptExchan
80
83
  if (!routeExecution?.route) {
81
84
  throw new Error('Execution route not found.');
82
85
  }
83
- queryClient.removeQueries({ queryKey: ['routes'], exact: false });
86
+ queryClient.removeQueries({
87
+ queryKey: [getQueryKey('routes', keyPrefix)],
88
+ exact: false,
89
+ });
84
90
  return executeRoute(routeExecution.route, {
85
91
  updateRouteHook,
86
92
  acceptExchangeRateUpdateHook,
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteExecution.js","sourceRoot":"","sources":["../../../src/hooks/useRouteExecution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRouteExecution.js","sourceRoot":"","sources":["../../../src/hooks/useRouteExecution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EACL,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,yCAAyC,CAAA;AAChD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAWtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,OAAO,EACP,mBAAmB,EACnB,0BAA0B,GACN,EAAE,EAAE;IACxB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IACvC,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IACjC,MAAM,0BAA0B,GAAG,6BAA6B,EAAE,CAAA;IAClE,MAAM,cAAc,GAAG,sBAAsB,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CACjC,CAAA;IACD,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,GAAG,sBAAsB,CACrE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,EACrE,OAAO,CACR,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,YAAmB,EAAE,EAAE;QAC9C,MAAM,cAAc,GAClB,0BAA0B,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QACD,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;QACxD,WAAW,CAAC,kBAAkB,CAAC,CAAA;QAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;QAC3E,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE;gBAC9C,KAAK,EAAE,kBAAkB;gBACzB,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAA;QAC1D,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;QACzD,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;gBAC7C,KAAK,EAAE,kBAAkB;gBACzB,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,kBAAkB,IAAI,eAAe,EAAE,CAAC;YAC1C,MAAM,cAAc,GAAG;gBACrB;oBACE,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC;oBACxC,kBAAkB,CAAC,WAAW;oBAC9B,kBAAkB,CAAC,WAAW;iBAC/B;gBACD;oBACE,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC;oBACxC,kBAAkB,CAAC,SAAS;oBAC5B,kBAAkB,CAAC,SAAS;iBAC7B;gBACD,CAAC,WAAW,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;aAChD,CAAA;YACD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;gBACjC,WAAW,CAAC,iBAAiB,CAC3B;oBACE,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK;iBACnB,EACD,EAAE,aAAa,EAAE,KAAK,EAAE,CACzB,CAAA;YACH,CAAC;QACH,CAAC;QACD,iEAAiE;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;IACnD,CAAC,CAAA;IAED,MAAM,4BAA4B,GAAG,KAAK,EACxC,MAAgC,EAChC,EAAE;QACF,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CACtD,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAC5C,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,WAAW,CAAC;QACvC,UAAU,EAAE,GAAG,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;YACD,WAAW,CAAC,aAAa,CAAC;gBACxB,QAAQ,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC5C,KAAK,EAAE,KAAK;aACb,CAAC,CAAA;YACF,OAAO,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE;gBACxC,eAAe;gBACf,4BAA4B;gBAC5B,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB;aACpB,CAAC,CAAA;QACJ,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,iEAAiE;YACjE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;YAC1C,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,UAAU,EAAE,CAAC,YAAoB,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAC9C,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;YAC/C,CAAC;YACD,OAAO,WAAW,CAAC,YAAY,IAAI,cAAc,CAAC,KAAK,EAAE;gBACvD,eAAe;gBACf,4BAA4B;gBAC5B,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB;aACpB,CAAC,CAAA;QACJ,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,iEAAiE;YACjE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE;YAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YACnD,CAAC;YACD,SAAS,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC1B,iEAAiE;gBACjE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;YAC9C,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnC,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAa,EAAE,EAAE;QAChB,mBAAmB,CAAC,WAAW,CAAC,KAAK,EAAE;YACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YAC3D,CAAC;YACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,iEAAiE;gBACjE,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;YACrD,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAC/B,CAAA;IAED,2DAA2D;IAC3D,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,YAAY,CAAC,OAAO,CAAC,CAAA;QACrB,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAElD,2DAA2D;IAC3D,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,WAAW,CAAC,OAAO,CAAC,CAAA;IACtB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,2CAA2C;IAC3C,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE;QACb,oDAAoD;QACpD,MAAM,KAAK,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;QAC1E,IACE,aAAa,CAAC,KAAK,CAAC;YACpB,OAAO,CAAC,WAAW;YACnB,CAAC,iBAAiB,CAAC,OAAO,EAC1B,CAAC;YACD,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAA;YAChC,YAAY,EAAE,CAAA;QAChB,CAAC;QAED,0CAA0C;QAC1C,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;YAC1E,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAM;YACR,CAAC;YACD,oBAAoB,CAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAA;YAC1D,iEAAiE;YACjE,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAA;YAC3D,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAA;QACnC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAA;IAE9D,OAAO;QACL,YAAY,EAAE,aAAa;QAC3B,YAAY,EAAE,oBAAoB;QAClC,WAAW,EAAE,mBAAmB;QAChC,KAAK,EAAE,cAAc,EAAE,KAAK;QAC5B,MAAM,EAAE,cAAc,EAAE,MAAM;KAC/B,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ExtendedChain, Route } from '@lifi/sdk';
2
+ export declare const useRouteRequiredAccountConnection: (route?: Route, chain?: ExtendedChain) => {
3
+ connected: boolean;
4
+ missingChain?: undefined;
5
+ missingAccountAddress?: undefined;
6
+ } | {
7
+ connected: boolean;
8
+ missingChain: ExtendedChain;
9
+ missingAccountAddress: string | undefined;
10
+ };
@@ -0,0 +1,45 @@
1
+ import { useAccount } from '@lifi/wallet-management';
2
+ import { useMemo } from 'react';
3
+ import { useFieldValues } from '../stores/form/useFieldValues.js';
4
+ import { useChain } from './useChain.js';
5
+ export const useRouteRequiredAccountConnection = (route, chain) => {
6
+ const { account, accounts } = useAccount({ chainType: chain?.chainType });
7
+ const [toAddress] = useFieldValues('toAddress');
8
+ const { getChainById } = useChain();
9
+ return useMemo(() => {
10
+ if (!route?.steps.length) {
11
+ return {
12
+ connected: account.isConnected,
13
+ };
14
+ }
15
+ const connectedChainTypes = new Map(accounts
16
+ .filter((account) => account.isConnected && account.address)
17
+ .map((account) => [account.chainType, account]));
18
+ if (!connectedChainTypes.size) {
19
+ return {
20
+ connected: false,
21
+ };
22
+ }
23
+ for (const step of route.steps) {
24
+ const chain = getChainById(step.action.fromChainId);
25
+ if (!chain) {
26
+ continue;
27
+ }
28
+ const connectedAccount = connectedChainTypes.get(chain.chainType);
29
+ const isToAddressSatisfied = toAddress
30
+ ? connectedAccount?.address === step.action.fromAddress
31
+ : true;
32
+ if (!connectedAccount || !isToAddressSatisfied) {
33
+ return {
34
+ connected: false,
35
+ missingChain: chain,
36
+ missingAccountAddress: !isToAddressSatisfied
37
+ ? step.action.fromAddress
38
+ : undefined,
39
+ };
40
+ }
41
+ }
42
+ return { connected: true };
43
+ }, [account.isConnected, route, accounts, getChainById, toAddress]);
44
+ };
45
+ //# sourceMappingURL=useRouteRequiredAccountConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRouteRequiredAccountConnection.js","sourceRoot":"","sources":["../../../src/hooks/useRouteRequiredAccountConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,KAAa,EACb,KAAqB,EACrB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IACzE,MAAM,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IAC/C,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAE,CAAA;IAEnC,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,WAAW;aAC/B,CAAA;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACjC,QAAQ;aACL,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;aAC3D,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAClD,CAAA;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;gBACL,SAAS,EAAE,KAAK;aACjB,CAAA;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAQ;YACV,CAAC;YAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACjE,MAAM,oBAAoB,GAAG,SAAS;gBACpC,CAAC,CAAC,gBAAgB,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW;gBACvD,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,YAAY,EAAE,KAAK;oBACnB,qBAAqB,EAAE,CAAC,oBAAoB;wBAC1C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;wBACzB,CAAC,CAAC,SAAS;iBACd,CAAA;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IAC5B,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAA;AACrE,CAAC,CAAA"}
@@ -12,7 +12,7 @@ export declare const useRoutes: ({ observableRoute }?: RoutesProps) => {
12
12
  refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<Route[] | undefined, Error>>;
13
13
  fromChain: import("@lifi/sdk").ExtendedChain | undefined;
14
14
  toChain: import("@lifi/sdk").ExtendedChain | undefined;
15
- queryKey: readonly ["routes", string | undefined, number, string, string, string | undefined, number, string, string, import("@lifi/sdk").ContractCall[] | undefined, string | undefined, boolean, string[], string[], string[] | undefined, string[] | undefined, "RECOMMENDED" | "FASTEST" | "CHEAPEST" | "SAFEST" | undefined, import("../index.js").WidgetSubvariant | undefined, boolean | undefined, boolean, string | undefined, number | undefined, boolean, string | undefined];
15
+ queryKey: readonly [string, string | undefined, number, string, string, string | undefined, number, string, string, import("@lifi/sdk").ContractCall[] | undefined, string | undefined, boolean, string[], string[], string[] | undefined, string[] | undefined, "RECOMMENDED" | "FASTEST" | "CHEAPEST" | "SAFEST" | undefined, import("../index.js").WidgetSubvariant | undefined, boolean | undefined, boolean, string | undefined, number | undefined, boolean, string | undefined];
16
16
  setReviewableRoute: (route: Route) => void;
17
17
  };
18
18
  export {};
@@ -10,6 +10,7 @@ import { useSettings } from '../stores/settings/useSettings.js';
10
10
  import { defaultSlippage } from '../stores/settings/useSettingsStore.js';
11
11
  import { WidgetEvent } from '../types/events.js';
12
12
  import { getChainTypeFromAddress } from '../utils/chainType.js';
13
+ import { getQueryKey } from '../utils/queries.js';
13
14
  import { useChain } from './useChain.js';
14
15
  import { useDebouncedWatch } from './useDebouncedWatch.js';
15
16
  import { useGasRefuel } from './useGasRefuel.js';
@@ -19,7 +20,7 @@ import { useToken } from './useToken.js';
19
20
  import { useWidgetEvents } from './useWidgetEvents.js';
20
21
  const refetchTime = 60000;
21
22
  export const useRoutes = ({ observableRoute } = {}) => {
22
- const { subvariant, sdkConfig, contractTool, bridges, exchanges, fee, feeConfig, useRelayerRoutes, } = useWidgetConfig();
23
+ const { subvariant, sdkConfig, contractTool, bridges, exchanges, fee, feeConfig, useRelayerRoutes, keyPrefix, } = useWidgetConfig();
23
24
  const setExecutableRoute = useSetExecutableRoute();
24
25
  const queryClient = useQueryClient();
25
26
  const emitter = useWidgetEvents();
@@ -72,7 +73,7 @@ export const useRoutes = ({ observableRoute } = {}) => {
72
73
  !isBatchingSupportedLoading;
73
74
  // Some values should be strictly typed and isEnabled ensures that
74
75
  const queryKey = [
75
- 'routes',
76
+ getQueryKey('routes', keyPrefix),
76
77
  account.address,
77
78
  fromChain?.id,
78
79
  fromToken?.address,
@@ -265,7 +266,13 @@ export const useRoutes = ({ observableRoute } = {}) => {
265
266
  // Update local tokens cache to keep priceUSD in sync
266
267
  const { fromToken, toToken } = routesResult.routes[0];
267
268
  [fromToken, toToken].forEach((token) => {
268
- queryClient.setQueriesData({ queryKey: ['token-balances', fromAddress, token.chainId] }, (data) => {
269
+ queryClient.setQueriesData({
270
+ queryKey: [
271
+ getQueryKey('token-balances', keyPrefix),
272
+ fromAddress,
273
+ token.chainId,
274
+ ],
275
+ }, (data) => {
269
276
  if (data) {
270
277
  const clonedData = [...data];
271
278
  const index = clonedData.findIndex((dataToken) => dataToken.address === token.address);
@@ -319,7 +326,9 @@ export const useRoutes = ({ observableRoute } = {}) => {
319
326
  });
320
327
  const setReviewableRoute = (route) => {
321
328
  const queryDataKey = queryKey.toSpliced(queryKey.length - 1, 1, route.id);
322
- queryClient.setQueryData(queryDataKey, { routes: [route] }, { updatedAt: dataUpdatedAt || Date.now() });
329
+ queryClient.setQueryData(queryDataKey, [route], {
330
+ updatedAt: dataUpdatedAt || Date.now(),
331
+ });
323
332
  setExecutableRoute(route);
324
333
  };
325
334
  return {