@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,298 +0,0 @@
1
- import { useMutation, useQueries, useQuery, } from "@tanstack/react-query";
2
- import { useMemo } from "react";
3
- import { v4 as uuidv4 } from "uuid";
4
- import { keys } from "../../core/queries/queries-keys";
5
- import { HistoryTxType, } from "../../core/types/history";
6
- import { WidgetEvents } from "../../services";
7
- import { OnrampService } from "../../services/external/onrampAdapter";
8
- import { countryCurrencyMap } from "../../services/internal/countryCurrencyMap";
9
- import { getCountryData, getCurrencyData, getSuggestedAmountsForCurrency, } from "../../services/internal/fiatToCryptoService";
10
- import { isWalletAddressValid } from "../../services/internal/walletService";
11
- import { useSquidChains } from "../chains/useSquidChains";
12
- import { useHistoryStore, } from "../store/useHistoryStore";
13
- import { useSquidTokens } from "../tokens/useSquidTokens";
14
- export const TX_STATUS_CONSTANTS = {
15
- RETRY_COUNT: 2,
16
- RETRY_DELAY: 60_000,
17
- REFETCH_INTERVAL: 30_000, // Check every 30 seconds
18
- };
19
- /**
20
- * Final transaction statuses that indicate the transaction has reached a terminal state
21
- */
22
- export const FINAL_TRANSACTION_STATUSES = [
23
- "completed",
24
- "failed",
25
- ];
26
- /**
27
- * Configuration for transaction status tracking
28
- */
29
- const createTransactionStatusConfig = ({ transactionId, walletAddress, providerId, replaceTransactionStatus, }) => {
30
- return {
31
- queryKey: keys().fiatToCryptoStatus(transactionId),
32
- queryFn: () => new OnrampService().getTransactionStatus(transactionId, walletAddress, providerId),
33
- enabled: !!transactionId && !!walletAddress && !!providerId,
34
- retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
35
- retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
36
- refetchInterval: (data) => {
37
- if (data?.status && FINAL_TRANSACTION_STATUSES.includes(data.status)) {
38
- return false;
39
- }
40
- return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
41
- },
42
- onSuccess: (data) => {
43
- if (data) {
44
- replaceTransactionStatus({
45
- txType: HistoryTxType.BUY,
46
- orderId: transactionId,
47
- status: data.status,
48
- transactionHash: data.transactionHash,
49
- });
50
- }
51
- },
52
- onError: () => {
53
- replaceTransactionStatus({
54
- txType: HistoryTxType.BUY,
55
- orderId: transactionId,
56
- status: "failed",
57
- transactionHash: undefined,
58
- });
59
- },
60
- };
61
- };
62
- /**
63
- * Fetches quotes for fiat to crypto conversion with provider details.
64
- * Returns available rates, fees, and supported payment methods for the conversion.
65
- */
66
- export const useGetFiatQuote = ({ fiatCurrency, cryptoCurrencyID, amount, region, paymentMethod, enabled = true, onSuccess, }) => {
67
- const service = useMemo(() => new OnrampService(), []);
68
- const { data: config } = useGetOnRampConfig();
69
- return useQuery({
70
- queryKey: keys().fiatToCryptoQuote(fiatCurrency, cryptoCurrencyID, amount, region, paymentMethod),
71
- queryFn: async () => {
72
- // Dispatch event before getting quote
73
- WidgetEvents.getInstance().dispatchOnrampQuoteRequest({
74
- fiatCurrency,
75
- cryptoCurrencyID,
76
- amount,
77
- region,
78
- paymentMethod,
79
- });
80
- const quoteResponse = await service.getQuote({
81
- fiatCurrency,
82
- cryptoCurrencyID,
83
- amount,
84
- region,
85
- paymentMethod,
86
- });
87
- // Enhance quotes with provider information from config
88
- if (quoteResponse.quotes && config?.supportedOnramps) {
89
- quoteResponse.quotes = quoteResponse.quotes.map((quote) => ({
90
- ...quote,
91
- providerIcon: config?.supportedOnramps?.find((provider) => provider.id === quote.onrampProviderId)?.icon,
92
- providerName: config?.supportedOnramps?.find((provider) => provider.id === quote.onrampProviderId)?.name || quote.providerName,
93
- }));
94
- }
95
- // If quotes array is empty, throw an error to preserve previous state
96
- if (quoteResponse.quotes.length === 0) {
97
- throw new Error("NO_QUOTES_AVAILABLE");
98
- }
99
- return quoteResponse;
100
- },
101
- enabled: enabled && !!fiatCurrency && !!cryptoCurrencyID && amount > 0,
102
- onSuccess,
103
- });
104
- };
105
- /**
106
- * Fetches and caches onramp provider configuration.
107
- * Includes supported tokens, payment methods, and country restrictions.
108
- */
109
- export const useGetOnRampConfig = () => {
110
- const service = useMemo(() => new OnrampService(), []);
111
- const { chains } = useSquidChains();
112
- const { tokens } = useSquidTokens();
113
- return useQuery({
114
- queryKey: keys().fiatToCryptoConfig(),
115
- queryFn: () => service.getConfiguration({
116
- chains,
117
- tokens,
118
- }),
119
- cacheTime: 1000 * 60 * 60,
120
- staleTime: 1000 * 60 * 30, // 30 minutes
121
- });
122
- };
123
- /**
124
- * Executes a fiat to crypto quote and creates an order.
125
- * Validates wallet address and persists transaction for tracking.
126
- */
127
- export const useExecuteFiatQuote = () => {
128
- const service = useMemo(() => new OnrampService(), []);
129
- const persistTransaction = useHistoryStore((state) => state.persistTransaction);
130
- const { findChain } = useSquidChains();
131
- return useMutation({
132
- mutationFn: async (executeQuoteRequest) => {
133
- const chain = findChain(executeQuoteRequest.squidToken?.chainId);
134
- if (!chain) {
135
- throw new Error("Chain not found");
136
- }
137
- if (!isWalletAddressValid(chain, executeQuoteRequest.walletAddress)) {
138
- throw new Error("Invalid wallet address for selected network");
139
- }
140
- // Revolut expects us to provide a quoteId, but Onramper already provides one
141
- const orderId = executeQuoteRequest.orderId ?? uuidv4();
142
- const executeQuoteRequestWithOrderId = {
143
- ...executeQuoteRequest,
144
- orderId,
145
- };
146
- // Dispatch event before executing quote
147
- WidgetEvents.getInstance().dispatchOnrampQuoteExecute(executeQuoteRequestWithOrderId);
148
- const executeQuoteResult = await service.executeQuote(executeQuoteRequestWithOrderId);
149
- return {
150
- ...executeQuoteResult,
151
- executeQuoteRequest: executeQuoteRequestWithOrderId,
152
- toChain: chain,
153
- };
154
- },
155
- onSuccess: (result) => {
156
- const { executeQuoteRequest, toChain, orderId } = result;
157
- persistTransaction({
158
- data: {
159
- orderId,
160
- fromFiatCurrency: executeQuoteRequest.fiatCurrency,
161
- fromAmount: executeQuoteRequest.amount.toString(),
162
- toCryptoCurrencyID: executeQuoteRequest.cryptoCurrencyID,
163
- fromCountryCode: executeQuoteRequest.region ?? "",
164
- toTokenAddress: executeQuoteRequest.squidToken?.address ?? "",
165
- toCryptoAmount: executeQuoteRequest.cryptoAmount.toString(),
166
- toChainId: toChain?.chainId ?? "",
167
- toAddress: executeQuoteRequest.walletAddress,
168
- status: "awaiting_payment",
169
- timestamp: Date.now(),
170
- providerId: executeQuoteRequest.providerId,
171
- },
172
- txType: HistoryTxType.BUY,
173
- });
174
- },
175
- });
176
- };
177
- /**
178
- * Tracks the status of a single fiat to crypto transaction.
179
- */
180
- export const useFiatOnRampTxStatus = (transactionId, walletAddress, providerId) => {
181
- const replaceTransactionStatus = useHistoryStore((state) => state.replaceTransactionStatus);
182
- return useQuery({
183
- ...createTransactionStatusConfig({
184
- transactionId,
185
- walletAddress,
186
- providerId,
187
- replaceTransactionStatus,
188
- }),
189
- });
190
- };
191
- /**
192
- * Tracks all pending fiat transactions.
193
- */
194
- export const useFiatTransactions = () => {
195
- const transactions = useHistoryStore((state) => state.transactions.filter((tx) => tx.txType === HistoryTxType.BUY));
196
- const replaceTransactionStatus = useHistoryStore((state) => state.replaceTransactionStatus);
197
- const pendingTransactions = useMemo(() => transactions?.filter((tx) => !FINAL_TRANSACTION_STATUSES.includes(tx.data.status)) ?? [], [transactions]);
198
- const queries = useQueries({
199
- queries: pendingTransactions.map((tx) => ({
200
- ...createTransactionStatusConfig({
201
- transactionId: tx.data.orderId,
202
- walletAddress: tx.data.toAddress,
203
- providerId: tx.data.providerId,
204
- replaceTransactionStatus,
205
- }),
206
- })),
207
- });
208
- return {
209
- transactions: transactions.map((tx) => tx.data),
210
- isLoading: queries.some((q) => q.isLoading),
211
- isError: queries.some((q) => q.isError),
212
- };
213
- };
214
- /**
215
- * Gets currency details including symbol and limits.
216
- * Example: USD → { symbol: "$", name: "US Dollar", ... }
217
- */
218
- export const useCurrencyDetails = (currencyCode) => {
219
- const { data: config } = useGetOnRampConfig();
220
- return useMemo(() => {
221
- if (!currencyCode)
222
- return undefined;
223
- const currencyData = getCurrencyData(currencyCode);
224
- const countryData = countryCurrencyMap.find((c) => c.currencyCode === currencyCode);
225
- if (currencyData) {
226
- return {
227
- ...currencyData,
228
- countryCode: countryData?.countryCode?.toLowerCase(),
229
- };
230
- }
231
- return undefined;
232
- }, [currencyCode, config?.supportedFiats]);
233
- };
234
- /**
235
- * Gets country details with flag URL and localized name.
236
- * Example: "US" → { name: "United States", flag: "🇺🇸", ... }
237
- */
238
- export const useCountryDetails = (countryCode) => {
239
- return useMemo(() => {
240
- if (!countryCode)
241
- return undefined;
242
- return getCountryData(countryCode);
243
- }, [countryCode]);
244
- };
245
- /**
246
- * Filters and returns only valid quotes that have available payment methods.
247
- * Ensures users only see quotes they can actually use.
248
- */
249
- export const useAvailableQuotes = (quotes) => {
250
- return useMemo(() => {
251
- if (!quotes?.length)
252
- return [];
253
- const validQuotes = quotes.filter((quote) => quote && quote.paymentMethods?.length > 0 && quote.rate);
254
- // Remove duplicates by provider name
255
- const uniqueQuotes = validQuotes.filter((quote, index, self) => index === self.findIndex((t) => t.providerName === quote.providerName));
256
- return uniqueQuotes;
257
- }, [quotes]);
258
- };
259
- /**
260
- * Gets the recommended quote based on best rates or provider preferences.
261
- * Falls back to first available quote if no specific recommendation.
262
- */
263
- export const useRecommendedQuote = (quotes, recommendedQuote) => {
264
- const availableQuotes = useAvailableQuotes(quotes);
265
- return useMemo(() => {
266
- if (!availableQuotes.length)
267
- return undefined;
268
- if (!recommendedQuote)
269
- return availableQuotes[0];
270
- // Try to find the recommended quote among available quotes
271
- const recommendedAvailableQuote = availableQuotes.find((quote) => quote.onrampProviderId === recommendedQuote.onrampProviderId);
272
- // If recommended quote is not available, return first available quote
273
- return recommendedAvailableQuote ?? availableQuotes[0];
274
- }, [availableQuotes, recommendedQuote]);
275
- };
276
- /**
277
- * Fetches the available payment methods for a given fiat and crypto currency pair.
278
- * The first item in the returned array is the most recommended.
279
- */
280
- export const useGetOnrampPaymentTypes = ({ fiatCurrency, cryptoCurrencyID, region, enabled = true, }) => {
281
- const service = useMemo(() => new OnrampService(), []);
282
- return useQuery({
283
- queryKey: keys().fiatToCryptoPaymentMethods(fiatCurrency, cryptoCurrencyID, region),
284
- queryFn: () => service.getPaymentTypes(fiatCurrency, cryptoCurrencyID, region),
285
- enabled: enabled && !!fiatCurrency && !!cryptoCurrencyID,
286
- });
287
- };
288
- /**
289
- * Returns 3 suggested fiat amounts for the given currency code, based on rateAgainstUSD
290
- */
291
- export function useSuggestedFiatAmounts(currencyCode) {
292
- return useMemo(() => {
293
- if (!currencyCode)
294
- return [50, 200, 1000];
295
- return getSuggestedAmountsForCurrency(currencyCode);
296
- }, [currencyCode]);
297
- }
298
- //# sourceMappingURL=useFiatToCrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFiatToCrypto.js","sourceRoot":"","sources":["../../../src/hooks/onramp/useFiatToCrypto.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { useQueryClient } from "@tanstack/react-query";
2
- import { getPrefixKey } from "../../core/queries/queries-keys";
3
- export const useSquidQueryClient = () => {
4
- const queryClient = useQueryClient();
5
- const invalidateQueries = (key) => {
6
- const prefixKey = getPrefixKey(key);
7
- queryClient.invalidateQueries(prefixKey);
8
- };
9
- const refetchQueries = (key) => {
10
- const prefixKey = getPrefixKey(key);
11
- queryClient.refetchQueries(prefixKey);
12
- };
13
- const invalidateAndRefetchQueries = (key) => {
14
- invalidateQueries(key);
15
- refetchQueries(key);
16
- };
17
- return {
18
- invalidateQueries,
19
- refetchQueries,
20
- invalidateAndRefetchQueries,
21
- };
22
- };
23
- //# sourceMappingURL=useSquidQueryClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSquidQueryClient.js","sourceRoot":"","sources":["../../../src/hooks/query/useSquidQueryClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAa,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,iBAAiB,GAAG,CAAC,GAAc,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,GAAc,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,CAAC,GAAc,EAAE,EAAE;QACrD,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvB,cAAc,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB;QACjB,cAAc;QACd,2BAA2B;KAC5B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,81 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { Connection } from "@solana/web3.js";
3
- import { useMutation } from "@tanstack/react-query";
4
- import { useCallback, useEffect, useRef } from "react";
5
- import { SOLANA_RPC_URL } from "../../core/constants";
6
- import { useWalletStore } from "../store/useWalletStore";
7
- import { useSolanaWallets } from "./useSolanaWallets";
8
- export function useSolana() {
9
- const disconnectWallet = useWalletStore((store) => store.disconnectWallet);
10
- const setConnectedWallet = useWalletStore((store) => store.setConnectedWallet);
11
- const { wallets } = useSolanaWallets();
12
- const connectedSolanaWallet = useWalletStore((store) => store.connectedWalletsByChainType[ChainType.SOLANA]);
13
- const recentSolanaWalletId = useWalletStore((store) => store.recentConnectorIds[ChainType.SOLANA]);
14
- const connectSolana = useMutation(async ({ wallet, }) => {
15
- try {
16
- // try to connect silently first
17
- await wallet.connector.autoConnect();
18
- }
19
- catch {
20
- // if auto-connect fails (e.g. not authorized yet)
21
- // fallback to connect via popup
22
- await wallet.connector.connect();
23
- }
24
- const address = wallet.connector.wallet.accounts[0].address;
25
- return {
26
- wallet,
27
- address,
28
- };
29
- });
30
- const disconnectSolana = useCallback(async () => {
31
- await connectedSolanaWallet.wallet?.connector.disconnect();
32
- }, [connectedSolanaWallet.wallet?.connector]);
33
- const autoConnectSolana = useCallback(async () => {
34
- const recentSolanaWallet = wallets.find((w) => w.connectorId === recentSolanaWalletId);
35
- if (!recentSolanaWallet) {
36
- return;
37
- }
38
- await recentSolanaWallet.connector.autoConnect();
39
- const [account] = recentSolanaWallet.connector.wallet.accounts;
40
- setConnectedWallet(ChainType.SOLANA, {
41
- wallet: recentSolanaWallet,
42
- address: account.address,
43
- });
44
- // eslint-disable-next-line react-hooks/exhaustive-deps
45
- }, [wallets.map((w) => w.connectorId), recentSolanaWalletId]);
46
- useEffect(() => {
47
- const wallet = connectedSolanaWallet.wallet;
48
- if (!wallet) {
49
- return;
50
- }
51
- function onConnect(newAddress) {
52
- if (wallet) {
53
- setConnectedWallet(ChainType.SOLANA, {
54
- wallet,
55
- address: newAddress.toString(),
56
- });
57
- }
58
- }
59
- function onDisconnect() {
60
- disconnectWallet(ChainType.SOLANA);
61
- }
62
- wallet.connector.on("connect", onConnect);
63
- wallet.connector.on("disconnect", onDisconnect);
64
- return () => {
65
- wallet.connector.off("connect", onConnect);
66
- wallet.connector.off("disconnect", onDisconnect);
67
- };
68
- }, [disconnectWallet, setConnectedWallet, connectedSolanaWallet.wallet]);
69
- return {
70
- connectSolana,
71
- disconnectSolana,
72
- autoConnectSolana,
73
- signer: connectedSolanaWallet.wallet?.connector,
74
- wallets,
75
- };
76
- }
77
- export const useSolanaConnection = () => {
78
- const connectionRef = useRef(new Connection(SOLANA_RPC_URL));
79
- return connectionRef.current;
80
- };
81
- //# sourceMappingURL=useSolana.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSolana.js","sourceRoot":"","sources":["../../../src/hooks/solana/useSolana.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { filterSolanaWallets } from "../../services/internal/solanaService";
2
- import { useStandardWallets } from "../wallet/useStandardWallets";
3
- export function useSolanaWallets() {
4
- return useStandardWallets({
5
- filterWallets: filterSolanaWallets,
6
- });
7
- }
8
- //# sourceMappingURL=useSolanaWallets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSolanaWallets.js","sourceRoot":"","sources":["../../../src/hooks/solana/useSolanaWallets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,CAAe;QACtC,aAAa,EAAE,mBAAmB;KACnC,CAAC,CAAC;AACL,CAAC"}
@@ -1,55 +0,0 @@
1
- import { useQuery } from "@tanstack/react-query";
2
- import { useMemo } from "react";
3
- import { keys } from "../../core/queries/queries-keys";
4
- import { initializeSquidWithAssetsColors } from "../../services";
5
- import { useAssetsColorsStore } from "../store/useAssetsColorsStore";
6
- import { useSquidStore } from "../store/useSquidStore";
7
- /**
8
- * Fetch squid info based on the current squid object
9
- * @param refetchInterval refetch at this frequency in milliseconds (or false to disable)
10
- * @returns tokens, chains, forceSquidInfoRefetch, squidInfoQuery
11
- */
12
- export const useSquid = () => {
13
- // Use initial squid object (because has infos about integrator id, ect)
14
- const squid = useSquidStore((state) => state.squid);
15
- const maintenanceMode = useSquidStore((state) => state.maintenanceMode);
16
- const assetsColors = useAssetsColorsStore();
17
- /**
18
- * Fetch squid info
19
- * Will refetch every minute
20
- */
21
- const squidInfoQuery = useQuery(keys().squidInfo(), async () => {
22
- if (squid) {
23
- await squid?.init();
24
- initializeSquidWithAssetsColors(squid, assetsColors);
25
- return squid;
26
- }
27
- return null;
28
- });
29
- const tokens = useMemo(() => {
30
- if ((squidInfoQuery?.data?.tokens ?? []).length > 0) {
31
- return squidInfoQuery?.data?.tokens;
32
- }
33
- else {
34
- return squid?.tokens ?? [];
35
- }
36
- }, [squidInfoQuery?.data?.tokens, squid?.tokens]);
37
- const chains = useMemo(() => {
38
- if ((squidInfoQuery?.data?.chains ?? []).length > 0) {
39
- return squidInfoQuery?.data?.chains;
40
- }
41
- else {
42
- return squid?.chains ?? [];
43
- }
44
- }, [squidInfoQuery?.data?.chains, squid?.chains]);
45
- // If needed, force refetch to get latest prices
46
- const forceSquidInfoRefetch = squidInfoQuery.refetch;
47
- return {
48
- tokens,
49
- chains,
50
- forceSquidInfoRefetch,
51
- squidInfoQuery,
52
- maintenanceMode,
53
- };
54
- };
55
- //# sourceMappingURL=useSquid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSquid.js","sourceRoot":"","sources":["../../../src/hooks/squid/useSquid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,wEAAwE;IAExE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAE5C;;;OAGG;IACH,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,IAAI,EAAE;QAC7D,IAAI,KAAK,EAAE;YACT,MAAM,KAAK,EAAE,IAAI,EAAE,CAAC;YACpB,+BAA+B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,OAAO,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC;SACrC;aAAM;YACL,OAAO,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,OAAO,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC;SACrC;aAAM;YACL,OAAO,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;SAC5B;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,CAAC;IAErD,OAAO;QACL,MAAM;QACN,MAAM;QACN,qBAAqB;QACrB,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,30 +0,0 @@
1
- import { create } from "zustand";
2
- import { persist } from "zustand/middleware";
3
- import { areSameAddress } from "../../services";
4
- export const useAddressBookStore = create(persist((set) => ({
5
- addressBook: [],
6
- add: (newAddressData) => {
7
- set((state) => {
8
- const alreadyExists = state.addressBook.some((savedAddress) => {
9
- return (savedAddress.chainType === newAddressData.chainType &&
10
- areSameAddress(savedAddress.address, newAddressData.address));
11
- });
12
- if (alreadyExists)
13
- return state;
14
- return {
15
- addressBook: [...state.addressBook, newAddressData],
16
- };
17
- });
18
- },
19
- remove: (addressToRemove) => {
20
- set((state) => {
21
- return {
22
- addressBook: state.addressBook.filter((savedAddress) => savedAddress.chainType !== addressToRemove.chainType ||
23
- !areSameAddress(savedAddress.address, addressToRemove.address)),
24
- };
25
- });
26
- },
27
- }), {
28
- name: "squid.addressbook.store",
29
- }));
30
- //# sourceMappingURL=useAddressBookStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAddressBookStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useAddressBookStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CACvC,OAAO,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACR,WAAW,EAAE,EAAE;IACf,GAAG,EAAE,CAAC,cAAc,EAAE,EAAE;QACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;gBAC5D,OAAO,CACL,YAAY,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS;oBACnD,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAC7D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa;gBAAE,OAAO,KAAK,CAAC;YAEhC,OAAO;gBACL,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC;aACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,CAAC,eAAe,EAAE,EAAE;QAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,OAAO;gBACL,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,CACnC,CAAC,YAAY,EAAE,EAAE,CACf,YAAY,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS;oBACpD,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CACjE;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,EACF;IACE,IAAI,EAAE,yBAAyB;CAChC,CACF,CACF,CAAC"}
@@ -1,7 +0,0 @@
1
- import { create } from "zustand";
2
- const initialState = {
3
- chains: {},
4
- tokens: {},
5
- };
6
- export const useAssetsColorsStore = create(() => initialState);
7
- //# sourceMappingURL=useAssetsColorsStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAssetsColorsStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useAssetsColorsStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,MAAM,YAAY,GAAiB;IACjC,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAe,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- import { create } from "zustand";
2
- export const useDepositAddressStore = create((set) => ({
3
- deposit: null,
4
- isEnabled: false,
5
- setDeposit: (data) => {
6
- set({ deposit: data });
7
- },
8
- toggleDepositFlow: (enabled) => {
9
- set({ isEnabled: enabled });
10
- },
11
- }));
12
- //# sourceMappingURL=useDepositAddressStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDepositAddressStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useDepositAddressStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,KAAK;IAEhB,UAAU,EAAE,CAAC,IAA4B,EAAE,EAAE;QAC3C,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,iBAAiB,EAAE,CAAC,OAAgB,EAAE,EAAE;QACtC,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC,CAAC,CAAC"}
@@ -1,28 +0,0 @@
1
- import { create } from "zustand";
2
- import { persist } from "zustand/middleware";
3
- export const useFavoriteTokensStore = create(persist((set, get) => ({
4
- favoriteTokens: [],
5
- addFavoriteToken(token) {
6
- set((state) => ({
7
- favoriteTokens: [...state.favoriteTokens, token],
8
- }));
9
- },
10
- removeFavoriteToken(token) {
11
- set((state) => ({
12
- favoriteTokens: state.favoriteTokens.filter((t) => t.chainId !== token.chainId || t.address !== token.address),
13
- }));
14
- },
15
- toggleFavoriteToken(token) {
16
- const isFavorite = get().favoriteTokens.some((t) => t.chainId === token.chainId && t.address === token.address);
17
- if (isFavorite) {
18
- get().removeFavoriteToken(token);
19
- }
20
- else {
21
- get().addFavoriteToken(token);
22
- }
23
- },
24
- }), {
25
- name: "squid.favorite.tokens.store",
26
- version: 1,
27
- }));
28
- //# sourceMappingURL=useFavoriteTokensStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFavoriteTokensStore.js","sourceRoot":"","sources":["../../../src/hooks/store/useFavoriteTokensStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAC1C,OAAO,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,cAAc,EAAE,EAAE;IAClB,gBAAgB,CAAC,KAAoB;QACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IACD,mBAAmB,CAAC,KAAoB;QACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACd,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IACD,mBAAmB,CAAC,KAAoB;QACtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAClE,CAAC;QAEF,IAAI,UAAU,EAAE;YACd,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;SAClC;aAAM;YACL,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC;CACF,CAAC,EACF;IACE,IAAI,EAAE,6BAA6B;IACnC,OAAO,EAAE,CAAC;CACX,CACF,CACF,CAAC"}