@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,198 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import get from "lodash/get";
3
- import { chainTypeToNativeTokenAddressMap, defaultConfigValues, } from "../../core/constants";
4
- import { keys } from "../../core/queries/queries-keys";
5
- import { getSupportedChainIdsForDirection, shareSubgraphId, } from "./assetsService";
6
- export const getConfigWithDefaults = (config) => {
7
- return {
8
- integratorId: get(config, "integratorId", defaultConfigValues.integratorId),
9
- slippage: get(config, "slippage", defaultConfigValues.slippage),
10
- collectFees: get(config, "collectFees", defaultConfigValues.collectFees),
11
- enableGetGasOnDestination: get(config, "enableGetGasOnDestination", defaultConfigValues.enableGetGasOnDestination),
12
- apiUrl: get(config, "apiUrl", defaultConfigValues.apiUrl),
13
- priceImpactWarnings: get(config, "priceImpactWarnings", defaultConfigValues.priceImpactWarnings),
14
- initialAssets: get(config, "initialAssets", defaultConfigValues.initialAssets),
15
- defaultTokensPerChain: get(config, "defaultTokensPerChain", defaultConfigValues.defaultTokensPerChain),
16
- loadPreviousStateFromLocalStorage: get(config, "loadPreviousStateFromLocalStorage", defaultConfigValues.loadPreviousStateFromLocalStorage),
17
- availableChains: get(config, "availableChains", defaultConfigValues.availableChains),
18
- availableTokensPerChain: get(config, "availableTokensPerChain", defaultConfigValues.availableTokensPerChain),
19
- disabledChains: get(config, "disabledChains", defaultConfigValues.disabledChains),
20
- degenMode: get(config, "degenMode", defaultConfigValues.degenMode),
21
- preHook: get(config, "preHook", defaultConfigValues.preHook),
22
- postHook: get(config, "postHook", defaultConfigValues.postHook),
23
- };
24
- };
25
- export const randomIntFromInterval = (min, max) => {
26
- return Math.floor(Math.random() * (max - min + 1) + min);
27
- };
28
- export const getTokensForChain = (tokens, chainId) => {
29
- return chainId ? tokens.filter((t) => t.chainId === chainId) : tokens;
30
- };
31
- /**
32
- * Returns the first available chain ID for a specific direction based on config.
33
- * If no initial chains are found in config, returns the first available chain ID.
34
- * @returns The first available chain ID.
35
- */
36
- export const getFirstAvailableChainId = (config, direction, chains = []) => {
37
- const supportedChainIds = getSupportedChainIdsForDirection(chains.map((c) => c.chainId), config, direction);
38
- const availableChains = chains.filter((c) => supportedChainIds.includes(c.chainId));
39
- // get initial chain ID from config
40
- const initialChainId = getInitialChainIdFromConfig({
41
- chains: availableChains,
42
- config,
43
- direction,
44
- });
45
- if (initialChainId)
46
- return initialChainId;
47
- // if no initial chain ID is found in config, return the first available chain ID
48
- return availableChains.length > 0 ? availableChains[0].chainId : undefined;
49
- };
50
- export const fetchHighestBalanceToken = (fetchCachedBalance, chainId) => {
51
- let address = undefined;
52
- if (fetchCachedBalance) {
53
- const queryCache = fetchCachedBalance?.queryClient?.getQueryCache();
54
- // get cached balance from key
55
- const cache = queryCache?.find(keys().allTokensBalance(fetchCachedBalance?.address, !isNaN(Number(chainId)) ? ChainType.EVM : ChainType.COSMOS));
56
- // Parse result to TokenWithBalance[]
57
- const cacheResult = cache?.state.data ?? [];
58
- if (cacheResult.length > 0) {
59
- const tokensWithBalance = cacheResult.filter((t) => t.chainId === chainId && Number(t.balance) > 0);
60
- if (tokensWithBalance.length > 0) {
61
- // Return the token with the highest balance
62
- // TODO: At the moment we're not taking into account usd price
63
- const tokenWithHighestBalance = tokensWithBalance.reduce((prev, current) => Number(prev.balance) > Number(current.balance) ? prev : current);
64
- if (tokenWithHighestBalance) {
65
- address = tokenWithHighestBalance.address;
66
- }
67
- }
68
- }
69
- }
70
- return address;
71
- };
72
- const findNativeTokenForChainType = (tokens) => {
73
- return tokens.find((t) => t.address.toLowerCase() ===
74
- chainTypeToNativeTokenAddressMap[t.type].toLowerCase());
75
- };
76
- /**
77
- * Returns the default token address for a specific chain and direction based on config.
78
- * If no default tokens are set in config, returns the native token for the specified chain
79
- *
80
- * @param tokens The list of tokens.
81
- * @param config App config
82
- * @param chainId The chain ID of the token
83
- * @param direction The direction of the swap
84
- * @param unavailableTokenAddress The token that is unavailable. Can be useful when we don't want to show the same token in the opposite direction
85
- * @returns
86
- */
87
- export const getInitialOrDefaultTokenAddressForChain = ({ tokens, config, chainId, direction, excludeToken, fetchCachedBalance, }) => {
88
- if (!chainId)
89
- return;
90
- const supportedChainIds = getSupportedChainIdsForDirection([chainId], config, direction);
91
- if (!supportedChainIds.includes(chainId))
92
- return;
93
- const configDefaultTokenForChain = config.defaultTokensPerChain?.find((token) => token.chainId == chainId);
94
- // get default token from config
95
- if (configDefaultTokenForChain &&
96
- configDefaultTokenForChain.address !== excludeToken?.address &&
97
- configDefaultTokenForChain.chainId !== excludeToken?.chainId) {
98
- return configDefaultTokenForChain.address;
99
- }
100
- // if no default token is found in config, try to get initial token
101
- const initialToken = getInitialTokenAddressForChain({
102
- chainId,
103
- config,
104
- direction,
105
- tokens,
106
- });
107
- if (initialToken)
108
- return initialToken;
109
- // At this point all has been tried to return via config params
110
- // But we can be smarter and see if a token has a balance and select that one
111
- const highestBalance = fetchHighestBalanceToken(fetchCachedBalance, chainId);
112
- if (highestBalance)
113
- return highestBalance;
114
- const filteredTokens = chainId
115
- ? tokens.filter((t) => t.chainId === chainId &&
116
- !(t.address == excludeToken?.address &&
117
- t.chainId === excludeToken?.chainId))
118
- : tokens;
119
- return (findNativeTokenForChainType(filteredTokens)?.address ||
120
- filteredTokens[0]?.address);
121
- };
122
- /**
123
- * Retrieves the initial token address for a specific chain and direction.
124
- * If no initial assets are set in config, returns undefined.
125
- *
126
- * @param tokens - The list of tokens.
127
- * @param config - The application configuration.
128
- * @param chainId - The ID of the chain.
129
- * @param direction - The direction ("from" or "to").
130
- * @returns The initial token address if found; otherwise, the default token address.
131
- */
132
- export const getInitialTokenAddressForChain = ({ chainId, config, direction, tokens, unavailableTokenAddress, }) => {
133
- if (config.initialAssets &&
134
- config.initialAssets?.[direction] &&
135
- config.initialAssets?.[direction]?.chainId === chainId &&
136
- config.initialAssets?.[direction]?.address !== unavailableTokenAddress &&
137
- // check if initial asset exists in tokens
138
- tokens.some((t) => t.chainId === config.initialAssets?.[direction]?.chainId &&
139
- t.address.toLowerCase() ===
140
- config.initialAssets?.[direction]?.address?.toLowerCase())) {
141
- return config.initialAssets?.[direction]?.address;
142
- }
143
- };
144
- /**
145
- * Filter tokens for destination chain
146
- *
147
- * Case 1: fromToken.bridgeOnly = true
148
- * Destination token list shows only tokens with the same commonKey as fromToken
149
- *
150
- * Case 2: fromToken.bridgeOnly = false
151
- * Destination token list shows all tokens with bridgeOnly = false
152
- * OR Destination token list shows all tokens with the same commonKey as fromToken
153
- * @param tokens
154
- * @param selectedDestinationChain
155
- * @param selectedSourceToken
156
- * @param removeSourceToken
157
- * @returns
158
- */
159
- export const filterTokensForDestination = ({ tokens, selectedDestinationChain, selectedSourceToken, removeSourceToken = false, }) => {
160
- let filteredTokens = [];
161
- if (selectedSourceToken?.subGraphOnly) {
162
- filteredTokens = tokens.filter((t) => shareSubgraphId(t, selectedSourceToken));
163
- }
164
- filteredTokens = tokens.filter((t) => !t.subGraphOnly || shareSubgraphId(t, selectedSourceToken));
165
- return filteredTokens.filter((t) => {
166
- const areSameToken = t.address === selectedSourceToken?.address &&
167
- t.chainId === selectedSourceToken.chainId;
168
- const isChainValid = !!selectedDestinationChain
169
- ? t.chainId === selectedDestinationChain?.chainId
170
- : true;
171
- if (removeSourceToken)
172
- return !areSameToken && isChainValid;
173
- // return all tokens if destination chain is not selected
174
- return isChainValid;
175
- });
176
- };
177
- /**
178
- * Returns the initial chain ID for a specific direction based on the provided chains and config.
179
- * @returns The initial chain ID if found in config; otherwise, undefined.
180
- */
181
- export const getInitialChainIdFromConfig = ({ config, direction, chains = [], }) => {
182
- if (chains.length === 0)
183
- return undefined;
184
- const supportedChainIds = getSupportedChainIdsForDirection(chains.map((c) => c.chainId), config, direction);
185
- const availableChains = chains.filter((c) => supportedChainIds.includes(c.chainId));
186
- if (direction === "from" &&
187
- config.initialAssets?.from &&
188
- availableChains.some((c) => c.chainId === String(config.initialAssets?.from?.chainId))) {
189
- return String(config.initialAssets.from.chainId);
190
- }
191
- if (direction === "to" &&
192
- config.initialAssets?.to &&
193
- availableChains.some((c) => c.chainId === String(config.initialAssets?.to?.chainId))) {
194
- return String(config.initialAssets.to.chainId);
195
- }
196
- return undefined;
197
- };
198
- //# sourceMappingURL=configService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configService.js","sourceRoot":"","sources":["../../../src/services/internal/configService.ts"],"names":[],"mappings":"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"}
@@ -1,141 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { fromBech32 } from "@cosmjs/encoding";
3
- import { CHAIN_IDS } from "../../core/constants";
4
- import { isUserRejectionError, normalizeError } from "./errorService";
5
- import { isXionSmartContractAddress } from "./xionService";
6
- /**
7
- * Get the cosmos address for a given chain
8
- * This might pop up a keplr modal to approve the chain
9
- * @param chainId
10
- * @param keplrTypeWallet
11
- * @returns Cosmos address
12
- */
13
- export const getCosmosKey = async (chainId, keplrTypeWallet) => {
14
- if (!chainId || !keplrTypeWallet)
15
- return undefined;
16
- const key = await keplrTypeWallet?.getKey(chainId);
17
- return key.bech32Address;
18
- };
19
- export const getKeysSettled = async (chainIds, keplrTypeWallet) => {
20
- if (!keplrTypeWallet)
21
- return [];
22
- const paramArray = chainIds.map((chainId) => getCosmosKey(chainId, keplrTypeWallet));
23
- return Promise.allSettled(paramArray);
24
- };
25
- /**
26
- * Get the cosmos address for a given chain
27
- * This might pop up a keplr modal to approve the chain
28
- * @param chainId
29
- * @param keplrTypeWallet
30
- * @returns Cosmos address
31
- */
32
- export const getAllKeysForSupportedCosmosChains = async (chainIds, keplrTypeWallet) => {
33
- if (!keplrTypeWallet)
34
- return [];
35
- const addresses = [];
36
- for (const chainId of chainIds) {
37
- try {
38
- const keys = await getKeysSettled([chainId], keplrTypeWallet);
39
- keys.forEach((key) => {
40
- if (key.status === "fulfilled" && key.value) {
41
- const bech32Address = key.value;
42
- addresses.push({
43
- address: bech32Address,
44
- chainId,
45
- });
46
- }
47
- });
48
- }
49
- catch (error) {
50
- console.debug(`Failed to get keys for chain ${chainId}:`, error);
51
- }
52
- }
53
- return addresses;
54
- };
55
- export const isCosmosAddressValid = (chainPrefix, address) => {
56
- try {
57
- if (!address.toLowerCase().startsWith(chainPrefix)) {
58
- throw new Error("Invalid address for this chain");
59
- }
60
- fromBech32(address);
61
- return true;
62
- }
63
- catch (error) {
64
- return false;
65
- }
66
- };
67
- export const getCosmosSigningClient = async ({ chainRpc, cosmosSigner, defaultSigningClient, }) => {
68
- if (!cosmosSigner)
69
- return null;
70
- // const cosmosClient = (await isNomos())
71
- // ? SigningNomosClient.connectWithSigner(chainRpc, cosmosSigner) // use Nomos provider
72
- return defaultSigningClient.connectWithSigner(chainRpc, cosmosSigner); // use default cosmos provider
73
- };
74
- export const getCosmosChainInfosObject = (chain) => {
75
- // Clone the chain to avoid mutating the original object
76
- const cosmosChain = structuredClone(chain);
77
- //
78
- // TODO: In the future, it will be better to do this parsing on backend side.
79
- //
80
- // The `gasPriceStep` field of the `ChainInfo` has been moved under `feeCurrencies`.
81
- // This is automatically handled as of right now, but the upcoming update would potentially cause errors.
82
- delete cosmosChain.gasPriceStep;
83
- // The `coinType` field of the `ChainInfo` is removed. This is automatically handled as of right now,
84
- // but the upcoming update would potentially cause errors.
85
- delete cosmosChain.coinType;
86
- return {
87
- ...cosmosChain,
88
- feeCurrencies: cosmosChain.feeCurrencies.map((feeCurrency) => ({
89
- ...feeCurrency,
90
- // Gas price step is now under feeCurrencies
91
- gasPriceStep: cosmosChain.gasPriceStep,
92
- })),
93
- chainName: cosmosChain.networkName,
94
- chainId: cosmosChain.chainId.toString(),
95
- rpc: cosmosChain.rpc.split("?chain")[0],
96
- };
97
- };
98
- export const connectCosmosWallet = async (wallet, defaultChain, { connectCosmos, cosmosConnectedWallet, }) => {
99
- if (wallet.connectorId === cosmosConnectedWallet?.connectorId ||
100
- defaultChain === undefined) {
101
- return null;
102
- }
103
- const address = await connectCosmos?.mutateAsync({
104
- chain: defaultChain,
105
- wallet: wallet,
106
- });
107
- if (address) {
108
- return { wallet, address };
109
- }
110
- return null;
111
- };
112
- export const isFallbackAddressNeeded = ({ currentFallbackAddress, address, chain, }) => {
113
- // If fallback address is already set or chain is not Cosmos
114
- // fallback address is not needed
115
- if (currentFallbackAddress || chain?.chainType !== ChainType.COSMOS) {
116
- return false;
117
- }
118
- // For Xion, check if address is 63 chars (smart contract account abstraction)
119
- if (chain.chainId === CHAIN_IDS.XION) {
120
- return isXionSmartContractAddress(address);
121
- }
122
- // For other Cosmos chains, check coinType
123
- return chain.coinType !== 118;
124
- };
125
- /**
126
- * Cosmos wallets may throw an error if the chain the user is trying to use is not added to the wallet.
127
- * For those cases, some wallets expose a method for adding new chains to the user wallet.
128
- *
129
- * This method will try to add the provided chain, throwing an error if the request fails
130
- * or if the original error indicates that the user rejected the request.
131
- */
132
- export async function suggestChainOrThrow({ keplrTypeWallet, chain, error, }) {
133
- if (isUserRejectionError(normalizeError(error))) {
134
- throw error;
135
- }
136
- if (typeof keplrTypeWallet.experimentalSuggestChain !== "function") {
137
- throw error;
138
- }
139
- await keplrTypeWallet.experimentalSuggestChain(getCosmosChainInfosObject(chain));
140
- }
141
- //# sourceMappingURL=cosmosService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cosmosService.js","sourceRoot":"","sources":["../../../src/services/internal/cosmosService.ts"],"names":[],"mappings":"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"}