@0xsquid/react-hooks 7.8.0 → 8.0.0-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 (348) hide show
  1. package/dist/core/types/index.d.ts +2 -2
  2. package/dist/index-BVNZiGCx.js +6021 -0
  3. package/dist/index-BVNZiGCx.js.map +1 -0
  4. package/dist/index-BeLuO1uo.js +6021 -0
  5. package/dist/index-BeLuO1uo.js.map +1 -0
  6. package/dist/index-CGkGzcT3.js +41015 -0
  7. package/dist/index-CGkGzcT3.js.map +1 -0
  8. package/dist/index-DDz-C-VC.js +41267 -0
  9. package/dist/index-DDz-C-VC.js.map +1 -0
  10. package/dist/index.esm.js +36 -0
  11. package/dist/index.esm.js.map +1 -0
  12. package/dist/index.js +296 -6
  13. package/dist/index.js.map +1 -1
  14. package/dist/{services/external/secretService.js → secretService-D49fXkda.js} +43 -8
  15. package/dist/secretService-D49fXkda.js.map +1 -0
  16. package/dist/secretService-DeXE4j0J.js +168 -0
  17. package/dist/secretService-DeXE4j0J.js.map +1 -0
  18. package/package.json +18 -4
  19. package/dist/core/abis/ics20.json +0 -128
  20. package/dist/core/client/index.js +0 -38
  21. package/dist/core/client/index.js.map +0 -1
  22. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  23. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  24. package/dist/core/connectors/bitcoin/helpers.js +0 -91
  25. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  26. package/dist/core/connectors/bitcoin/index.js +0 -2
  27. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  28. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  29. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  30. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  31. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  32. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  33. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  34. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  35. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  36. package/dist/core/connectors/xrpl/CrossMark.js +0 -76
  37. package/dist/core/connectors/xrpl/CrossMark.js.map +0 -1
  38. package/dist/core/connectors/xrpl/WalletConnect.js +0 -194
  39. package/dist/core/connectors/xrpl/WalletConnect.js.map +0 -1
  40. package/dist/core/connectors/xrpl/Xaman.js +0 -71
  41. package/dist/core/connectors/xrpl/Xaman.js.map +0 -1
  42. package/dist/core/connectors/xrpl/XamanQr.js +0 -95
  43. package/dist/core/connectors/xrpl/XamanQr.js.map +0 -1
  44. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +0 -176
  45. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +0 -1
  46. package/dist/core/constants.js +0 -157
  47. package/dist/core/constants.js.map +0 -1
  48. package/dist/core/externalLinks.js +0 -21
  49. package/dist/core/externalLinks.js.map +0 -1
  50. package/dist/core/index.js +0 -4
  51. package/dist/core/index.js.map +0 -1
  52. package/dist/core/multicall3.js +0 -462
  53. package/dist/core/multicall3.js.map +0 -1
  54. package/dist/core/providers/BitcoinProvider.js +0 -15
  55. package/dist/core/providers/BitcoinProvider.js.map +0 -1
  56. package/dist/core/providers/CosmosProvider.js +0 -13
  57. package/dist/core/providers/CosmosProvider.js.map +0 -1
  58. package/dist/core/providers/EvmProvider.js +0 -15
  59. package/dist/core/providers/EvmProvider.js.map +0 -1
  60. package/dist/core/providers/SolanaProvider.js +0 -15
  61. package/dist/core/providers/SolanaProvider.js.map +0 -1
  62. package/dist/core/providers/SuiProvider.js +0 -15
  63. package/dist/core/providers/SuiProvider.js.map +0 -1
  64. package/dist/core/providers/XrplProvider.js +0 -15
  65. package/dist/core/providers/XrplProvider.js.map +0 -1
  66. package/dist/core/queries/queries-keys.js +0 -232
  67. package/dist/core/queries/queries-keys.js.map +0 -1
  68. package/dist/core/queries/react-query-config.js +0 -11
  69. package/dist/core/queries/react-query-config.js.map +0 -1
  70. package/dist/core/types/bitcoin.js +0 -2
  71. package/dist/core/types/bitcoin.js.map +0 -1
  72. package/dist/core/types/config.js +0 -2
  73. package/dist/core/types/config.js.map +0 -1
  74. package/dist/core/types/error.js +0 -18
  75. package/dist/core/types/error.js.map +0 -1
  76. package/dist/core/types/event.js +0 -2
  77. package/dist/core/types/event.js.map +0 -1
  78. package/dist/core/types/evm.js +0 -2
  79. package/dist/core/types/evm.js.map +0 -1
  80. package/dist/core/types/history.js +0 -7
  81. package/dist/core/types/history.js.map +0 -1
  82. package/dist/core/types/index.js +0 -4
  83. package/dist/core/types/index.js.map +0 -1
  84. package/dist/core/types/onramps/index.js +0 -3
  85. package/dist/core/types/onramps/index.js.map +0 -1
  86. package/dist/core/types/onramps/onramp.js +0 -2
  87. package/dist/core/types/onramps/onramp.js.map +0 -1
  88. package/dist/core/types/onramps/revolut.js +0 -2
  89. package/dist/core/types/onramps/revolut.js.map +0 -1
  90. package/dist/core/types/rpc.js +0 -2
  91. package/dist/core/types/rpc.js.map +0 -1
  92. package/dist/core/types/solana.js +0 -2
  93. package/dist/core/types/solana.js.map +0 -1
  94. package/dist/core/types/sui.js +0 -2
  95. package/dist/core/types/sui.js.map +0 -1
  96. package/dist/core/types/swap.js +0 -2
  97. package/dist/core/types/swap.js.map +0 -1
  98. package/dist/core/types/tokens.js +0 -2
  99. package/dist/core/types/tokens.js.map +0 -1
  100. package/dist/core/types/transaction.js +0 -47
  101. package/dist/core/types/transaction.js.map +0 -1
  102. package/dist/core/types/wallet.js +0 -19
  103. package/dist/core/types/wallet.js.map +0 -1
  104. package/dist/core/types/xrpl.js +0 -32
  105. package/dist/core/types/xrpl.js.map +0 -1
  106. package/dist/core/wagmiConfig.js +0 -81
  107. package/dist/core/wagmiConfig.js.map +0 -1
  108. package/dist/core/wallets.js +0 -357
  109. package/dist/core/wallets.js.map +0 -1
  110. package/dist/hooks/analytics/useTrackSearchEmpty.js +0 -22
  111. package/dist/hooks/analytics/useTrackSearchEmpty.js.map +0 -1
  112. package/dist/hooks/bitcoin/useBitcoin.js +0 -18
  113. package/dist/hooks/bitcoin/useBitcoin.js.map +0 -1
  114. package/dist/hooks/chains/useSquidChains.js +0 -96
  115. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  116. package/dist/hooks/client/useClient.js +0 -63
  117. package/dist/hooks/client/useClient.js.map +0 -1
  118. package/dist/hooks/cosmos/useCosmos.js +0 -167
  119. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  120. package/dist/hooks/cosmos/useCosmosForChain.js +0 -29
  121. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  122. package/dist/hooks/evm/useEvm.js +0 -68
  123. package/dist/hooks/evm/useEvm.js.map +0 -1
  124. package/dist/hooks/evm/useEvmWallets.js +0 -13
  125. package/dist/hooks/evm/useEvmWallets.js.map +0 -1
  126. package/dist/hooks/index.js +0 -54
  127. package/dist/hooks/index.js.map +0 -1
  128. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  129. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  130. package/dist/hooks/onramp/useFiatToCrypto.js +0 -298
  131. package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
  132. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  133. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  134. package/dist/hooks/solana/useSolana.js +0 -81
  135. package/dist/hooks/solana/useSolana.js.map +0 -1
  136. package/dist/hooks/solana/useSolanaWallets.js +0 -8
  137. package/dist/hooks/solana/useSolanaWallets.js.map +0 -1
  138. package/dist/hooks/squid/useSquid.js +0 -55
  139. package/dist/hooks/squid/useSquid.js.map +0 -1
  140. package/dist/hooks/store/useAddressBookStore.js +0 -30
  141. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  142. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  143. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  144. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  145. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  146. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  147. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  148. package/dist/hooks/store/useHistoryStore.js +0 -129
  149. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  150. package/dist/hooks/store/useSendTransactionStore.js +0 -21
  151. package/dist/hooks/store/useSendTransactionStore.js.map +0 -1
  152. package/dist/hooks/store/useSquidStore.js +0 -54
  153. package/dist/hooks/store/useSquidStore.js.map +0 -1
  154. package/dist/hooks/store/useWalletStore.js +0 -61
  155. package/dist/hooks/store/useWalletStore.js.map +0 -1
  156. package/dist/hooks/sui/useSui.js +0 -81
  157. package/dist/hooks/sui/useSui.js.map +0 -1
  158. package/dist/hooks/sui/useSuiWallets.js +0 -23
  159. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  160. package/dist/hooks/swap/useDepositAddress.js +0 -63
  161. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  162. package/dist/hooks/swap/useSwap.js +0 -228
  163. package/dist/hooks/swap/useSwap.js.map +0 -1
  164. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -114
  165. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  166. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -130
  167. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  168. package/dist/hooks/tokens/useBalance.js +0 -157
  169. package/dist/hooks/tokens/useBalance.js.map +0 -1
  170. package/dist/hooks/tokens/useMultiChainBalance.js +0 -77
  171. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  172. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  173. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  174. package/dist/hooks/tokens/useNativeBalance.js +0 -249
  175. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  176. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -30
  177. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  178. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  179. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  180. package/dist/hooks/tokens/useSquidTokens.js +0 -75
  181. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  182. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  183. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  184. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +0 -58
  185. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +0 -1
  186. package/dist/hooks/transaction/send/useSendTransaction.js +0 -245
  187. package/dist/hooks/transaction/send/useSendTransaction.js.map +0 -1
  188. package/dist/hooks/transaction/send/useSendTransactionGas.js +0 -73
  189. package/dist/hooks/transaction/send/useSendTransactionGas.js.map +0 -1
  190. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -127
  191. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  192. package/dist/hooks/transaction/useApproval.js +0 -246
  193. package/dist/hooks/transaction/useApproval.js.map +0 -1
  194. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  195. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  196. package/dist/hooks/transaction/useEstimate.js +0 -115
  197. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  198. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  199. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  200. package/dist/hooks/transaction/useExecuteTransaction.js +0 -678
  201. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  202. package/dist/hooks/transaction/useGetRoute.js +0 -207
  203. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  204. package/dist/hooks/transaction/useIcs20Allowance.js +0 -46
  205. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  206. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  207. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  208. package/dist/hooks/transaction/useSendTransactionStatus.js +0 -63
  209. package/dist/hooks/transaction/useSendTransactionStatus.js.map +0 -1
  210. package/dist/hooks/transaction/useSwapTransactionStatus.js +0 -114
  211. package/dist/hooks/transaction/useSwapTransactionStatus.js.map +0 -1
  212. package/dist/hooks/user/useAvatar.js +0 -40
  213. package/dist/hooks/user/useAvatar.js.map +0 -1
  214. package/dist/hooks/user/useHistory.js +0 -103
  215. package/dist/hooks/user/useHistory.js.map +0 -1
  216. package/dist/hooks/user/useUserParams.js +0 -33
  217. package/dist/hooks/user/useUserParams.js.map +0 -1
  218. package/dist/hooks/utils/useUtils.js +0 -20
  219. package/dist/hooks/utils/useUtils.js.map +0 -1
  220. package/dist/hooks/wallet/useAddToken.js +0 -49
  221. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  222. package/dist/hooks/wallet/useAutoConnect.js +0 -92
  223. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  224. package/dist/hooks/wallet/useEns.js +0 -57
  225. package/dist/hooks/wallet/useEns.js.map +0 -1
  226. package/dist/hooks/wallet/useGnosisContext.js +0 -74
  227. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  228. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  229. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  230. package/dist/hooks/wallet/useMultiChainWallet.js +0 -210
  231. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  232. package/dist/hooks/wallet/useSigner.js +0 -68
  233. package/dist/hooks/wallet/useSigner.js.map +0 -1
  234. package/dist/hooks/wallet/useStandardWallets.js +0 -26
  235. package/dist/hooks/wallet/useStandardWallets.js.map +0 -1
  236. package/dist/hooks/wallet/useWallet.js +0 -199
  237. package/dist/hooks/wallet/useWallet.js.map +0 -1
  238. package/dist/hooks/wallet/useWallets.js +0 -33
  239. package/dist/hooks/wallet/useWallets.js.map +0 -1
  240. package/dist/hooks/xrpl/useXrpl.js +0 -55
  241. package/dist/hooks/xrpl/useXrpl.js.map +0 -1
  242. package/dist/hooks/xrpl/useXrplTrustLine.js +0 -159
  243. package/dist/hooks/xrpl/useXrplTrustLine.js.map +0 -1
  244. package/dist/hooks/xrpl/useXrplWallets.js +0 -51
  245. package/dist/hooks/xrpl/useXrplWallets.js.map +0 -1
  246. package/dist/provider/index.js +0 -118
  247. package/dist/provider/index.js.map +0 -1
  248. package/dist/services/external/cosmosRestClient.js +0 -45
  249. package/dist/services/external/cosmosRestClient.js.map +0 -1
  250. package/dist/services/external/ens.js +0 -66
  251. package/dist/services/external/ens.js.map +0 -1
  252. package/dist/services/external/index.js +0 -3
  253. package/dist/services/external/index.js.map +0 -1
  254. package/dist/services/external/onrampAdapter.js +0 -52
  255. package/dist/services/external/onrampAdapter.js.map +0 -1
  256. package/dist/services/external/rpcService.js +0 -411
  257. package/dist/services/external/rpcService.js.map +0 -1
  258. package/dist/services/external/secretService.js.map +0 -1
  259. package/dist/services/external/suiRpcClient.js +0 -80
  260. package/dist/services/external/suiRpcClient.js.map +0 -1
  261. package/dist/services/external/tokenDataService.js +0 -108
  262. package/dist/services/external/tokenDataService.js.map +0 -1
  263. package/dist/services/external/websocket.js +0 -34
  264. package/dist/services/external/websocket.js.map +0 -1
  265. package/dist/services/external/xaman.js +0 -78
  266. package/dist/services/external/xaman.js.map +0 -1
  267. package/dist/services/external/xrplRpcClient.js +0 -167
  268. package/dist/services/external/xrplRpcClient.js.map +0 -1
  269. package/dist/services/index.js +0 -19
  270. package/dist/services/index.js.map +0 -1
  271. package/dist/services/internal/apiService.js +0 -21
  272. package/dist/services/internal/apiService.js.map +0 -1
  273. package/dist/services/internal/assetsService.js +0 -575
  274. package/dist/services/internal/assetsService.js.map +0 -1
  275. package/dist/services/internal/bitcoinService.js +0 -20
  276. package/dist/services/internal/bitcoinService.js.map +0 -1
  277. package/dist/services/internal/configService.js +0 -198
  278. package/dist/services/internal/configService.js.map +0 -1
  279. package/dist/services/internal/cosmosService.js +0 -141
  280. package/dist/services/internal/cosmosService.js.map +0 -1
  281. package/dist/services/internal/countryCurrencyMap.js +0 -1102
  282. package/dist/services/internal/countryCurrencyMap.js.map +0 -1
  283. package/dist/services/internal/errorService.js +0 -190
  284. package/dist/services/internal/errorService.js.map +0 -1
  285. package/dist/services/internal/estimateService.js +0 -225
  286. package/dist/services/internal/estimateService.js.map +0 -1
  287. package/dist/services/internal/eventService.js +0 -219
  288. package/dist/services/internal/eventService.js.map +0 -1
  289. package/dist/services/internal/evmService.js +0 -67
  290. package/dist/services/internal/evmService.js.map +0 -1
  291. package/dist/services/internal/fiatToCryptoService.js +0 -84
  292. package/dist/services/internal/fiatToCryptoService.js.map +0 -1
  293. package/dist/services/internal/fiatToCryptoService.test.js +0 -45
  294. package/dist/services/internal/fiatToCryptoService.test.js.map +0 -1
  295. package/dist/services/internal/numberService.js +0 -199
  296. package/dist/services/internal/numberService.js.map +0 -1
  297. package/dist/services/internal/priceService.js +0 -53
  298. package/dist/services/internal/priceService.js.map +0 -1
  299. package/dist/services/internal/searchService.js +0 -98
  300. package/dist/services/internal/searchService.js.map +0 -1
  301. package/dist/services/internal/sendTransaction.js +0 -191
  302. package/dist/services/internal/sendTransaction.js.map +0 -1
  303. package/dist/services/internal/sendTransactionStatus.js +0 -134
  304. package/dist/services/internal/sendTransactionStatus.js.map +0 -1
  305. package/dist/services/internal/solanaService.js +0 -142
  306. package/dist/services/internal/solanaService.js.map +0 -1
  307. package/dist/services/internal/suiService.js +0 -81
  308. package/dist/services/internal/suiService.js.map +0 -1
  309. package/dist/services/internal/transactionService.js +0 -210
  310. package/dist/services/internal/transactionService.js.map +0 -1
  311. package/dist/services/internal/transactionStatusService.js +0 -390
  312. package/dist/services/internal/transactionStatusService.js.map +0 -1
  313. package/dist/services/internal/walletService.js +0 -546
  314. package/dist/services/internal/walletService.js.map +0 -1
  315. package/dist/services/internal/walletStandardService.js +0 -128
  316. package/dist/services/internal/walletStandardService.js.map +0 -1
  317. package/dist/services/internal/xionService.js +0 -6
  318. package/dist/services/internal/xionService.js.map +0 -1
  319. package/dist/services/internal/xrplService.js +0 -52
  320. package/dist/services/internal/xrplService.js.map +0 -1
  321. package/dist/tests/apiService.test.js +0 -40
  322. package/dist/tests/apiService.test.js.map +0 -1
  323. package/dist/tests/assetsService.test.js +0 -614
  324. package/dist/tests/assetsService.test.js.map +0 -1
  325. package/dist/tests/configService.test.js +0 -641
  326. package/dist/tests/configService.test.js.map +0 -1
  327. package/dist/tests/estimateService.test.js +0 -429
  328. package/dist/tests/estimateService.test.js.map +0 -1
  329. package/dist/tests/fetchSquidData.js +0 -36
  330. package/dist/tests/fetchSquidData.js.map +0 -1
  331. package/dist/tests/jest-svg-transform.d.ts +0 -0
  332. package/dist/tests/jest-svg-transform.js +0 -21
  333. package/dist/tests/jest-svg-transform.js.map +0 -1
  334. package/dist/tests/numberService.test.js +0 -166
  335. package/dist/tests/numberService.test.js.map +0 -1
  336. package/dist/tests/priceService.test.js +0 -38
  337. package/dist/tests/priceService.test.js.map +0 -1
  338. package/dist/tests/sample.json +0 -0
  339. package/dist/tests/searchService.test.js +0 -86
  340. package/dist/tests/searchService.test.js.map +0 -1
  341. package/dist/tests/swapConfig.test.js +0 -332
  342. package/dist/tests/swapConfig.test.js.map +0 -1
  343. package/dist/tests/transactionService.test.js +0 -53
  344. package/dist/tests/transactionService.test.js.map +0 -1
  345. package/dist/tests/transactionStatusService.test.js +0 -165
  346. package/dist/tests/transactionStatusService.test.js.map +0 -1
  347. package/dist/tests/walletService.test.js +0 -488
  348. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,63 +0,0 @@
