@0xsquid/react-hooks 6.7.0-pre-post-hooks-beta.0 → 6.7.0-rollup-beta.1

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 (258) hide show
  1. package/dist/core/queries/queries-keys.d.ts +2 -2
  2. package/dist/core/types/config.d.ts +0 -2
  3. package/dist/core/types/event.d.ts +0 -5
  4. package/dist/hooks/index.d.ts +5 -5
  5. package/dist/hooks/transaction/useGetRoute.d.ts +0 -3
  6. package/dist/index.esm.js +16892 -0
  7. package/dist/index.esm.js.map +1 -0
  8. package/dist/index.js +17096 -6
  9. package/dist/index.js.map +1 -1
  10. package/dist/{services/external/secretService.js → secretService-Cnn1_HQT.js} +37 -8
  11. package/dist/secretService-Cnn1_HQT.js.map +1 -0
  12. package/dist/secretService-DW4QetNp.js +162 -0
  13. package/dist/secretService-DW4QetNp.js.map +1 -0
  14. package/dist/services/internal/eventService.d.ts +0 -5
  15. package/package.json +18 -4
  16. package/dist/core/abis/ics20.json +0 -128
  17. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  18. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  19. package/dist/core/connectors/bitcoin/helpers.js +0 -86
  20. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  21. package/dist/core/connectors/bitcoin/index.js +0 -2
  22. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  23. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  24. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  25. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  26. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  27. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  28. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  29. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  30. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  31. package/dist/core/constants.js +0 -144
  32. package/dist/core/constants.js.map +0 -1
  33. package/dist/core/externalLinks.js +0 -21
  34. package/dist/core/externalLinks.js.map +0 -1
  35. package/dist/core/index.js +0 -4
  36. package/dist/core/index.js.map +0 -1
  37. package/dist/core/multicall3.js +0 -442
  38. package/dist/core/multicall3.js.map +0 -1
  39. package/dist/core/providers/CosmosProvider.js +0 -13
  40. package/dist/core/providers/CosmosProvider.js.map +0 -1
  41. package/dist/core/providers/SolanaProvider.js +0 -15
  42. package/dist/core/providers/SolanaProvider.js.map +0 -1
  43. package/dist/core/providers/SuiProvider.js +0 -15
  44. package/dist/core/providers/SuiProvider.js.map +0 -1
  45. package/dist/core/queries/queries-keys.js +0 -206
  46. package/dist/core/queries/queries-keys.js.map +0 -1
  47. package/dist/core/queries/react-query-config.js +0 -11
  48. package/dist/core/queries/react-query-config.js.map +0 -1
  49. package/dist/core/types/config.js +0 -2
  50. package/dist/core/types/config.js.map +0 -1
  51. package/dist/core/types/dex.js +0 -33
  52. package/dist/core/types/dex.js.map +0 -1
  53. package/dist/core/types/error.js +0 -12
  54. package/dist/core/types/error.js.map +0 -1
  55. package/dist/core/types/event.js +0 -2
  56. package/dist/core/types/event.js.map +0 -1
  57. package/dist/core/types/index.js +0 -2
  58. package/dist/core/types/index.js.map +0 -1
  59. package/dist/core/types/rpc.js +0 -2
  60. package/dist/core/types/rpc.js.map +0 -1
  61. package/dist/core/types/sui.js +0 -2
  62. package/dist/core/types/sui.js.map +0 -1
  63. package/dist/core/types/swap.js +0 -2
  64. package/dist/core/types/swap.js.map +0 -1
  65. package/dist/core/types/tokens.js +0 -2
  66. package/dist/core/types/tokens.js.map +0 -1
  67. package/dist/core/types/transaction.js +0 -41
  68. package/dist/core/types/transaction.js.map +0 -1
  69. package/dist/core/types/wallet.js +0 -26
  70. package/dist/core/types/wallet.js.map +0 -1
  71. package/dist/core/wagmiConfig.js +0 -60
  72. package/dist/core/wagmiConfig.js.map +0 -1
  73. package/dist/core/wallets.js +0 -549
  74. package/dist/core/wallets.js.map +0 -1
  75. package/dist/hooks/analytics/useTrackSearchEmpty.d.ts +0 -12
  76. package/dist/hooks/analytics/useTrackSearchEmpty.js +0 -22
  77. package/dist/hooks/analytics/useTrackSearchEmpty.js.map +0 -1
  78. package/dist/hooks/chains/useSquidChains.js +0 -107
  79. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  80. package/dist/hooks/client/useClient.js +0 -6
  81. package/dist/hooks/client/useClient.js.map +0 -1
  82. package/dist/hooks/cosmos/useCosmos.js +0 -172
  83. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  84. package/dist/hooks/cosmos/useCosmosForChain.js +0 -33
  85. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  86. package/dist/hooks/index.js +0 -45
  87. package/dist/hooks/index.js.map +0 -1
  88. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  89. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  90. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  91. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  92. package/dist/hooks/solana/useSolana.js +0 -104
  93. package/dist/hooks/solana/useSolana.js.map +0 -1
  94. package/dist/hooks/squid/useSquid.js +0 -55
  95. package/dist/hooks/squid/useSquid.js.map +0 -1
  96. package/dist/hooks/store/useAddressBookStore.js +0 -26
  97. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  98. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  99. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  100. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  101. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  102. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  103. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  104. package/dist/hooks/store/useHistoryStore.js +0 -41
  105. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  106. package/dist/hooks/store/useSquidStore.js +0 -56
  107. package/dist/hooks/store/useSquidStore.js.map +0 -1
  108. package/dist/hooks/store/useWalletStore.js +0 -42
  109. package/dist/hooks/store/useWalletStore.js.map +0 -1
  110. package/dist/hooks/sui/useSui.js +0 -28
  111. package/dist/hooks/sui/useSui.js.map +0 -1
  112. package/dist/hooks/sui/useSuiClient.js +0 -16
  113. package/dist/hooks/sui/useSuiClient.js.map +0 -1
  114. package/dist/hooks/sui/useSuiWallets.js +0 -42
  115. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  116. package/dist/hooks/swap/useDepositAddress.js +0 -63
  117. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  118. package/dist/hooks/swap/useSwap.js +0 -209
  119. package/dist/hooks/swap/useSwap.js.map +0 -1
  120. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -103
  121. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  122. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -119
  123. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  124. package/dist/hooks/tokens/useBalance.js +0 -136
  125. package/dist/hooks/tokens/useBalance.js.map +0 -1
  126. package/dist/hooks/tokens/useMultiChainBalance.js +0 -68
  127. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  128. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  129. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  130. package/dist/hooks/tokens/useNativeBalance.js +0 -217
  131. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  132. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -28
  133. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  134. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  135. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  136. package/dist/hooks/tokens/useSquidTokens.js +0 -80
  137. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  138. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  139. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  140. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -68
  141. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  142. package/dist/hooks/transaction/useApproval.js +0 -223
  143. package/dist/hooks/transaction/useApproval.js.map +0 -1
  144. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  145. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  146. package/dist/hooks/transaction/useEstimate.js +0 -118
  147. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  148. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  149. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  150. package/dist/hooks/transaction/useExecuteTransaction.js +0 -605
  151. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  152. package/dist/hooks/transaction/useGetRoute.js +0 -230
  153. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  154. package/dist/hooks/transaction/useIcs20Allowance.js +0 -40
  155. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  156. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  157. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  158. package/dist/hooks/transaction/useSingleTransaction.js +0 -91
  159. package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
  160. package/dist/hooks/user/useAvatar.js +0 -34
  161. package/dist/hooks/user/useAvatar.js.map +0 -1
  162. package/dist/hooks/user/useHistory.js +0 -106
  163. package/dist/hooks/user/useHistory.js.map +0 -1
  164. package/dist/hooks/user/useUserParams.js +0 -33
  165. package/dist/hooks/user/useUserParams.js.map +0 -1
  166. package/dist/hooks/wallet/useAddToken.js +0 -49
  167. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  168. package/dist/hooks/wallet/useAutoConnect.js +0 -74
  169. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  170. package/dist/hooks/wallet/useEns.js +0 -69
  171. package/dist/hooks/wallet/useEns.js.map +0 -1
  172. package/dist/hooks/wallet/useGnosisContext.js +0 -78
  173. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  174. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  175. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  176. package/dist/hooks/wallet/useMultiChainWallet.js +0 -175
  177. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  178. package/dist/hooks/wallet/useSigner.js +0 -76
  179. package/dist/hooks/wallet/useSigner.js.map +0 -1
  180. package/dist/hooks/wallet/useWallet.js +0 -206
  181. package/dist/hooks/wallet/useWallet.js.map +0 -1
  182. package/dist/hooks/wallet/useWallets.js +0 -36
  183. package/dist/hooks/wallet/useWallets.js.map +0 -1
  184. package/dist/provider/index.js +0 -113
  185. package/dist/provider/index.js.map +0 -1
  186. package/dist/services/external/ens.js +0 -66
  187. package/dist/services/external/ens.js.map +0 -1
  188. package/dist/services/external/rpcService.js +0 -421
  189. package/dist/services/external/rpcService.js.map +0 -1
  190. package/dist/services/external/secretService.js.map +0 -1
  191. package/dist/services/external/suiRpcClient.js +0 -80
  192. package/dist/services/external/suiRpcClient.js.map +0 -1
  193. package/dist/services/external/tokenDataService.js +0 -108
  194. package/dist/services/external/tokenDataService.js.map +0 -1
  195. package/dist/services/index.js +0 -16
  196. package/dist/services/index.js.map +0 -1
  197. package/dist/services/internal/apiService.js +0 -21
  198. package/dist/services/internal/apiService.js.map +0 -1
  199. package/dist/services/internal/assetsService.js +0 -586
  200. package/dist/services/internal/assetsService.js.map +0 -1
  201. package/dist/services/internal/bitcoinService.js +0 -51
  202. package/dist/services/internal/bitcoinService.js.map +0 -1
  203. package/dist/services/internal/configService.js +0 -218
  204. package/dist/services/internal/configService.js.map +0 -1
  205. package/dist/services/internal/cosmosService.js +0 -141
  206. package/dist/services/internal/cosmosService.js.map +0 -1
  207. package/dist/services/internal/errorService.js +0 -188
  208. package/dist/services/internal/errorService.js.map +0 -1
  209. package/dist/services/internal/estimateService.js +0 -221
  210. package/dist/services/internal/estimateService.js.map +0 -1
  211. package/dist/services/internal/eventService.js +0 -163
  212. package/dist/services/internal/eventService.js.map +0 -1
  213. package/dist/services/internal/evmService.js +0 -42
  214. package/dist/services/internal/evmService.js.map +0 -1
  215. package/dist/services/internal/numberService.js +0 -171
  216. package/dist/services/internal/numberService.js.map +0 -1
  217. package/dist/services/internal/priceService.js +0 -53
  218. package/dist/services/internal/priceService.js.map +0 -1
  219. package/dist/services/internal/searchService.js +0 -98
  220. package/dist/services/internal/searchService.js.map +0 -1
  221. package/dist/services/internal/solanaService.js +0 -109
  222. package/dist/services/internal/solanaService.js.map +0 -1
  223. package/dist/services/internal/suiService.js +0 -119
  224. package/dist/services/internal/suiService.js.map +0 -1
  225. package/dist/services/internal/transactionService.js +0 -207
  226. package/dist/services/internal/transactionService.js.map +0 -1
  227. package/dist/services/internal/transactionStatusService.js +0 -315
  228. package/dist/services/internal/transactionStatusService.js.map +0 -1
  229. package/dist/services/internal/walletService.js +0 -464
  230. package/dist/services/internal/walletService.js.map +0 -1
  231. package/dist/tests/apiService.test.js +0 -40
  232. package/dist/tests/apiService.test.js.map +0 -1
  233. package/dist/tests/assetsService.test.js +0 -500
  234. package/dist/tests/assetsService.test.js.map +0 -1
  235. package/dist/tests/configService.test.js +0 -673
  236. package/dist/tests/configService.test.js.map +0 -1
  237. package/dist/tests/estimateService.test.js +0 -355
  238. package/dist/tests/estimateService.test.js.map +0 -1
  239. package/dist/tests/fetchSquidData.js +0 -36
  240. package/dist/tests/fetchSquidData.js.map +0 -1
  241. package/dist/tests/jest-svg-transform.d.ts +0 -0
  242. package/dist/tests/jest-svg-transform.js +0 -21
  243. package/dist/tests/jest-svg-transform.js.map +0 -1
  244. package/dist/tests/numberService.test.js +0 -135
  245. package/dist/tests/numberService.test.js.map +0 -1
  246. package/dist/tests/priceService.test.js +0 -38
  247. package/dist/tests/priceService.test.js.map +0 -1
  248. package/dist/tests/sample.json +0 -0
  249. package/dist/tests/searchService.test.js +0 -92
  250. package/dist/tests/searchService.test.js.map +0 -1
  251. package/dist/tests/swapConfig.test.js +0 -332
  252. package/dist/tests/swapConfig.test.js.map +0 -1
  253. package/dist/tests/transactionService.test.js +0 -53
  254. package/dist/tests/transactionService.test.js.map +0 -1
  255. package/dist/tests/transactionStatusService.test.js +0 -165
  256. package/dist/tests/transactionStatusService.test.js.map +0 -1
  257. package/dist/tests/walletService.test.js +0 -264
  258. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,230 +0,0 @@
