@0xsquid/react-hooks 7.8.0 → 8.0.0-beta.0

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 (347) hide show
  1. package/dist/index-B3FG6tRj.js +6021 -0
  2. package/dist/index-B3FG6tRj.js.map +1 -0
  3. package/dist/index-CeIwio11.js +41015 -0
  4. package/dist/index-CeIwio11.js.map +1 -0
  5. package/dist/index-CjYMwYuT.js +41267 -0
  6. package/dist/index-CjYMwYuT.js.map +1 -0
  7. package/dist/index-CoxuUJzG.js +6021 -0
  8. package/dist/index-CoxuUJzG.js.map +1 -0
  9. package/dist/index.esm.js +36 -0
  10. package/dist/index.esm.js.map +1 -0
  11. package/dist/index.js +292 -6
  12. package/dist/index.js.map +1 -1
  13. package/dist/secretService-C6ack504.js +168 -0
  14. package/dist/secretService-C6ack504.js.map +1 -0
  15. package/dist/{services/external/secretService.js → secretService-CgLleYSR.js} +43 -8
  16. package/dist/secretService-CgLleYSR.js.map +1 -0
  17. package/package.json +18 -4
  18. package/dist/core/abis/ics20.json +0 -128
  19. package/dist/core/client/index.js +0 -38
  20. package/dist/core/client/index.js.map +0 -1
  21. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  22. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  23. package/dist/core/connectors/bitcoin/helpers.js +0 -91
  24. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  25. package/dist/core/connectors/bitcoin/index.js +0 -2
  26. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  27. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  28. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  29. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  30. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  31. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  32. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  33. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  34. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  35. package/dist/core/connectors/xrpl/CrossMark.js +0 -76
  36. package/dist/core/connectors/xrpl/CrossMark.js.map +0 -1
  37. package/dist/core/connectors/xrpl/WalletConnect.js +0 -194
  38. package/dist/core/connectors/xrpl/WalletConnect.js.map +0 -1
  39. package/dist/core/connectors/xrpl/Xaman.js +0 -71
  40. package/dist/core/connectors/xrpl/Xaman.js.map +0 -1
  41. package/dist/core/connectors/xrpl/XamanQr.js +0 -95
  42. package/dist/core/connectors/xrpl/XamanQr.js.map +0 -1
  43. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +0 -176
  44. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +0 -1
  45. package/dist/core/constants.js +0 -157
  46. package/dist/core/constants.js.map +0 -1
  47. package/dist/core/externalLinks.js +0 -21
  48. package/dist/core/externalLinks.js.map +0 -1
  49. package/dist/core/index.js +0 -4
  50. package/dist/core/index.js.map +0 -1
  51. package/dist/core/multicall3.js +0 -462
  52. package/dist/core/multicall3.js.map +0 -1
  53. package/dist/core/providers/BitcoinProvider.js +0 -15
  54. package/dist/core/providers/BitcoinProvider.js.map +0 -1
  55. package/dist/core/providers/CosmosProvider.js +0 -13
  56. package/dist/core/providers/CosmosProvider.js.map +0 -1
  57. package/dist/core/providers/EvmProvider.js +0 -15
  58. package/dist/core/providers/EvmProvider.js.map +0 -1
  59. package/dist/core/providers/SolanaProvider.js +0 -15
  60. package/dist/core/providers/SolanaProvider.js.map +0 -1
  61. package/dist/core/providers/SuiProvider.js +0 -15
  62. package/dist/core/providers/SuiProvider.js.map +0 -1
  63. package/dist/core/providers/XrplProvider.js +0 -15
  64. package/dist/core/providers/XrplProvider.js.map +0 -1
  65. package/dist/core/queries/queries-keys.js +0 -232
  66. package/dist/core/queries/queries-keys.js.map +0 -1
  67. package/dist/core/queries/react-query-config.js +0 -11
  68. package/dist/core/queries/react-query-config.js.map +0 -1
  69. package/dist/core/types/bitcoin.js +0 -2
  70. package/dist/core/types/bitcoin.js.map +0 -1
  71. package/dist/core/types/config.js +0 -2
  72. package/dist/core/types/config.js.map +0 -1
  73. package/dist/core/types/error.js +0 -18
  74. package/dist/core/types/error.js.map +0 -1
  75. package/dist/core/types/event.js +0 -2
  76. package/dist/core/types/event.js.map +0 -1
  77. package/dist/core/types/evm.js +0 -2
  78. package/dist/core/types/evm.js.map +0 -1
  79. package/dist/core/types/history.js +0 -7
  80. package/dist/core/types/history.js.map +0 -1
  81. package/dist/core/types/index.js +0 -4
  82. package/dist/core/types/index.js.map +0 -1
  83. package/dist/core/types/onramps/index.js +0 -3
  84. package/dist/core/types/onramps/index.js.map +0 -1
  85. package/dist/core/types/onramps/onramp.js +0 -2
  86. package/dist/core/types/onramps/onramp.js.map +0 -1
  87. package/dist/core/types/onramps/revolut.js +0 -2
  88. package/dist/core/types/onramps/revolut.js.map +0 -1
  89. package/dist/core/types/rpc.js +0 -2
  90. package/dist/core/types/rpc.js.map +0 -1
  91. package/dist/core/types/solana.js +0 -2
  92. package/dist/core/types/solana.js.map +0 -1
  93. package/dist/core/types/sui.js +0 -2
  94. package/dist/core/types/sui.js.map +0 -1
  95. package/dist/core/types/swap.js +0 -2
  96. package/dist/core/types/swap.js.map +0 -1
  97. package/dist/core/types/tokens.js +0 -2
  98. package/dist/core/types/tokens.js.map +0 -1
  99. package/dist/core/types/transaction.js +0 -47
  100. package/dist/core/types/transaction.js.map +0 -1
  101. package/dist/core/types/wallet.js +0 -19
  102. package/dist/core/types/wallet.js.map +0 -1
  103. package/dist/core/types/xrpl.js +0 -32
  104. package/dist/core/types/xrpl.js.map +0 -1
  105. package/dist/core/wagmiConfig.js +0 -81
  106. package/dist/core/wagmiConfig.js.map +0 -1
  107. package/dist/core/wallets.js +0 -357
  108. package/dist/core/wallets.js.map +0 -1
  109. package/dist/hooks/analytics/useTrackSearchEmpty.js +0 -22
  110. package/dist/hooks/analytics/useTrackSearchEmpty.js.map +0 -1
  111. package/dist/hooks/bitcoin/useBitcoin.js +0 -18
  112. package/dist/hooks/bitcoin/useBitcoin.js.map +0 -1
  113. package/dist/hooks/chains/useSquidChains.js +0 -96
  114. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  115. package/dist/hooks/client/useClient.js +0 -63
  116. package/dist/hooks/client/useClient.js.map +0 -1
  117. package/dist/hooks/cosmos/useCosmos.js +0 -167
  118. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  119. package/dist/hooks/cosmos/useCosmosForChain.js +0 -29
  120. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  121. package/dist/hooks/evm/useEvm.js +0 -68
  122. package/dist/hooks/evm/useEvm.js.map +0 -1
  123. package/dist/hooks/evm/useEvmWallets.js +0 -13
  124. package/dist/hooks/evm/useEvmWallets.js.map +0 -1
  125. package/dist/hooks/index.js +0 -54
  126. package/dist/hooks/index.js.map +0 -1
  127. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  128. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  129. package/dist/hooks/onramp/useFiatToCrypto.js +0 -298
  130. package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
  131. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  132. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  133. package/dist/hooks/solana/useSolana.js +0 -81
  134. package/dist/hooks/solana/useSolana.js.map +0 -1
  135. package/dist/hooks/solana/useSolanaWallets.js +0 -8
  136. package/dist/hooks/solana/useSolanaWallets.js.map +0 -1
  137. package/dist/hooks/squid/useSquid.js +0 -55
  138. package/dist/hooks/squid/useSquid.js.map +0 -1
  139. package/dist/hooks/store/useAddressBookStore.js +0 -30
  140. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  141. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  142. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  143. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  144. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  145. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  146. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  147. package/dist/hooks/store/useHistoryStore.js +0 -129
  148. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  149. package/dist/hooks/store/useSendTransactionStore.js +0 -21
  150. package/dist/hooks/store/useSendTransactionStore.js.map +0 -1
  151. package/dist/hooks/store/useSquidStore.js +0 -54
  152. package/dist/hooks/store/useSquidStore.js.map +0 -1
  153. package/dist/hooks/store/useWalletStore.js +0 -61
  154. package/dist/hooks/store/useWalletStore.js.map +0 -1
  155. package/dist/hooks/sui/useSui.js +0 -81
  156. package/dist/hooks/sui/useSui.js.map +0 -1
  157. package/dist/hooks/sui/useSuiWallets.js +0 -23
  158. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  159. package/dist/hooks/swap/useDepositAddress.js +0 -63
  160. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  161. package/dist/hooks/swap/useSwap.js +0 -228
  162. package/dist/hooks/swap/useSwap.js.map +0 -1
  163. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -114
  164. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  165. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -130
  166. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  167. package/dist/hooks/tokens/useBalance.js +0 -157
  168. package/dist/hooks/tokens/useBalance.js.map +0 -1
  169. package/dist/hooks/tokens/useMultiChainBalance.js +0 -77
  170. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  171. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  172. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  173. package/dist/hooks/tokens/useNativeBalance.js +0 -249
  174. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  175. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -30
  176. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  177. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  178. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  179. package/dist/hooks/tokens/useSquidTokens.js +0 -75
  180. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  181. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  182. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  183. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +0 -58
  184. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +0 -1
  185. package/dist/hooks/transaction/send/useSendTransaction.js +0 -245
  186. package/dist/hooks/transaction/send/useSendTransaction.js.map +0 -1
  187. package/dist/hooks/transaction/send/useSendTransactionGas.js +0 -73
  188. package/dist/hooks/transaction/send/useSendTransactionGas.js.map +0 -1
  189. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -127
  190. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  191. package/dist/hooks/transaction/useApproval.js +0 -246
  192. package/dist/hooks/transaction/useApproval.js.map +0 -1
  193. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  194. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  195. package/dist/hooks/transaction/useEstimate.js +0 -115
  196. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  197. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  198. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  199. package/dist/hooks/transaction/useExecuteTransaction.js +0 -678
  200. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  201. package/dist/hooks/transaction/useGetRoute.js +0 -207
  202. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  203. package/dist/hooks/transaction/useIcs20Allowance.js +0 -46
  204. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  205. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  206. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  207. package/dist/hooks/transaction/useSendTransactionStatus.js +0 -63
  208. package/dist/hooks/transaction/useSendTransactionStatus.js.map +0 -1
  209. package/dist/hooks/transaction/useSwapTransactionStatus.js +0 -114
  210. package/dist/hooks/transaction/useSwapTransactionStatus.js.map +0 -1
  211. package/dist/hooks/user/useAvatar.js +0 -40
  212. package/dist/hooks/user/useAvatar.js.map +0 -1
  213. package/dist/hooks/user/useHistory.js +0 -103
  214. package/dist/hooks/user/useHistory.js.map +0 -1
  215. package/dist/hooks/user/useUserParams.js +0 -33
  216. package/dist/hooks/user/useUserParams.js.map +0 -1
  217. package/dist/hooks/utils/useUtils.js +0 -20
  218. package/dist/hooks/utils/useUtils.js.map +0 -1
  219. package/dist/hooks/wallet/useAddToken.js +0 -49
  220. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  221. package/dist/hooks/wallet/useAutoConnect.js +0 -92
  222. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  223. package/dist/hooks/wallet/useEns.js +0 -57
  224. package/dist/hooks/wallet/useEns.js.map +0 -1
  225. package/dist/hooks/wallet/useGnosisContext.js +0 -74
  226. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  227. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  228. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  229. package/dist/hooks/wallet/useMultiChainWallet.js +0 -210
  230. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  231. package/dist/hooks/wallet/useSigner.js +0 -68
  232. package/dist/hooks/wallet/useSigner.js.map +0 -1
  233. package/dist/hooks/wallet/useStandardWallets.js +0 -26
  234. package/dist/hooks/wallet/useStandardWallets.js.map +0 -1
  235. package/dist/hooks/wallet/useWallet.js +0 -199
  236. package/dist/hooks/wallet/useWallet.js.map +0 -1
  237. package/dist/hooks/wallet/useWallets.js +0 -33
  238. package/dist/hooks/wallet/useWallets.js.map +0 -1
  239. package/dist/hooks/xrpl/useXrpl.js +0 -55
  240. package/dist/hooks/xrpl/useXrpl.js.map +0 -1
  241. package/dist/hooks/xrpl/useXrplTrustLine.js +0 -159
  242. package/dist/hooks/xrpl/useXrplTrustLine.js.map +0 -1
  243. package/dist/hooks/xrpl/useXrplWallets.js +0 -51
  244. package/dist/hooks/xrpl/useXrplWallets.js.map +0 -1
  245. package/dist/provider/index.js +0 -118
  246. package/dist/provider/index.js.map +0 -1
  247. package/dist/services/external/cosmosRestClient.js +0 -45
  248. package/dist/services/external/cosmosRestClient.js.map +0 -1
  249. package/dist/services/external/ens.js +0 -66
  250. package/dist/services/external/ens.js.map +0 -1
  251. package/dist/services/external/index.js +0 -3
  252. package/dist/services/external/index.js.map +0 -1
  253. package/dist/services/external/onrampAdapter.js +0 -52
  254. package/dist/services/external/onrampAdapter.js.map +0 -1
  255. package/dist/services/external/rpcService.js +0 -411
  256. package/dist/services/external/rpcService.js.map +0 -1
  257. package/dist/services/external/secretService.js.map +0 -1
  258. package/dist/services/external/suiRpcClient.js +0 -80
  259. package/dist/services/external/suiRpcClient.js.map +0 -1
  260. package/dist/services/external/tokenDataService.js +0 -108
  261. package/dist/services/external/tokenDataService.js.map +0 -1
  262. package/dist/services/external/websocket.js +0 -34
  263. package/dist/services/external/websocket.js.map +0 -1
  264. package/dist/services/external/xaman.js +0 -78
  265. package/dist/services/external/xaman.js.map +0 -1
  266. package/dist/services/external/xrplRpcClient.js +0 -167
  267. package/dist/services/external/xrplRpcClient.js.map +0 -1
  268. package/dist/services/index.js +0 -19
  269. package/dist/services/index.js.map +0 -1
  270. package/dist/services/internal/apiService.js +0 -21
  271. package/dist/services/internal/apiService.js.map +0 -1
  272. package/dist/services/internal/assetsService.js +0 -575
  273. package/dist/services/internal/assetsService.js.map +0 -1
  274. package/dist/services/internal/bitcoinService.js +0 -20
  275. package/dist/services/internal/bitcoinService.js.map +0 -1
  276. package/dist/services/internal/configService.js +0 -198
  277. package/dist/services/internal/configService.js.map +0 -1
  278. package/dist/services/internal/cosmosService.js +0 -141
  279. package/dist/services/internal/cosmosService.js.map +0 -1
  280. package/dist/services/internal/countryCurrencyMap.js +0 -1102
  281. package/dist/services/internal/countryCurrencyMap.js.map +0 -1
  282. package/dist/services/internal/errorService.js +0 -190
  283. package/dist/services/internal/errorService.js.map +0 -1
  284. package/dist/services/internal/estimateService.js +0 -225
  285. package/dist/services/internal/estimateService.js.map +0 -1
  286. package/dist/services/internal/eventService.js +0 -219
  287. package/dist/services/internal/eventService.js.map +0 -1
  288. package/dist/services/internal/evmService.js +0 -67
  289. package/dist/services/internal/evmService.js.map +0 -1
  290. package/dist/services/internal/fiatToCryptoService.js +0 -84
  291. package/dist/services/internal/fiatToCryptoService.js.map +0 -1
  292. package/dist/services/internal/fiatToCryptoService.test.js +0 -45
  293. package/dist/services/internal/fiatToCryptoService.test.js.map +0 -1
  294. package/dist/services/internal/numberService.js +0 -199
  295. package/dist/services/internal/numberService.js.map +0 -1
  296. package/dist/services/internal/priceService.js +0 -53
  297. package/dist/services/internal/priceService.js.map +0 -1
  298. package/dist/services/internal/searchService.js +0 -98
  299. package/dist/services/internal/searchService.js.map +0 -1
  300. package/dist/services/internal/sendTransaction.js +0 -191
  301. package/dist/services/internal/sendTransaction.js.map +0 -1
  302. package/dist/services/internal/sendTransactionStatus.js +0 -134
  303. package/dist/services/internal/sendTransactionStatus.js.map +0 -1
  304. package/dist/services/internal/solanaService.js +0 -142
  305. package/dist/services/internal/solanaService.js.map +0 -1
  306. package/dist/services/internal/suiService.js +0 -81
  307. package/dist/services/internal/suiService.js.map +0 -1
  308. package/dist/services/internal/transactionService.js +0 -210
  309. package/dist/services/internal/transactionService.js.map +0 -1
  310. package/dist/services/internal/transactionStatusService.js +0 -390
  311. package/dist/services/internal/transactionStatusService.js.map +0 -1
  312. package/dist/services/internal/walletService.js +0 -546
  313. package/dist/services/internal/walletService.js.map +0 -1
  314. package/dist/services/internal/walletStandardService.js +0 -128
  315. package/dist/services/internal/walletStandardService.js.map +0 -1
  316. package/dist/services/internal/xionService.js +0 -6
  317. package/dist/services/internal/xionService.js.map +0 -1
  318. package/dist/services/internal/xrplService.js +0 -52
  319. package/dist/services/internal/xrplService.js.map +0 -1
  320. package/dist/tests/apiService.test.js +0 -40
  321. package/dist/tests/apiService.test.js.map +0 -1
  322. package/dist/tests/assetsService.test.js +0 -614
  323. package/dist/tests/assetsService.test.js.map +0 -1
  324. package/dist/tests/configService.test.js +0 -641
  325. package/dist/tests/configService.test.js.map +0 -1
  326. package/dist/tests/estimateService.test.js +0 -429
  327. package/dist/tests/estimateService.test.js.map +0 -1
  328. package/dist/tests/fetchSquidData.js +0 -36
  329. package/dist/tests/fetchSquidData.js.map +0 -1
  330. package/dist/tests/jest-svg-transform.d.ts +0 -0
  331. package/dist/tests/jest-svg-transform.js +0 -21
  332. package/dist/tests/jest-svg-transform.js.map +0 -1
  333. package/dist/tests/numberService.test.js +0 -166
  334. package/dist/tests/numberService.test.js.map +0 -1
  335. package/dist/tests/priceService.test.js +0 -38
  336. package/dist/tests/priceService.test.js.map +0 -1
  337. package/dist/tests/sample.json +0 -0
  338. package/dist/tests/searchService.test.js +0 -86
  339. package/dist/tests/searchService.test.js.map +0 -1
  340. package/dist/tests/swapConfig.test.js +0 -332
  341. package/dist/tests/swapConfig.test.js.map +0 -1
  342. package/dist/tests/transactionService.test.js +0 -53
  343. package/dist/tests/transactionService.test.js.map +0 -1
  344. package/dist/tests/transactionStatusService.test.js +0 -165
  345. package/dist/tests/transactionStatusService.test.js.map +0 -1
  346. package/dist/tests/walletService.test.js +0 -488
  347. 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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"}