1
- import { useQuery } from "@tanstack/react-query";
2
- import { DEFAULT_COUNTRY_CODE } from "../../core/constants";
3
- import { keys } from "../../core/queries/queries-keys";
4
- import { countryCurrencyMap } from "../../services/internal/countryCurrencyMap";
5
- import { getUserCountry } from "../../services/internal/fiatToCryptoService";
6
- const CACHE_TIME = 1000 * 60 * 60 * 24 * 2; // 2 days
7
- const STALE_TIME = 1000 * 60 * 60 * 12; // 12 hours
8
- // List of European Union country codes that use the Euro
9
- const EU_COUNTRIES = [
10
- "at",
11
- "be",
12
- "bg",
13
- "hr",
14
- "cy",
15
- "cz",
16
- "dk",
17
- "ee",
18
- "fi",
19
- "fr",
20
- "de",
21
- "gr",
22
- "hu",
23
- "ie",
24
- "it",
25
- "lv",
26
- "lt",
27
- "lu",
28
- "mt",
29
- "nl",
30
- "pl",
31
- "pt",
32
- "ro",
33
- "sk",
34
- "si",
35
- "es",
36
- "se",
37
- ];
38
- export const useClient = () => {
39
- const isClient = typeof window !== "undefined";
40
- const clientWindow = isClient ? window : undefined;
41
- const { data: countryData } = useQuery({
42
- queryKey: keys().country(),
43
- queryFn: getUserCountry,
44
- enabled: isClient,
45
- retry: false,
46
- cacheTime: CACHE_TIME,
47
- staleTime: STALE_TIME,
48
- });
49
- const userCountry = countryData?.countryCode || DEFAULT_COUNTRY_CODE;
50
- // Get default currency based on user country
51
- const defaultCurrency = (() => {
52
- const userCountryLower = userCountry.toLowerCase();
53
- // Check if user is from an EU country
54
- if (EU_COUNTRIES.includes(userCountryLower)) {
55
- return "EUR";
56
- }
57
- // Fall back to country-specific currency or USD
58
- const countryInfo = countryCurrencyMap.find((c) => c.countryCode.toLowerCase() === userCountryLower);
59
- return countryInfo?.currencyCode || "USD";
60
- })();
61
- return { clientWindow, isClient, userCountry, defaultCurrency };
62
- };
63
- //# sourceMappingURL=useClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useClient.js","sourceRoot":"","sources":["../../../src/hooks/client/useClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS;AACrD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW;AAEnD,yDAAyD;AACzD,MAAM,YAAY,GAAG;IACnB,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC;QACrC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;QAC1B,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,IAAI,oBAAoB,CAAC;IAErE,6CAA6C;IAC7C,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAEnD,sCAAsC;QACtC,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAC3C,OAAO,KAAK,CAAC;SACd;QAED,gDAAgD;QAChD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,gBAAgB,CACxD,CAAC;QACF,OAAO,WAAW,EAAE,YAAY,IAAI,KAAK,CAAC;IAC5C,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAClE,CAAC,CAAC"}
@@ -1,167 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useMutation } from "@tanstack/react-query";
3
- import { useCallback, useEffect, useMemo, useState } from "react";
4
- import { CHAIN_IDS } from "../../core/constants";
5
- import { getCosmosChainInfosObject, getCosmosKey, suggestChainOrThrow, } from "../../services/internal/cosmosService";
6
- import { getConnectorForChainType } from "../../services/internal/walletService";
7
- import { useSquidChains } from "../chains/useSquidChains";
8
- import { useClient } from "../client/useClient";
9
- import { useSwapRoutePersistStore } from "../store/useSquidStore";
10
- import { useWalletStore } from "../store/useWalletStore";
11
- import { useSwap } from "../swap/useSwap";
12
- export const useCosmos = () => {
13
- const cosmosWalletState = useWalletStore((state) => state.connectedWalletsByChainType[ChainType.COSMOS]);
14
- const cosmosAddress = cosmosWalletState?.address;
15
- const isConnected = !!cosmosAddress;
16
- const cosmosConnectedWallet = cosmosWalletState.wallet;
17
- const [cosmosChainId, setCosmosChainId] = useState();
18
- const { fromChain } = useSwap();
19
- const { cosmosChains } = useSquidChains();
20
- const { clientWindow } = useClient();
21
- const { setConnectedWallet, disconnectWallet } = useWalletStore();
22
- const { keplrTypeWallet, signer: cosmosSigner } = useCosmosSigner({
23
- chain: fromChain,
24
- });
25
- const getCosmosAddressForChain = useCallback(async (chainId) => {
26
- return getCosmosKey(chainId, keplrTypeWallet);
27
- }, [keplrTypeWallet]);
28
- const getAddress = useCallback(async ({ cosmosWalletObject, chainId, }) => {
29
- const address = await getCosmosKey(chainId, cosmosWalletObject);
30
- return address ?? "";
31
- }, []);
32
- /**
33
- * Update wallet store with the new connected wallet
34
- * and update swap route store with the new derived fallback address
35
- */
36
- const updateWalletStore = useCallback(async (wallet, cosmosWalletObject, address) => {
37
- const osmosisAddress = await getCosmosKey(CHAIN_IDS.OSMOSIS, cosmosWalletObject);
38
- if (wallet) {
39
- setConnectedWallet(ChainType.COSMOS, {
40
- wallet: wallet,
41
- address,
42
- });
43
- }
44
- useSwapRoutePersistStore.setState((state) => ({
45
- ...state,
46
- swapRoute: {
47
- ...state.swapRoute,
48
- fallbackAddress: osmosisAddress,
49
- },
50
- }));
51
- }, [setConnectedWallet]);
52
- const handleKeplrAccountChanged = useCallback(async () => {
53
- if (cosmosChainId) {
54
- const address = await getCosmosKey(cosmosChainId, keplrTypeWallet);
55
- if (address) {
56
- await updateWalletStore(cosmosConnectedWallet, keplrTypeWallet, address);
57
- }
58
- }
59
- }, [
60
- cosmosChainId,
61
- keplrTypeWallet,
62
- updateWalletStore,
63
- cosmosConnectedWallet,
64
- ]);
65
- useEffect(() => {
66
- clientWindow?.addEventListener("keplr_keystorechange", () => handleKeplrAccountChanged());
67
- return () => {
68
- clientWindow?.removeEventListener("keplr_keystorechange", () => handleKeplrAccountChanged());
69
- };
70
- }, [handleKeplrAccountChanged, clientWindow]);
71
- const connectCosmos = useMutation(async ({ chain, wallet, approveAllChains = true, }) => {
72
- const chainInfos = getCosmosChainInfosObject(chain);
73
- const cosmosWalletObject = wallet.connector().provider;
74
- if (cosmosWalletObject) {
75
- setCosmosChainId(chainInfos.chainId.toString());
76
- try {
77
- if (approveAllChains &&
78
- typeof cosmosWalletObject.getChainInfosWithoutEndpoints ===
79
- "function") {
80
- try {
81
- const addedChains = await cosmosWalletObject.getChainInfosWithoutEndpoints();
82
- const addedChainIds = addedChains?.map((addedChain) => addedChain.chainId);
83
- const chainsToEnable = cosmosChains
84
- .filter((c) => addedChainIds?.includes(c.chainId.toString()))
85
- .map((c) => c.chainId.toString());
86
- await cosmosWalletObject.enable(chainsToEnable);
87
- }
88
- catch (error) {
89
- console.warn("Failed to get chain infos, falling back to single chain enable", error);
90
- await cosmosWalletObject.enable(chainInfos.chainId);
91
- }
92
- }
93
- else {
94
- await cosmosWalletObject.enable(chainInfos.chainId);
95
- }
96
- const address = await getAddress({
97
- chainId: chain.chainId.toString(),
98
- cosmosWalletObject,
99
- wallet,
100
- });
101
- if (address) {
102
- updateWalletStore(wallet, cosmosWalletObject, address);
103
- return address;
104
- }
105
- }
106
- catch (error) {
107
- await suggestChainOrThrow({
108
- chain,
109
- error,
110
- keplrTypeWallet: cosmosWalletObject,
111
- });
112
- return connectCosmos.mutateAsync({ chain, wallet });
113
- }
114
- }
115
- return undefined;
116
- });
117
- const clearData = () => {
118
- disconnectWallet(ChainType.COSMOS);
119
- };
120
- const onCosmosChainChange = (newChainId) => {
121
- if (newChainId !== cosmosChainId) {
122
- clearData();
123
- }
124
- };
125
- return {
126
- connectCosmos,
127
- cosmosChainId,
128
- isConnected,
129
- onCosmosChainChange,
130
- cosmosConnectedWallet,
131
- cosmosSigner,
132
- keplrTypeWallet,
133
- getCosmosAddressForChain,
134
- cosmosAddress,
135
- };
136
- };
137
- export function useCosmosSigner({ chain }) {
138
- const cosmosWalletState = useWalletStore((state) => state.connectedWalletsByChainType[ChainType.COSMOS]);
139
- /**
140
- * Get the appropriate Cosmos signer based on the chain
141
- * Noble chain requires full signer for CCTP messages
142
- * Other chains use Amino signer for Ledger compatibility
143
- */
144
- const getCosmosSignerForChain = useCallback((chainId, wallet) => {
145
- return chainId === CHAIN_IDS.NOBLE
146
- ? wallet.getOfflineSigner(chainId)
147
- : wallet.getOfflineSignerOnlyAmino(chainId);
148
- }, []);
149
- const connector = useMemo(() => {
150
- if (!cosmosWalletState?.wallet) {
151
- return undefined;
152
- }
153
- const cosmosConnector = getConnectorForChainType(cosmosWalletState.wallet, ChainType.COSMOS);
154
- if (!cosmosConnector)
155
- return undefined;
156
- return cosmosConnector()?.provider;
157
- }, [cosmosWalletState?.wallet]);
158
- const signer = useMemo(() => {
159
- if (!connector || chain?.chainType !== ChainType.COSMOS)
160
- return;
161
- // use Amino signer for Ledger compatibility
162
- const newCosmosSigner = getCosmosSignerForChain(chain.chainId, connector);
163
- return newCosmosSigner;
164
- }, [chain?.chainId, chain?.chainType, connector]);
165
- return { signer, keplrTypeWallet: connector };
166
- }
167
- //# sourceMappingURL=useCosmos.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCosmos.js","sourceRoot":"","sources":["../../../src/hooks/cosmos/useCosmos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAuB,EAAE;IAChD,MAAM,iBAAiB,GAAG,cAAc,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAC/D,CAAC;IAEF,MAAM,aAAa,GAAG,iBAAiB,EAAE,OAAO,CAAC;IACjD,MAAM,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC;IACpC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAEvD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACzE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAChC,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;IAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAAC;IACrC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAC;IAClE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QAChE,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG,WAAW,CAC1C,KAAK,EAAE,OAAgB,EAAE,EAAE;QACzB,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EAAE,EACL,kBAAkB,EAClB,OAAO,GAKR,EAAmB,EAAE;QACpB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAChE,OAAO,OAAO,IAAI,EAAE,CAAC;IACvB,CAAC,EACD,EAAE,CACH,CAAC;IAEF;;;OAGG;IACH,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,EACH,MAA0B,EAC1B,kBAAuB,EACvB,OAAe,EACf,EAAE;QACF,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,SAAS,CAAC,OAAO,EACjB,kBAAkB,CACnB,CAAC;QAEF,IAAI,MAAM,EAAE;YACV,kBAAkB,CAAC,SAAS,CAAC,MAAM,EAAE;gBACnC,MAAM,EAAE,MAAsB;gBAC9B,OAAO;aACR,CAAC,CAAC;SACJ;QACD,wBAAwB,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5C,GAAG,KAAK;YACR,SAAS,EAAE;gBACT,GAAG,KAAK,CAAC,SAAS;gBAClB,eAAe,EAAE,cAAc;aAChC;SACF,CAAC,CAAC,CAAC;IACN,CAAC,EACD,CAAC,kBAAkB,CAAC,CACrB,CAAC;IAEF,MAAM,yBAAyB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvD,IAAI,aAAa,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAEnE,IAAI,OAAO,EAAE;gBACX,MAAM,iBAAiB,CACrB,qBAAqB,EACrB,eAAe,EACf,OAAO,CACR,CAAC;aACH;SACF;IACH,CAAC,EAAE;QACD,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,qBAAqB;KACtB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,EAAE,gBAAgB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAC1D,yBAAyB,EAAE,CAC5B,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,YAAY,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAC7D,yBAAyB,EAAE,CAC5B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,CAAC;IAO9C,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,EACL,KAAK,EACL,MAAM,EACN,gBAAgB,GAAG,IAAI,GAKxB,EAA+B,EAAE;QAChC,MAAM,UAAU,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;QAEvD,IAAI,kBAAkB,EAAE;YACtB,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,IAAI;gBACF,IACE,gBAAgB;oBAChB,OAAO,kBAAkB,CAAC,6BAA6B;wBACrD,UAAU,EACZ;oBACA,IAAI;wBACF,MAAM,WAAW,GACf,MAAM,kBAAkB,CAAC,6BAA6B,EAAE,CAAC;wBAE3D,MAAM,aAAa,GAAG,WAAW,EAAE,GAAG,CACpC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CACnC,CAAC;wBAEF,MAAM,cAAc,GAAG,YAAY;6BAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;6BAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAEpC,MAAM,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;qBACjD;oBAAC,OAAO,KAAK,EAAE;wBACd,OAAO,CAAC,IAAI,CACV,gEAAgE,EAChE,KAAK,CACN,CAAC;wBACF,MAAM,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;qBACrD;iBACF;qBAAM;oBACL,MAAM,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBACrD;gBAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;oBAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACjC,kBAAkB;oBAClB,MAAM;iBACP,CAAC,CAAC;gBAEH,IAAI,OAAO,EAAE;oBACX,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBACvD,OAAO,OAAO,CAAC;iBAChB;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,mBAAmB,CAAC;oBACxB,KAAK;oBACL,KAAK;oBACL,eAAe,EAAE,kBAAkB;iBACpC,CAAC,CAAC;gBAEH,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;aACrD;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAE,EAAE;QACjD,IAAI,UAAU,KAAK,aAAa,EAAE;YAChC,SAAS,EAAE,CAAC;SACb;IACH,CAAC,CAAC;IAEF,OAAO;QACL,aAAa;QACb,aAAa;QACb,WAAW;QACX,mBAAmB;QACnB,qBAAqB;QACrB,YAAY;QACZ,eAAe;QACf,wBAAwB;QACxB,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAAoC;IAIzE,MAAM,iBAAiB,GAAG,cAAc,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAChB,CAAC;IAEjD;;;;OAIG;IACH,MAAM,uBAAuB,GAAG,WAAW,CACzC,CAAC,OAAe,EAAE,MAAa,EAAiB,EAAE;QAChD,OAAO,OAAO,KAAK,SAAS,CAAC,KAAK;YAChC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAClC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE;YAC9B,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,eAAe,GAAG,wBAAwB,CAC9C,iBAAiB,CAAC,MAAM,EACxB,SAAS,CAAC,MAAM,CACjB,CAAC;QAEF,IAAI,CAAC,eAAe;YAAE,OAAO,SAAS,CAAC;QAEvC,OAAO,eAAe,EAAE,EAAE,QAAiB,CAAC;IAC9C,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,SAAS,IAAI,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM;YAAE,OAAO;QAEhE,4CAA4C;QAC5C,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE1E,OAAO,eAAe,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AAChD,CAAC"}
@@ -1,29 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { keys } from "../../core/queries/queries-keys";
4
- import { getCosmosKey, suggestChainOrThrow, } from "../../services/internal/cosmosService";
5
- import { useCosmosSigner } from "./useCosmos";
6
- export const useCosmosForChain = (chain) => {
7
- const { keplrTypeWallet } = useCosmosSigner({ chain });
8
- const cosmosAddressQuery = useQuery(keys().cosmosAddress(chain?.chainId), async () => {
9
- if (!chain || !keplrTypeWallet)
10
- return "";
11
- try {
12
- const address = await getCosmosKey(chain.chainId, keplrTypeWallet);
13
- return address ?? "";
14
- }
15
- catch (error) {
16
- await suggestChainOrThrow({
17
- chain: chain,
18
- error,
19
- keplrTypeWallet,
20
- });
21
- const address = await getCosmosKey(chain.chainId, keplrTypeWallet);
22
- return address ?? "";
23
- }
24
- }, {
25
- enabled: !!keplrTypeWallet && chain?.chainType === ChainType.COSMOS,
26
- });
27
- return cosmosAddressQuery;
28
- };
29
- //# sourceMappingURL=useCosmosForChain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCosmosForChain.js","sourceRoot":"","sources":["../../../src/hooks/cosmos/useCosmosForChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,KAA4B,EACK,EAAE;IACnC,MAAM,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,QAAQ,CACjC,IAAI,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EACpC,KAAK,IAAI,EAAE;QACT,IAAI,CAAC,KAAK,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAC;QAE1C,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAEnE,OAAO,OAAO,IAAI,EAAE,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,mBAAmB,CAAC;gBACxB,KAAK,EAAE,KAAK;gBACZ,KAAK;gBACL,eAAe;aAChB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAEnE,OAAO,OAAO,IAAI,EAAE,CAAC;SACtB;IACH,CAAC,EACD;QACE,OAAO,EAAE,CAAC,CAAC,eAAe,IAAI,KAAK,EAAE,SAAS,KAAK,SAAS,CAAC,MAAM;KACpE,CACF,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC"}
@@ -1,68 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useMutation } from "@tanstack/react-query";
3
- import { useCallback, useEffect } from "react";
4
- import { useAccount, useConnect, useDisconnect } from "wagmi";
5
- import { useWalletStore } from "../store/useWalletStore";
6
- import { useEvmWallets } from "./useEvmWallets";
7
- export function useEvm() {
8
- const disconnectWallet = useWalletStore((store) => store.disconnectWallet);
9
- const setConnectedWallet = useWalletStore((store) => store.setConnectedWallet);
10
- const { connectAsync, connect } = useConnect();
11
- const { disconnect } = useDisconnect();
12
- const { address, connector } = useAccount();
13
- const { wallets } = useEvmWallets();
14
- const connectedEvmWallet = useWalletStore((store) => store.connectedWalletsByChainType[ChainType.EVM]);
15
- const recentEvmWalletId = useWalletStore((store) => store.recentConnectorIds[ChainType.EVM]);
16
- const connectEvm = useMutation(async ({ wallet, }) => {
17
- const result = await connectAsync({
18
- connector: wallet.connector,
19
- });
20
- const [firstAddress] = result.accounts;
21
- return {
22
- wallet,
23
- address: firstAddress,
24
- };
25
- });
26
- const disconnectEvm = useCallback(async () => {
27
- disconnect({ connector: connectedEvmWallet.wallet?.connector });
28
- }, [connectedEvmWallet.wallet?.connector, disconnect]);
29
- const autoConnectEvm = useCallback(async () => {
30
- const recentEvmWallet = wallets.find((w) => w.connectorId === recentEvmWalletId);
31
- if (!recentEvmWallet) {
32
- return;
33
- }
34
- const isAuthorized = await recentEvmWallet.connector.isAuthorized();
35
- if (!isAuthorized)
36
- return;
37
- connect({
38
- connector: recentEvmWallet.connector,
39
- });
40
- // eslint-disable-next-line react-hooks/exhaustive-deps
41
- }, [
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
- wallets.map((w) => w.connectorId),
44
- recentEvmWalletId,
45
- ]);
46
- useEffect(() => {
47
- if (!connector?.id || !address) {
48
- disconnectWallet(ChainType.EVM);
49
- return;
50
- }
51
- const connectedWallet = wallets.find((w) => w.rdns === connector.id);
52
- if (!connectedWallet)
53
- return;
54
- setConnectedWallet(ChainType.EVM, {
55
- wallet: connectedWallet,
56
- address,
57
- });
58
- // eslint-disable-next-line react-hooks/exhaustive-deps
59
- }, [address, connector?.id, disconnectWallet, setConnectedWallet]);
60
- return {
61
- connectEvm,
62
- disconnectEvm,
63
- autoConnectEvm,
64
- signer: connectedEvmWallet.wallet?.connector,
65
- wallets,
66
- };
67
- }
68
- //# sourceMappingURL=useEvm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEvm.js","sourceRoot":"","sources":["../../../src/hooks/evm/useEvm.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { useMemo } from "react";
2
- import { useConnectors } from "wagmi";
3
- import { filterWagmiConnector, formatEvmWallet, } from "../../services/internal/evmService";
4
- export function useEvmWallets() {
5
- const connectors = useConnectors();
6
- const wallets = useMemo(() => {
7
- return connectors.filter(filterWagmiConnector).map(formatEvmWallet);
8
- }, [connectors]);
9
- return {
10
- wallets,
11
- };
12
- }
13
- //# sourceMappingURL=useEvmWallets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEvmWallets.js","sourceRoot":"","sources":["../../../src/hooks/evm/useEvmWallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EACL,oBAAoB,EACpB,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,UAAU,aAAa;IAG3B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,54 +0,0 @@
1
- export { useTrackSearchEmpty } from "./analytics/useTrackSearchEmpty";
2
- export { useSquidChains } from "./chains/useSquidChains";
3
- export { useClient } from "./client/useClient";
4
- export { useCosmosForChain } from "./cosmos/useCosmosForChain";
5
- export { useKeyboardNavigation } from "./navigation/useKeyboardNavigation";
6
- export * from "./onramp/useFiatToCrypto";
7
- export { useSquidQueryClient } from "./query/useSquidQueryClient";
8
- export { useSquid } from "./squid/useSquid";
9
- export { useAddressBookStore } from "./store/useAddressBookStore";
10
- export { useAssetsColorsStore } from "./store/useAssetsColorsStore";
11
- export { useFavoriteTokensStore, } from "./store/useFavoriteTokensStore";
12
- export { useHistoryStore } from "./store/useHistoryStore";
13
- export { useSendTransactionStore } from "./store/useSendTransactionStore";
14
- export { useConfigStore, useSquidStore, useSwapRoutePersistStore, useTransactionStore, } from "./store/useSquidStore";
15
- export { ConnectingWalletStatus } from "./store/useWalletStore";
16
- export { useDepositAddress } from "./swap/useDepositAddress";
17
- export { useSwap } from "./swap/useSwap";
18
- export { useAllConnectedWalletBalances } from "./tokens/useAllConnectedWalletBalances";
19
- export { useAllTokensWithBalanceForChainType } from "./tokens/useAllTokensWithBalanceForChainType";
20
- export { useCosmosBalance, useEvmBalance } from "./tokens/useBalance";
21
- export { useMultiChainBalance } from "./tokens/useMultiChainBalance";
22
- export { useMultipleTokenPrices } from "./tokens/useMultipleTokenPrices";
23
- export { useNativeBalance } from "./tokens/useNativeBalance";
24
- export { useNativeTokenForChain } from "./tokens/useNativeTokenForChain";
25
- export { useSingleTokenPrice } from "./tokens/useSingleTokenPrice";
26
- export { useSquidTokens } from "./tokens/useSquidTokens";
27
- export { useHistoricalData, useTokensData, } from "./tokens/useTokenHistoricalData";
28
- export { useEstimateSendTransaction } from "./transaction/send/useEstimateSendTransactionGas";
29
- export { useSendTransaction } from "./transaction/send/useSendTransaction";
30
- export { useSendTransactionGas } from "./transaction/send/useSendTransactionGas";
31
- export { useAllTransactionsStatus } from "./transaction/useAllTransactionsStatus";
32
- export { useApproval } from "./transaction/useApproval";
33
- export { useEstimate } from "./transaction/useEstimate";
34
- export { useEstimatePriceImpact } from "./transaction/useEstimatePriceImpact";
35
- export { useExecuteTransaction } from "./transaction/useExecuteTransaction";
36
- export { useGetRoute, useGetRouteWrapper } from "./transaction/useGetRoute";
37
- export { useRouteWarnings } from "./transaction/useRouteWarnings";
38
- export { useSendTransactionStatus } from "./transaction/useSendTransactionStatus";
39
- export { useSwapTransactionStatus } from "./transaction/useSwapTransactionStatus";
40
- export { useAvatar } from "./user/useAvatar";
41
- export { useHistory } from "./user/useHistory";
42
- export { useUserParams } from "./user/useUserParams";
43
- export { useDebouncedValue } from "./utils/useUtils";
44
- export { useAddToken } from "./wallet/useAddToken";
45
- export { useAutoConnect } from "./wallet/useAutoConnect";
46
- export { useEnsDataForAddress, useEnsSearch } from "./wallet/useEns";
47
- export { useGnosisContext, useIsSameAddressAndGnosisContext, } from "./wallet/useGnosisContext";
48
- export { useIntegratorContext } from "./wallet/useIntegratorContext";
49
- export { useMultiChainWallet } from "./wallet/useMultiChainWallet";
50
- export { useSigner } from "./wallet/useSigner";
51
- export { useWallet } from "./wallet/useWallet";
52
- export { useWallets } from "./wallet/useWallets";
53
- export { useXrplTrustLine } from "./xrpl/useXrplTrustLine";
54
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,mCAAmC,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,aAAa,GACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EACL,gBAAgB,EAChB,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,67 +0,0 @@
1
- import { useCallback, useEffect } from "react";
2
- export const useKeyboardNavigation = (props) => {
3
- const { itemsListRef, activeListItemClassName = "", onEscape } = props ?? {};
4
- const onKeyDown = useCallback((event) => {
5
- if (event.key === "Escape") {
6
- onEscape?.();
7
- return;
8
- }
9
- if (activeListItemClassName.trim() === "")
10
- return;
11
- const itemsList = itemsListRef?.current;
12
- const separatedActiveItemClassNames = activeListItemClassName.split(" ");
13
- const defaultActiveItem = itemsList?.querySelector(`.${separatedActiveItemClassNames.join(".")}`);
14
- if (event.key === "ArrowUp") {
15
- if (!itemsList)
16
- return;
17
- event.preventDefault();
18
- const activeItem = defaultActiveItem ?? itemsList.lastElementChild;
19
- if (!activeItem)
20
- return;
21
- const previousItem = activeItem.previousElementSibling;
22
- if (previousItem) {
23
- activeItem.classList.remove(...separatedActiveItemClassNames);
24
- previousItem.classList.add(...separatedActiveItemClassNames);
25
- // scroll to previous item
26
- itemsList.scrollTo({
27
- top: (previousItem.offsetTop ?? 0) -
28
- itemsList.clientHeight,
29
- behavior: "smooth",
30
- });
31
- }
32
- }
33
- else if (event.key === "ArrowDown") {
34
- if (!itemsList)
35
- return;
36
- event.preventDefault();
37
- const activeItem = defaultActiveItem ?? itemsList.firstElementChild;
38
- if (!activeItem)
39
- return;
40
- const nextItem = activeItem.nextElementSibling;
41
- if (nextItem) {
42
- activeItem.classList.remove(...separatedActiveItemClassNames);
43
- nextItem.classList.add(...separatedActiveItemClassNames);
44
- // scroll to next item
45
- itemsList.scrollTo({
46
- top: (nextItem.offsetTop ?? 0) -
47
- itemsList.clientHeight,
48
- behavior: "smooth",
49
- });
50
- }
51
- }
52
- else if (event.key === "Enter") {
53
- event.preventDefault();
54
- if (defaultActiveItem) {
55
- // select active item
56
- defaultActiveItem.querySelector("button")?.click();
57
- }
58
- }
59
- }, [itemsListRef, activeListItemClassName]);
60
- useEffect(() => {
61
- document.addEventListener("keydown", onKeyDown, false);
62
- return () => {
63
- document.removeEventListener("keydown", onKeyDown, false);
64
- };
65
- }, [onKeyDown]);
66
- };
67
- //# sourceMappingURL=useKeyboardNavigation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/hooks/navigation/useKeyboardNavigation.ts"],"names":[],"mappings":"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"}