1
- import { ChainType, } from "@0xsquid/squid-types";
2
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3
- import { useCallback, useMemo, useRef } from "react";
4
- import { CHAIN_IDS, chainTypeToZeroAddressMap } from "../../core/constants";
5
- import { useCosmosContext } from "../../core/providers/CosmosProvider";
6
- import { keys } from "../../core/queries/queries-keys";
7
- import { evmosAddressToEvmAddress, isEvmosChain } from "../../services";
8
- import { WidgetEvents, createQuoteRequestParamsHash, } from "../../services/internal/eventService";
9
- import { parseToBigInt } from "../../services/internal/numberService";
10
- import { useSquidChains } from "../chains/useSquidChains";
11
- import { useConfigStore, useSquidStore, useSwapRoutePersistStore, } from "../store/useSquidStore";
12
- import { useDepositAddress } from "../swap/useDepositAddress";
13
- import { useSwap } from "../swap/useSwap";
14
- import { useMultiChainWallet } from "../wallet/useMultiChainWallet";
15
- export const useGetRoute = () => {
16
- const { getCosmosAddressForChain, isConnected: isCosmosConnected } = useCosmosContext();
17
- const config = useConfigStore((state) => state.config);
18
- const squid = useSquidStore((state) => state.squid);
19
- const { swapRoute } = useSwapRoutePersistStore();
20
- const { findChain } = useSquidChains();
21
- const queryClient = useQueryClient();
22
- const previousParamsHashRef = useRef();
23
- /**
24
- * Dispatch event when requesting a quote for swap
25
- */
26
- const dispatchRequestQuoteEvent = useCallback((params) => {
27
- const currentParamsHash = createQuoteRequestParamsHash(params);
28
- // Only dispatch if any parameter has changed
29
- if (previousParamsHashRef.current !== currentParamsHash) {
30
- previousParamsHashRef.current = currentParamsHash;
31
- WidgetEvents.getInstance().dispatchRequestQuote(params);
32
- }
33
- }, []);
34
- /**
35
- * Get fallback addresses for cosmos chains.
36
- * First try to get the fallback address added manually by the user (if any).
37
- * If not set, try to get the derived osmo address.
38
- *
39
- * This is needed by backend when a cosmos swap occurs between non coin118 chains
40
- * The backend might need a coin118 address to send the funds to in case of failure for a swap happening between the two chains
41
- */
42
- const getCosmosFallbackAddresses = useCallback(async () => {
43
- if (swapRoute?.fallbackAddress) {
44
- return [
45
- {
46
- address: swapRoute?.fallbackAddress,
47
- coinType: 118,
48
- },
49
- ];
50
- }
51
- // There's no fallback address manually added and the user is not connected
52
- if (!isCosmosConnected) {
53
- return undefined;
54
- }
55
- // the user is connected to cosmos, we can get the fallback address from the wallet
56
- // We only need coin118, so taking osmosis hub address by default
57
- const osmosisAddress = await getCosmosAddressForChain(CHAIN_IDS.OSMOSIS);
58
- if (osmosisAddress) {
59
- return [
60
- {
61
- address: osmosisAddress,
62
- coinType: 118,
63
- },
64
- ];
65
- }
66
- }, [getCosmosAddressForChain, isCosmosConnected, swapRoute?.fallbackAddress]);
67
- /**
68
- * Fetching route data from the API
69
- * These data will be used to trigger the transaction
70
- * @returns {Route} Route data
71
- */
72
- return useMutation(async ({ fromChain, toChain, fromToken, toToken, sourceUserAddress, destinationAddress, fromPrice, bypassGuardrails, quoteOnly, fromChainType, postHook, preHook, }) => {
73
- if (!fromChain || !toChain || !fromToken || !toToken || !fromPrice) {
74
- return undefined;
75
- }
76
- // Dispatch requestQuote event
77
- dispatchRequestQuoteEvent({
78
- fromChain,
79
- toChain,
80
- fromToken: fromToken.address,
81
- toToken: toToken.address,
82
- fromAmount: fromPrice,
83
- fromAddress: sourceUserAddress,
84
- toAddress: destinationAddress,
85
- });
86
- const isEvmSwap = Number(fromChain) > 0 && Number(toChain) > 0;
87
- const cosmosFallbackAddresses = quoteOnly || isEvmSwap ? undefined : await getCosmosFallbackAddresses();
88
- const isSrcChainEvmos = isEvmosChain(findChain(fromChain));
89
- const isDestChainEvmos = isEvmosChain(findChain(toChain));
90
- // Evmos tokens require the original address to be used (erc20/0x123...abc)
91
- // TODO: this will be fixed in the backend
92
- const fromTokenAddress = isSrcChainEvmos
93
- ? fromToken.originalAddress || fromToken.address
94
- : fromToken.address;
95
- const toTokenAddress = isDestChainEvmos
96
- ? toToken.originalAddress || toToken.address
97
- : toToken.address;
98
- const fromAmount = parseToBigInt(fromPrice?.toString() ?? "0", fromToken?.decimals).toString();
99
- const fromAddress = sourceUserAddress ??
100
- chainTypeToZeroAddressMap[fromChainType ?? ChainType.EVM];
101
- const params = {
102
- fromChain,
103
- fromToken: fromTokenAddress,
104
- fromAddress,
105
- fromAmount,
106
- toChain,
107
- toToken: toTokenAddress,
108
- toAddress: destinationAddress ?? "",
109
- quoteOnly,
110
- slippage: config.slippage === 0 ? undefined : config.slippage,
111
- bypassGuardrails,
112
- preHook,
113
- postHook,
114
- };
115
- // If the swap is involving cosmos chains, we need to add the fallback addresses (if any)
116
- if (cosmosFallbackAddresses &&
117
- cosmosFallbackAddresses.length > 0 &&
118
- cosmosFallbackAddresses[0].address) {
119
- params.fallbackAddresses = cosmosFallbackAddresses;
120
- }
121
- const { route } = await squid.getRoute({
122
- ...params,
123
- });
124
- if (isSrcChainEvmos) {
125
- // need to format evmos addresses in route.params
126
- // to standard evm addresses for the Squid sdk to find tokens by address properly
127
- // when approving or executing the route
128
- route.params.fromToken = evmosAddressToEvmAddress(route.params.fromToken);
129
- }
130
- if (isDestChainEvmos) {
131
- // need to format evmos addresses in route.params
132
- // to standard evm addresses for the Squid sdk to find tokens by address properly
133
- // when approving or executing the route
134
- route.params.toToken = evmosAddressToEvmAddress(route.params.toToken);
135
- }
136
- // Cache the route data
137
- // Useful when the getRoute mutation is called from another hook
138
- queryClient.setQueryData(keys().transaction(fromChain, toChain, toToken.address, fromToken.address, fromPrice, config.slippage, config.enableGetGasOnDestination, sourceUserAddress, config.degenMode, destinationAddress, swapRoute?.fallbackAddress, quoteOnly, fromChainType, config.preHook, config.postHook), route);
139
- return route;
140
- });
141
- };
142
- // TODO: this is a bit dangerous to base the type on the useQuery function indexing
143
- // as it could change in the future
144
- // type UseQueryOptionsType = Parameters<typeof useQuery>[2];
145
- export const useGetRouteWrapper = ({ enabled, cacheTime = 5 * 60 * 1000, // 5 minutes
146
- staleTime = 60 * 1000, // 1 minute
147
- refetchOnWindowFocus = (query) => Date.now() - query.state.dataUpdatedAt > 30000, // Update if older than 30 seconds, when window is focused
148
- refetchIntervalInBackground = false, refetchInterval = 30000, quoteOnly = true, }) => {
149
- const config = useConfigStore((state) => state.config);
150
- const squid = useSquidStore((state) => state.squid);
151
- const fallbackAddress = useSwapRoutePersistStore((store) => store.swapRoute?.fallbackAddress);
152
- const depositRefundAddress = useSwapRoutePersistStore((store) => store.swapRoute?.depositRefundAddress);
153
- const { isAvailableAsPaymentMethod, isEnabled: isDepositAddressEnabled } = useDepositAddress();
154
- const getRouteMutation = useGetRoute();
155
- const { fromChain, toChain, fromPrice, destinationAddress: { address: destinationAddress } = {}, fromToken, toToken, } = useSwap();
156
- const { connectedAddress: { address: sourceConnectedAddress }, } = useMultiChainWallet(fromChain);
157
- // When the payment method is deposit address, users can specify a refund address on the source chain
158
- // Tokens will be sent to this address in case of swap failure
159
- //
160
- // If deposit address is not selected, we use the connected address as the source address instead
161
- const sourceUserAddress = isDepositAddressEnabled && isAvailableAsPaymentMethod
162
- ? depositRefundAddress ?? sourceConnectedAddress
163
- : sourceConnectedAddress;
164
- const squidRouteQueryKeys = useMemo(() => keys().transaction(fromChain?.chainId, toChain?.chainId, toToken?.address, fromToken?.address, fromPrice, config.slippage, config.enableGetGasOnDestination, sourceUserAddress, config.degenMode, destinationAddress, fallbackAddress, quoteOnly, fromChain?.chainType, config.preHook, config.postHook), [
165
- fromChain?.chainId,
166
- toChain?.chainId,
167
- toToken?.address,
168
- fromToken?.address,
169
- fromPrice,
170
- config.slippage,
171
- config.enableGetGasOnDestination,
172
- sourceUserAddress,
173
- config.degenMode,
174
- destinationAddress,
175
- fallbackAddress,
176
- quoteOnly,
177
- fromChain?.chainType,
178
- config.preHook,
179
- config.postHook,
180
- ]);
181
- const queryEnabled = enabled != undefined
182
- ? enabled
183
- : squid !== undefined &&
184
- fromPrice !== undefined &&
185
- fromPrice !== "0" &&
186
- toChain?.chainId !== undefined &&
187
- toToken?.address !== undefined;
188
- const queryClient = useQueryClient();
189
- const cachedRouteData = queryClient.getQueryData(squidRouteQueryKeys);
190
- /**
191
- * Fetching route data from the API
192
- * These data will be used to trigger the transaction
193
- * @returns {Route} Route data
194
- */
195
- const squidRoute = useQuery(squidRouteQueryKeys, async () => {
196
- const route = await getRouteMutation.mutateAsync({
197
- fromChain: fromChain?.chainId,
198
- toChain: toChain?.chainId,
199
- fromToken,
200
- toToken,
201
- sourceUserAddress,
202
- destinationAddress,
203
- fromPrice,
204
- bypassGuardrails: config.degenMode,
205
- quoteOnly,
206
- fromChainType: fromChain?.chainType,
207
- postHook: config.postHook,
208
- preHook: config.preHook,
209
- });
210
- return route;
211
- }, {
212
- enabled: queryEnabled,
213
- cacheTime,
214
- staleTime,
215
- refetchOnWindowFocus,
216
- refetchIntervalInBackground,
217
- refetchInterval,
218
- });
219
- /**
220
- * If last updated data is older than X seconds and the query is currently loading, show loading indicator
221
- */
222
- const showLoading = useMemo(() => squidRoute.isFetching || squidRoute.isRefetching, [squidRoute.isFetching, squidRoute.isRefetching]);
223
- return {
224
- squidRoute,
225
- showLoading,
226
- squidRouteError: squidRoute.error,
227
- routeData: queryEnabled ? squidRoute.data : cachedRouteData,
228
- };
229
- };
230
- //# sourceMappingURL=useGetRoute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetRoute.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useGetRoute.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,GAIV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAEvD,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,aAAa,EACb,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAChE,gBAAgB,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,wBAAwB,EAAE,CAAC;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,qBAAqB,GAAG,MAAM,EAAU,CAAC;IAE/C;;OAEG;IACH,MAAM,yBAAyB,GAAG,WAAW,CAAC,CAAC,MAAoB,EAAE,EAAE;QACrE,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;QAE/D,6CAA6C;QAC7C,IAAI,qBAAqB,CAAC,OAAO,KAAK,iBAAiB,EAAE;YACvD,qBAAqB,CAAC,OAAO,GAAG,iBAAiB,CAAC;YAClD,YAAY,CAAC,WAAW,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACzD;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;;;;OAOG;IACH,MAAM,0BAA0B,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxD,IAAI,SAAS,EAAE,eAAe,EAAE;YAC9B,OAAO;gBACL;oBACE,OAAO,EAAE,SAAS,EAAE,eAAe;oBACnC,QAAQ,EAAE,GAAG;iBACd;aACF,CAAC;SACH;QAED,2EAA2E;QAC3E,IAAI,CAAC,iBAAiB,EAAE;YACtB,OAAO,SAAS,CAAC;SAClB;QAED,mFAAmF;QACnF,iEAAiE;QACjE,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,cAAc,EAAE;YAClB,OAAO;gBACL;oBACE,OAAO,EAAE,cAAc;oBACvB,QAAQ,EAAE,GAAG;iBACd;aACmB,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;IAE9E;;;;OAIG;IACH,OAAO,WAAW,CAChB,KAAK,EAAE,EACL,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,QAAQ,EACR,OAAO,GAcR,EAAE,EAAE;QACH,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE;YAClE,OAAO,SAAS,CAAC;SAClB;QAED,8BAA8B;QAC9B,yBAAyB,CAAC;YACxB,SAAS;YACT,OAAO;YACP,SAAS,EAAE,SAAS,CAAC,OAAO;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,iBAAiB;YAC9B,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/D,MAAM,uBAAuB,GAC3B,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,0BAA0B,EAAE,CAAC;QAE1E,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1D,2EAA2E;QAC3E,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,eAAe;YACtC,CAAC,CAAC,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC,OAAO;YAChD,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;QAEtB,MAAM,cAAc,GAAG,gBAAgB;YACrC,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAEpB,MAAM,UAAU,GAAG,aAAa,CAC9B,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAG,EAC5B,SAAS,EAAE,QAAQ,CACpB,CAAC,QAAQ,EAAE,CAAC;QAEb,MAAM,WAAW,GACf,iBAAiB;YACjB,yBAAyB,CAAC,aAAa,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAiB;YAC3B,SAAS;YACT,SAAS,EAAE,gBAAgB;YAC3B,WAAW;YACX,UAAU;YACV,OAAO;YACP,OAAO,EAAE,cAAc;YACvB,SAAS,EAAE,kBAAkB,IAAI,EAAE;YACnC,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;YAC7D,gBAAgB;YAChB,OAAO;YACP,QAAQ;SACT,CAAC;QAEF,yFAAyF;QACzF,IACE,uBAAuB;YACvB,uBAAuB,CAAC,MAAM,GAAG,CAAC;YAClC,uBAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,EAClC;YACA,MAAM,CAAC,iBAAiB,GAAG,uBAAuB,CAAC;SACpD;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,KAAM,CAAC,QAAQ,CAAC;YACtC,GAAG,MAAM;SACV,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE;YACnB,iDAAiD;YACjD,iFAAiF;YACjF,wCAAwC;YACxC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,wBAAwB,CAC/C,KAAK,CAAC,MAAM,CAAC,SAAS,CACvB,CAAC;SACH;QAED,IAAI,gBAAgB,EAAE;YACpB,iDAAiD;YACjD,iFAAiF;YACjF,wCAAwC;YACxC,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACvE;QAED,uBAAuB;QACvB,gEAAgE;QAChE,WAAW,CAAC,YAAY,CACtB,IAAI,EAAE,CAAC,WAAW,CAChB,SAAS,EACT,OAAO,EACP,OAAO,CAAC,OAAO,EACf,SAAS,CAAC,OAAO,EACjB,SAAS,EACT,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,yBAAyB,EAChC,iBAAiB,EACjB,MAAM,CAAC,SAAS,EAChB,kBAAkB,EAClB,SAAS,EAAE,eAAe,EAC1B,SAAS,EACT,aAAa,EACb,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,EACD,KAAK,CACN,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,mFAAmF;AACnF,oCAAoC;AACpC,6DAA6D;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,OAAO,EACP,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;AACvC,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;AAClC,oBAAoB,GAAG,CAAC,KAAU,EAAE,EAAE,CACpC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,EAAE,0DAA0D;AAC5G,2BAA2B,GAAG,KAAK,EACnC,eAAe,GAAG,KAAK,EACvB,SAAS,GAAG,IAAI,GASjB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,wBAAwB,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAC5C,CAAC;IACF,MAAM,oBAAoB,GAAG,wBAAwB,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,CACjD,CAAC;IACF,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE,uBAAuB,EAAE,GACtE,iBAAiB,EAAE,CAAC;IAEtB,MAAM,gBAAgB,GAAG,WAAW,EAAE,CAAC;IACvC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,SAAS,EACT,kBAAkB,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,EACxD,SAAS,EACT,OAAO,GACR,GAAG,OAAO,EAAE,CAAC;IACd,MAAM,EACJ,gBAAgB,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,GACtD,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEnC,qGAAqG;IACrG,8DAA8D;IAC9D,EAAE;IACF,iGAAiG;IACjG,MAAM,iBAAiB,GACrB,uBAAuB,IAAI,0BAA0B;QACnD,CAAC,CAAC,oBAAoB,IAAI,sBAAsB;QAChD,CAAC,CAAC,sBAAsB,CAAC;IAE7B,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CACH,IAAI,EAAE,CAAC,WAAW,CAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,OAAO,EAClB,SAAS,EACT,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,yBAAyB,EAChC,iBAAiB,EACjB,MAAM,CAAC,SAAS,EAChB,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,QAAQ,CAChB,EACH;QACE,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO;QAChB,SAAS,EAAE,OAAO;QAClB,SAAS;QACT,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,yBAAyB;QAChC,iBAAiB;QACjB,MAAM,CAAC,SAAS;QAChB,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,SAAS,EAAE,SAAS;QACpB,MAAM,CAAC,OAAO;QACd,MAAM,CAAC,QAAQ;KAChB,CACF,CAAC;IAEF,MAAM,YAAY,GAChB,OAAO,IAAI,SAAS;QAClB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,GAAG;YACjB,OAAO,EAAE,OAAO,KAAK,SAAS;YAC9B,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC;IAErC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAEvD,CAAC;IAEd;;;;OAIG;IACH,MAAM,UAAU,GAAG,QAAQ,CACzB,mBAAmB,EACnB,KAAK,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC;YAC/C,SAAS,EAAE,SAAS,EAAE,OAAO;YAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,SAAS;YACT,OAAO;YACP,iBAAiB;YACjB,kBAAkB;YAClB,SAAS;YACT,gBAAgB,EAAE,MAAM,CAAC,SAAS;YAClC,SAAS;YACT,aAAa,EAAE,SAAS,EAAE,SAAS;YACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC,EACD;QACE,OAAO,EAAE,YAAY;QACrB,SAAS;QACT,SAAS;QACT,oBAAoB;QACpB,2BAA2B;QAC3B,eAAe;KAChB,CACF,CAAC;IAEF;;OAEG;IACH,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,YAAY,EACtD,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CACjD,CAAC;IAEF,OAAO;QACL,UAAU;QACV,WAAW;QACX,eAAe,EAAE,UAAU,CAAC,KAAK;QACjC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;KAC5D,CAAC;AACJ,CAAC,CAAC"}
@@ -1,40 +0,0 @@
1
- import { useReadContract } from "wagmi";
2
- import ics20Abi from "../../core/abis/ics20.json";
3
- import { parseEvmAddress } from "../../services";
4
- /**
5
- * ICS20 is similar to ERC20 but the ABI is different
6
- *
7
- * https://docs.evmos.org/develop/smart-contracts/evm-extensions/ibc-transfer
8
- * https://github.com/evmos/extensions/blob/main/precompiles/abi/ics20.json
9
- */
10
- export function useIcs20Allowance({ targetAddress, ownerAddress, amount = BigInt(0), chainId, enabled = true, }) {
11
- const parsedTargetAddress = parseEvmAddress(targetAddress);
12
- const parsedOwnerAddress = parseEvmAddress(ownerAddress);
13
- const query = useReadContract({
14
- abi: ics20Abi,
15
- address: parsedTargetAddress,
16
- functionName: "allowance",
17
- chainId,
18
- args: parsedOwnerAddress
19
- ? [parsedOwnerAddress, parsedOwnerAddress]
20
- : undefined,
21
- query: {
22
- enabled: enabled && Boolean(parsedTargetAddress && parsedOwnerAddress),
23
- },
24
- });
25
- if (!parsedTargetAddress || !parsedOwnerAddress) {
26
- return {
27
- hasAllowance: false,
28
- error: new Error("Invalid or missing address"),
29
- };
30
- }
31
- const allowanceInWei = query.data?.[0]?.spendLimit?.[0].amount ??
32
- BigInt(0);
33
- const hasAllowance = allowanceInWei >= amount;
34
- return {
35
- query,
36
- hasAllowance,
37
- allowanceInWei,
38
- };
39
- }
40
- //# sourceMappingURL=useIcs20Allowance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIcs20Allowance.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useIcs20Allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAuBjD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,aAAa,EACb,YAAY,EACZ,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAClB,OAAO,EACP,OAAO,GAAG,IAAI,GACO;IACrB,MAAM,mBAAmB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,KAAK,GAAG,eAAe,CAAC;QAC5B,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,mBAAmB;QAC5B,YAAY,EAAE,WAAW;QACzB,OAAO;QACP,IAAI,EAAE,kBAAkB;YACtB,CAAC,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YAC1C,CAAC,CAAC,SAAS;QACb,KAAK,EAAE;YACL,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,mBAAmB,IAAI,kBAAkB,CAAC;SACvE;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,IAAI,CAAC,kBAAkB,EAAE;QAC/C,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC;SAC/C,CAAC;KACH;IAED,MAAM,cAAc,GACjB,KAAK,CAAC,IAA+B,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;QACnE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEZ,MAAM,YAAY,GAAG,cAAc,IAAI,MAAM,CAAC;IAE9C,OAAO;QACL,KAAK;QACL,YAAY;QACZ,cAAc;KACf,CAAC;AACJ,CAAC"}
@@ -1,19 +0,0 @@
1
- import { useMemo } from "react";
2
- import { isFallbackAddressNeeded } from "../../services/internal/cosmosService";
3
- import { useSwapRoutePersistStore } from "../store/useSquidStore";
4
- import { useSwap } from "../swap/useSwap";
5
- export const useRouteWarnings = () => {
6
- const { toChain, destinationAddress } = useSwap();
7
- const { swapRoute } = useSwapRoutePersistStore();
8
- const needsFallbackAddress = useMemo(() => {
9
- return isFallbackAddressNeeded({
10
- address: destinationAddress?.address,
11
- currentFallbackAddress: swapRoute?.fallbackAddress,
12
- chain: toChain,
13
- });
14
- }, [destinationAddress?.address, swapRoute?.fallbackAddress, toChain]);
15
- return {
16
- needsFallbackAddress,
17
- };
18
- };
19
- //# sourceMappingURL=useRouteWarnings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRouteWarnings.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useRouteWarnings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,MAAM,EAAE,SAAS,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAEjD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,uBAAuB,CAAC;YAC7B,OAAO,EAAE,kBAAkB,EAAE,OAAO;YACpC,sBAAsB,EAAE,SAAS,EAAE,eAAe;YAClD,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvE,OAAO;QACL,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,91 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { useCallback, useMemo, useState } from "react";
4
- import { transactionEndStatuses } from "../../core/constants";
5
- import { keys } from "../../core/queries/queries-keys";
6
- import { TransactionStatus, } from "../../core/types/transaction";
7
- import { fetchTransactionStatus, getTransactionEndStatus, getTransactionStatus, getTxStatusRefetchInterval, is404Error, } from "../../services";
8
- import { WidgetEvents } from "../../services/internal/eventService";
9
- import { useSquidChains } from "../chains/useSquidChains";
10
- import { useConfigStore } from "../store/useSquidStore";
11
- import { useHistory } from "../user/useHistory";
12
- export const useSingleTransaction = ({ transaction, retry = 25, refetchOnWindowFocus = "always", enabled = true, }) => {
13
- const config = useConfigStore((state) => state.config);
14
- const isInitialized = useConfigStore((state) => state.isInitialized);
15
- const { replaceTransactionStatus, findHistoryItem } = useHistory();
16
- const [isTransactionComplete, setIsTransactionComplete] = useState(false);
17
- const [refetchInterval, setRefetchInterval] = useState(getTxStatusRefetchInterval(transaction));
18
- const { getChainType } = useSquidChains();
19
- const currentHistoryItem = useMemo(() => findHistoryItem(transaction?.transactionId), [findHistoryItem, transaction?.transactionId]);
20
- /**
21
- * Transaction status endpoint
22
- * Squid api is using axelar endpoint and parsing the response
23
- * @returns {StatusResponse} Status response
24
- */
25
- const fetchTransactionStatusWithLatestConfig = useCallback(async () => {
26
- const latestConfig = useConfigStore.getState().config;
27
- return fetchTransactionStatus({
28
- transaction,
29
- integratorId: latestConfig.integratorId,
30
- apiUrl: latestConfig.apiUrl,
31
- });
32
- }, [transaction]);
33
- const transactionStatusQuery = useQuery(keys().transactionStatus(transaction), fetchTransactionStatusWithLatestConfig, {
34
- enabled: enabled &&
35
- transaction?.transactionId !== "0" &&
36
- !!transaction?.transactionId &&
37
- !!transaction.fromAddress &&
38
- !!config.apiUrl &&
39
- transaction !== undefined &&
40
- !isTransactionComplete &&
41
- isInitialized &&
42
- !!currentHistoryItem?.status &&
43
- !transactionEndStatuses.includes(currentHistoryItem.status),
44
- refetchInterval(statusResponse) {
45
- // If the status response is something telling that the transaction
46
- // is finished, then store transaction history state if success
47
- // And return false to indicate refetcher to stop
48
- if (statusResponse &&
49
- transactionEndStatuses.includes(getTransactionStatus(statusResponse) ?? "")) {
50
- return false;
51
- }
52
- return refetchInterval; // Had to handle a variable here because after onError, we want the interval to stop
53
- },
54
- // At the moment Cosmos indexing takes more time, so need more time between retries
55
- retryDelay: getChainType(transaction?.fromChain) === ChainType.COSMOS ? 5000 : 3000,
56
- retry: getChainType(transaction?.fromChain) === ChainType.COSMOS ? 6 : retry,
57
- refetchOnWindowFocus,
58
- onSuccess: (data) => {
59
- const statusResponse = data;
60
- // Dispatch event
61
- WidgetEvents.getInstance().dispatchSwapStatus(statusResponse.squidTransactionStatus ?? "");
62
- const endStatus = getTransactionEndStatus({ statusResponse });
63
- if (endStatus && transaction?.transactionId) {
64
- setIsTransactionComplete(true);
65
- replaceTransactionStatus(transaction.transactionId, statusResponse, endStatus);
66
- }
67
- },
68
- onError: (error) => {
69
- // `fetchTransactionStatus` throws an error with a cause being an AxiosError
70
- const is404 = is404Error(error.cause);
71
- if (!transaction?.transactionId)
72
- return;
73
- if (is404) {
74
- replaceTransactionStatus(transaction.transactionId, undefined, TransactionStatus.NOT_FOUND);
75
- }
76
- else {
77
- setRefetchInterval(-1);
78
- setIsTransactionComplete(true);
79
- replaceTransactionStatus(transaction.transactionId, undefined, TransactionStatus.ERROR);
80
- }
81
- },
82
- });
83
- return {
84
- transactionStatusQuery,
85
- latestStatus: transactionStatusQuery.data
86
- ?.squidTransactionStatus ??
87
- transaction?.status ??
88
- currentHistoryItem?.status,
89
- };
90
- };
91
- //# sourceMappingURL=useSingleTransaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSingleTransaction.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useSingleTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- const zeroAddress = "0x0000000000000000000000000000000000000000";
3
- const avatarImagesBaseUrl = "https://raw.githubusercontent.com/0xsquid/assets/main/squid-brand-assets/pfps";
4
- const TOTAL_AVATARS = 60;
5
- const avatarImages = Array.from({
6
- length: TOTAL_AVATARS,
7
- }).map((_, i) => `${avatarImagesBaseUrl}/pfp${i + 1}.svg`);
8
- /**
9
- * Simple hash function to create a deterministic index from a given string.
10
- * @param {string} str - The input string to hash.
11
- * @param {number} max - The maximum value for the hash.
12
- * @returns {number} - The index within the array.
13
- */
14
- const hashStringToIndex = (str, max) => {
15
- let index = 0;
16
- for (let i = 0; i < str.length; i++) {
17
- index = (index * 31 + str.charCodeAt(i)) % max;
18
- }
19
- return index;
20
- };
21
- /**
22
- * Custom hook to return a deterministic avatar image URL based on the provided seed.
23
- * @param {string} seed - The seed used to determine the avatar.
24
- * @returns {string} - The selected avatar image URL.
25
- */
26
- export const useAvatar = (seed = zeroAddress) => {
27
- const [avatar, setAvatar] = useState("");
28
- useEffect(() => {
29
- const index = hashStringToIndex(seed, avatarImages.length);
30
- setAvatar(avatarImages[index]);
31
- }, [seed]);
32
- return avatar;
33
- };
34
- //# sourceMappingURL=useAvatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAvatar.js","sourceRoot":"","sources":["../../../src/hooks/user/useAvatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,GAAG,4CAA4C,CAAC;AAEjE,MAAM,mBAAmB,GACvB,+EAA+E,CAAC;AAElF,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,mBAAmB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE;IAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,KAAK,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;KAChD;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,WAAW,EAAU,EAAE;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3D,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,106 +0,0 @@
1
- import { useCallback, useMemo } from "react";
2
- import { TransactionStatus, } from "../../core/types/transaction";
3
- import { getBridgeType } from "../../services/internal/transactionStatusService";
4
- import { useHistoryStore } from "../store/useHistoryStore";
5
- export const useHistory = () => {
6
- const transactions = useHistoryStore((state) => state.transactions);
7
- const { persistTransaction, replaceTransactionStatus, removeTransaction, replaceTransactionAtNonce, } = useHistoryStore();
8
- const pendingTransactions = useMemo(() => {
9
- return transactions.filter((tx) => tx.status === TransactionStatus.INITIAL_LOADING ||
10
- tx.status === TransactionStatus.ONGOING ||
11
- tx.status === TransactionStatus.PENDING);
12
- }, [transactions]);
13
- const parseTransaction = (tx) => {
14
- if (!tx.transactionId || !tx.params.toAddress || !tx.params.fromAddress) {
15
- return null;
16
- }
17
- const simplifiedActions = tx.estimate?.actions?.map((action) => ({
18
- type: action.type,
19
- provider: action.provider,
20
- data: action.data,
21
- })) ?? [];
22
- return {
23
- fromChain: tx.params.fromChain,
24
- fromToken: tx.params.fromToken,
25
- fromAddress: tx.params.fromAddress,
26
- fromAmount: tx.params.fromAmount,
27
- toChain: tx.params.toChain,
28
- toToken: tx.params.toToken,
29
- toAddress: tx.params.toAddress,
30
- toAmount: tx.estimate.toAmount,
31
- toAmountMin: tx.estimate.toAmountMin,
32
- exchangeRate: tx.estimate.exchangeRate,
33
- aggregatePriceImpact: tx.estimate.aggregatePriceImpact,
34
- transactionId: tx.transactionId,
35
- transactionIdForStatus: tx.transactionIdForStatus,
36
- requestId: tx.requestId,
37
- fromAmountUSD: tx.estimate.fromAmountUSD,
38
- toAmountUSD: tx.estimate.toAmountUSD,
39
- toAmountMinUSD: tx.estimate.toAmountMinUSD,
40
- slippage: tx.params.slippage,
41
- status: tx.status,
42
- nonce: tx.nonce,
43
- routeType: tx.routeType,
44
- statusResponse: tx.statusResponse,
45
- sourceTxExplorerUrl: tx.sourceTxExplorerUrl,
46
- timestamp: tx.timestamp ?? Date.now(),
47
- bridgeType: getBridgeType(tx.estimate.actions),
48
- actions: simplifiedActions,
49
- };
50
- };
51
- const addTransaction = (tx) => {
52
- const simplifiedTx = parseTransaction(tx);
53
- if (simplifiedTx) {
54
- persistTransaction(simplifiedTx);
55
- }
56
- };
57
- const replaceNonceTx = (nonce, userAddress, tx) => {
58
- const simplifiedTx = parseTransaction(tx);
59
- if (simplifiedTx) {
60
- replaceTransactionAtNonce(nonce, userAddress, simplifiedTx);
61
- }
62
- };
63
- const findHistoryItem = useCallback((transactionID) => {
64
- return useHistoryStore
65
- .getState()
66
- .transactions?.find((th) => th.transactionId === transactionID);
67
- }, []);
68
- const globalStatus = useMemo(() => {
69
- const statusPriority = [
70
- {
71
- status: TransactionStatus.ERROR,
72
- check: (tx) => tx.status === TransactionStatus.ERROR,
73
- },
74
- {
75
- status: TransactionStatus.WARNING,
76
- check: (tx) => tx.status === TransactionStatus.WARNING,
77
- },
78
- {
79
- status: TransactionStatus.PENDING,
80
- check: (tx) => [
81
- TransactionStatus.PENDING,
82
- TransactionStatus.ONGOING,
83
- TransactionStatus.INITIAL_LOADING,
84
- ].includes(tx.status),
85
- },
86
- ];
87
- for (const { status, check } of statusPriority) {
88
- if (transactions.some(check)) {
89
- return status;
90
- }
91
- }
92
- return TransactionStatus.SUCCESS;
93
- }, [transactions]);
94
- return {
95
- transactions,
96
- addTransaction,
97
- replaceTransactionStatus,
98
- removeTransaction,
99
- globalStatus,
100
- replaceNonceTx,
101
- findHistoryItem,
102
- parseTransaction,
103
- pendingTransactions,
104
- };
105
- };
106
- //# sourceMappingURL=useHistory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../src/hooks/user/useHistory.ts"],"names":[],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useMemo } from "react";
3
- import { useConfigStore } from "../store/useSquidStore";
4
- import { useSwap } from "../swap/useSwap";
5
- export const useUserParams = () => {
6
- const enableGetGasOnDestination = useConfigStore((state) => state.config.enableGetGasOnDestination);
7
- const { fromToken, toToken, toChain, fromChain } = useSwap();
8
- // =============
9
- // GAS
10
- // =============
11
- const getGasOnDestSupportedForThisRoute = useMemo(() =>
12
- // Not supporting get gas on dest for same chains
13
- fromChain?.chainId !== toChain?.chainId &&
14
- // If the destination chain is cosmos, we don't support getting gas there
15
- toChain?.chainType !== ChainType.COSMOS &&
16
- // Not supporting get gas on dest for same tokens (bridge)
17
- ((fromToken?.subGraphIds?.some((sgi) => !!toToken?.subGraphIds?.includes(sgi)) &&
18
- toToken?.subGraphIds?.some((sgi) => !!fromToken?.subGraphIds?.includes(sgi))) ||
19
- // Except for uusdc -> uusdc
20
- (fromToken?.subGraphIds?.includes("uusdc") &&
21
- toToken?.subGraphIds?.includes("uusdc"))), [
22
- fromChain?.chainId,
23
- fromToken?.subGraphIds,
24
- toChain?.chainId,
25
- toToken?.subGraphIds,
26
- toChain?.chainType,
27
- ]);
28
- return {
29
- gasEnabled: enableGetGasOnDestination && getGasOnDestSupportedForThisRoute,
30
- getGasOnDestSupportedForThisRoute,
31
- };
32
- };
33
- //# sourceMappingURL=useUserParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useUserParams.js","sourceRoot":"","sources":["../../../src/hooks/user/useUserParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,yBAAyB,GAAG,cAAc,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAClD,CAAC;IAEF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAE7D,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,MAAM,iCAAiC,GAAG,OAAO,CAC/C,GAAG,EAAE;IACH,iDAAiD;IACjD,SAAS,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO;QACvC,yEAAyE;QACzE,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM;QACvC,0DAA0D;QAE1D,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CAC/C;YACC,OAAO,EAAE,WAAW,EAAE,IAAI,CACxB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,CACjD,CAAC;YACF,4BAA4B;YAC5B,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/C;QACE,SAAS,EAAE,OAAO;QAClB,SAAS,EAAE,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,SAAS;KACnB,CACF,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,yBAAyB,IAAI,iCAAiC;QAC1E,iCAAiC;KAClC,CAAC;AACJ,CAAC,CAAC"}