@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,390 +0,0 @@
1
- import { ActionType, BridgeType, ChainType, } from "@0xsquid/squid-types";
2
- import { transactionEndStatuses, transactionErrorStatuses, transactionRefundedStatuses, transactionSuccessStatuses, } from "../../core/constants";
3
- import { SquidStatusErrorType } from "../../core/types/error";
4
- import { HistoryTxType, } from "../../core/types/history";
5
- import { AxelarStatusResponseType, SendTransactionStatus, TransactionStatus, TransactionType, } from "../../core/types/transaction";
6
- import { FINAL_TRANSACTION_STATUSES } from "../../hooks/onramp/useFiatToCrypto";
7
- import { isStatusError } from "./errorService";
8
- import { getMainExplorerUrl, isCoralBridgeAction } from "./transactionService";
9
- /**
10
- * Get the steps for a transaction
11
- * First step and second step are always the same
12
- * @param transaction
13
- * @param statusResponse
14
- * @returns {TransactionStepStatus[]}
15
- */
16
- export const getStepStatuses = ({ transaction, statusResponse, onlyFullStatusStep, }) => {
17
- let firstStepStatus;
18
- // "warning" state is a custom one indicating that
19
- // the user is taking too much time to validate the transaction
20
- // And can be set to loading
21
- switch (transaction?.sourceStatus) {
22
- case "error":
23
- case "success":
24
- case "ongoing":
25
- firstStepStatus = transaction.sourceStatus;
26
- break;
27
- case "warning":
28
- firstStepStatus = TransactionStatus.ONGOING;
29
- break;
30
- default:
31
- firstStepStatus = TransactionStatus.PENDING;
32
- }
33
- let middleStepStatus = !onlyFullStatusStep && firstStepStatus !== "success"
34
- ? TransactionStatus.PENDING
35
- : middleStepChecker(statusResponse);
36
- const lastStepStatus = getLastStepStatus(firstStepStatus, middleStepStatus);
37
- // Once we have the last step status,
38
- // we have to override the middle step for some states
39
- middleStepStatus =
40
- middleStepStatus === "needs_gas" || middleStepStatus === "partial_success"
41
- ? TransactionStatus.SUCCESS
42
- : middleStepStatus;
43
- return onlyFullStatusStep
44
- ? [middleStepStatus]
45
- : [firstStepStatus, middleStepStatus, lastStepStatus];
46
- };
47
- const getLastStepStatus = (first, middle) => {
48
- if (first === TransactionStatus.PENDING ||
49
- first === "ongoing" ||
50
- first === "error") {
51
- return TransactionStatus.PENDING;
52
- }
53
- switch (middle) {
54
- case "initialLoading":
55
- case "ongoing":
56
- return TransactionStatus.PENDING;
57
- default:
58
- return middle;
59
- }
60
- };
61
- export const getHalfSuccessState = (status) => {
62
- switch (status) {
63
- case "success":
64
- return TransactionStatus.SUCCESS;
65
- case "partial_success": // Received axlUSDC
66
- return TransactionStatus.PARTIAL_SUCCESS;
67
- case "needs_gas":
68
- return TransactionStatus.NEEDS_GAS;
69
- default:
70
- return undefined;
71
- }
72
- };
73
- const middleStepChecker = (statusResponse) => {
74
- const squidStatus = statusResponse?.data;
75
- const successState = getHalfSuccessState(squidStatus?.squidTransactionStatus);
76
- if (successState) {
77
- return successState;
78
- }
79
- if (squidStatus?.status === AxelarStatusResponseType.ERROR) {
80
- const { error } = squidStatus;
81
- if (isStatusError(error)) {
82
- if (error.errorType === SquidStatusErrorType.NotFoundError) {
83
- return TransactionStatus.ERROR;
84
- }
85
- }
86
- return TransactionStatus.ERROR;
87
- }
88
- if (statusResponse?.isInitialLoading) {
89
- return TransactionStatus.INITIAL_LOADING;
90
- }
91
- return TransactionStatus.ONGOING;
92
- };
93
- export const getStepsInfos = ({ fromChain, toChain, fromToken, toToken, amount, txType, transaction, statusResponse, }) => {
94
- const [firstStepStatus, middleStepStatus, lastStepStatus] = getStepStatuses({
95
- transaction,
96
- statusResponse,
97
- });
98
- const payLabel = `Pay ${amount} ${fromToken?.symbol} on ${fromChain?.networkName}`;
99
- const swapForUSDCLabel = `Swap ${fromToken?.symbol} for axlUSDC`;
100
- const sendUSDCLabel = `Send axlUSDC to ${toChain?.networkName}`;
101
- const swapUSDCLabel = `Swap axlUSDC for ${toToken?.symbol}`;
102
- const receiveLabel = `Receive ${toToken?.symbol} on ${toChain?.networkName}`;
103
- const axelarUrl = getMainExplorerUrl(transaction);
104
- const sourceExplorerUrl = transaction?.sourceTxExplorerUrl;
105
- const destinationExplorerUrl = statusResponse?.data?.toChain?.transactionUrl;
106
- switch (txType) {
107
- case TransactionType.CALL_BRIDGE_CALL:
108
- return [
109
- {
110
- label: payLabel,
111
- status: firstStepStatus,
112
- link: sourceExplorerUrl,
113
- subTitle: "View on explorer",
114
- },
115
- {
116
- label: swapForUSDCLabel,
117
- status: firstStepStatus !== "success"
118
- ? TransactionStatus.PENDING
119
- : firstStepStatus,
120
- link: axelarUrl,
121
- subTitle: "View on Axelarscan",
122
- },
123
- {
124
- label: sendUSDCLabel,
125
- status: middleStepStatus,
126
- link: axelarUrl,
127
- subTitle: "View on Axelarscan",
128
- },
129
- {
130
- label: swapUSDCLabel,
131
- status: middleStepStatus !== "success"
132
- ? TransactionStatus.PENDING
133
- : middleStepStatus,
134
- link: axelarUrl,
135
- subTitle: "View on Axelarscan",
136
- },
137
- {
138
- label: receiveLabel,
139
- status: lastStepStatus,
140
- link: destinationExplorerUrl,
141
- subTitle: "View on explorer",
142
- },
143
- ];
144
- case TransactionType.CALL_BRIDGE:
145
- return [
146
- {
147
- label: payLabel,
148
- status: firstStepStatus,
149
- link: sourceExplorerUrl,
150
- subTitle: "View on explorer",
151
- },
152
- {
153
- label: swapForUSDCLabel,
154
- status: firstStepStatus !== "success"
155
- ? TransactionStatus.PENDING
156
- : firstStepStatus,
157
- link: axelarUrl,
158
- subTitle: "View on Axelarscan",
159
- },
160
- {
161
- label: sendUSDCLabel,
162
- status: middleStepStatus,
163
- link: axelarUrl,
164
- subTitle: "View on Axelarscan",
165
- },
166
- {
167
- label: receiveLabel,
168
- status: lastStepStatus,
169
- link: destinationExplorerUrl,
170
- subTitle: "View on explorer",
171
- },
172
- ];
173
- case TransactionType.BRIDGE:
174
- return [
175
- {
176
- label: payLabel,
177
- status: firstStepStatus,
178
- link: sourceExplorerUrl,
179
- subTitle: "View on explorer",
180
- },
181
- {
182
- label: sendUSDCLabel,
183
- status: firstStepStatus !== "success"
184
- ? TransactionStatus.PENDING
185
- : firstStepStatus,
186
- link: axelarUrl,
187
- subTitle: "View on Axelarscan",
188
- },
189
- {
190
- label: receiveLabel,
191
- status: lastStepStatus,
192
- link: destinationExplorerUrl,
193
- subTitle: "View on explorer",
194
- },
195
- ];
196
- case TransactionType.BRIDGE_CALL:
197
- return [
198
- {
199
- label: payLabel,
200
- status: firstStepStatus,
201
- link: sourceExplorerUrl,
202
- subTitle: "View on explorer",
203
- },
204
- {
205
- label: sendUSDCLabel,
206
- status: firstStepStatus !== "success"
207
- ? TransactionStatus.PENDING
208
- : firstStepStatus,
209
- link: axelarUrl,
210
- subTitle: "View on Axelarscan",
211
- },
212
- {
213
- label: swapUSDCLabel,
214
- status: middleStepStatus,
215
- link: axelarUrl,
216
- subTitle: "View on Axelarscan",
217
- },
218
- {
219
- label: receiveLabel,
220
- status: lastStepStatus,
221
- link: destinationExplorerUrl,
222
- subTitle: "View on explorer",
223
- },
224
- ];
225
- default:
226
- return [];
227
- }
228
- };
229
- const TX_STATUS_REFETCH_INTERVAL = {
230
- DEFAULT: 10_000,
231
- CORAL: 3_000,
232
- };
233
- /**
234
- * Returns the status refetch interval of a Swap transaction
235
- * Some routes have a faster refetch interval (i.e Coral RFQ routes)
236
- *
237
- * @returns Refetch interval in milliseconds
238
- */
239
- export const getSwapTxStatusRefetchInterval = (transaction) => {
240
- if ((transaction?.actions?.length ?? 0) < 1) {
241
- return TX_STATUS_REFETCH_INTERVAL.DEFAULT;
242
- }
243
- const isCoralRoute = transaction?.actions?.some(isCoralBridgeAction);
244
- if (isCoralRoute) {
245
- return TX_STATUS_REFETCH_INTERVAL.CORAL;
246
- }
247
- return TX_STATUS_REFETCH_INTERVAL.DEFAULT;
248
- };
249
- const chainTypeToRefetchInterval = {
250
- [ChainType.EVM]: 1_000,
251
- [ChainType.COSMOS]: 1_000,
252
- [ChainType.SOLANA]: 2_000,
253
- // BTC is slow, no need to refetch too often
254
- [ChainType.BTC]: 30_000,
255
- [ChainType.SUI]: 1_000,
256
- [ChainType.XRPL]: 1_000,
257
- };
258
- /**
259
- * Returns the status refetch interval of a Send transaction
260
- *
261
- * @returns Refetch interval in milliseconds
262
- */
263
- export const getSendTxStatusRefetchInterval = (chainType) => {
264
- return chainTypeToRefetchInterval[chainType];
265
- };
266
- // TODO: update types and use BridgeType instead
267
- export const chainflipMultihopBridgeType = "chainflipMultihop";
268
- // List taken from Squid API repo
269
- // Only certain bridges are supported, passing non-supported bridges to the API will throw an error
270
- // TODO: Important to keep this list updated
271
- const supportedBridgeTypes = [
272
- BridgeType.CCTP,
273
- BridgeType.NOBLE_CCTP,
274
- BridgeType.CHAINFLIP,
275
- chainflipMultihopBridgeType,
276
- BridgeType.RFQ,
277
- ];
278
- /**
279
- * Some routes have special bridges, like CCTP or Chainflip
280
- * Squid API is using a different status endpoint to track status of these bridges
281
- * Only certain bridges are supported
282
- * @param transaction
283
- * @returns
284
- */
285
- export const getBridgeType = (actions) => {
286
- const bridgeActions = actions?.filter((action) => action.type === ActionType.BRIDGE);
287
- if (bridgeActions?.length === 2) {
288
- const chainflipBridgeAction = bridgeActions.some((action) => action.data?.type === BridgeType.CHAINFLIP);
289
- const axelarGmpBridgeAction = bridgeActions.some((action) => action.data?.type === BridgeType.AXELAR_GMP);
290
- if (chainflipBridgeAction && axelarGmpBridgeAction) {
291
- return chainflipMultihopBridgeType;
292
- }
293
- }
294
- const firstBridgeAction = actions?.find((action) => action.type === ActionType.BRIDGE || action.type === ActionType.RFQ);
295
- const actionBridgeType = firstBridgeAction?.data?.type;
296
- if (!actionBridgeType)
297
- return;
298
- return supportedBridgeTypes.find((supportedBridgeType) => supportedBridgeType === actionBridgeType);
299
- };
300
- export const getTransactionStatus = (statusResponse) => {
301
- if (statusResponse.status)
302
- return statusResponse.status;
303
- if (statusResponse.squidTransactionStatus)
304
- return statusResponse.squidTransactionStatus;
305
- return undefined;
306
- };
307
- /**
308
- * Checks statusResponse of a transaction and returns the end status (if any)
309
- * If transaction status is not an end status, means the transaction is still pending
310
- *
311
- * End statuses are success, refunded, or error
312
- */
313
- export const getTransactionEndStatus = ({ statusResponse, }) => {
314
- const transactionStatus = getTransactionStatus(statusResponse);
315
- if (!transactionStatus)
316
- return;
317
- const isSuccessStatus = transactionSuccessStatuses.includes(transactionStatus);
318
- const isRefundedStatus = transactionRefundedStatuses.includes(transactionStatus);
319
- const isErrorStatus = transactionErrorStatuses.includes(transactionStatus);
320
- const isEndStatus = isSuccessStatus || isRefundedStatus || isErrorStatus;
321
- const newStatus = (() => {
322
- if (isSuccessStatus) {
323
- return TransactionStatus.SUCCESS;
324
- }
325
- else if (isRefundedStatus) {
326
- return TransactionStatus.REFUNDED;
327
- }
328
- else if (isErrorStatus) {
329
- return TransactionStatus.ERROR;
330
- }
331
- })();
332
- return isEndStatus && newStatus != null ? newStatus : undefined;
333
- };
334
- export function isHistoryTransactionPending({ txType, data, }) {
335
- switch (txType) {
336
- case HistoryTxType.SWAP:
337
- const swapTxPendingStatuses = [
338
- TransactionStatus.INITIAL_LOADING,
339
- TransactionStatus.ONGOING,
340
- TransactionStatus.PENDING,
341
- ];
342
- return swapTxPendingStatuses.includes(data.status);
343
- case HistoryTxType.BUY:
344
- const fiatTxPendingStatuses = [
345
- "awaiting_payment",
346
- "processing",
347
- ];
348
- return fiatTxPendingStatuses.includes(data.status);
349
- case HistoryTxType.SEND:
350
- const sendTxPendingStatuses = [
351
- SendTransactionStatus.ONGOING,
352
- ];
353
- return sendTxPendingStatuses.includes(data.status);
354
- }
355
- }
356
- export function isHistoryTransactionFailed({ txType, data, }) {
357
- switch (txType) {
358
- case HistoryTxType.SWAP:
359
- return data.status === TransactionStatus.ERROR;
360
- case HistoryTxType.BUY:
361
- return data.status === "failed";
362
- case HistoryTxType.SEND:
363
- return data.status === SendTransactionStatus.ERROR;
364
- }
365
- }
366
- export function isHistoryTransactionWarning({ txType, data, }) {
367
- switch (txType) {
368
- case HistoryTxType.SWAP:
369
- return data.status === TransactionStatus.WARNING;
370
- case HistoryTxType.BUY:
371
- case HistoryTxType.SEND:
372
- // there's no warning status for buy or send transactions
373
- return false;
374
- }
375
- }
376
- export function isHistoryTransactionEnded({ txType, data, }) {
377
- switch (txType) {
378
- case HistoryTxType.SWAP:
379
- return transactionEndStatuses.includes(data.status);
380
- case HistoryTxType.BUY:
381
- return FINAL_TRANSACTION_STATUSES.includes(data.status);
382
- case HistoryTxType.SEND:
383
- const sendTxEndedStatuses = [
384
- SendTransactionStatus.SUCCESS,
385
- SendTransactionStatus.ERROR,
386
- ];
387
- return sendTxEndedStatuses.includes(data.status);
388
- }
389
- }
390
- //# sourceMappingURL=transactionStatusService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionStatusService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionStatusService.ts"],"names":[],"mappings":"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"}