@0xsquid/react-hooks 6.7.0-cosmos-rest-beta.0 → 6.7.0-rollup-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 (256) hide show
  1. package/dist/core/constants.d.ts +9 -0
  2. package/dist/hooks/index.d.ts +5 -4
  3. package/dist/index.esm.js +16892 -0
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/index.js +17096 -6
  6. package/dist/index.js.map +1 -1
  7. package/dist/secretService-Cc7emxDy.js +162 -0
  8. package/dist/secretService-Cc7emxDy.js.map +1 -0
  9. package/dist/{services/external/secretService.js → secretService-SEqSyHG0.js} +37 -8
  10. package/dist/secretService-SEqSyHG0.js.map +1 -0
  11. package/dist/services/external/rpcService.d.ts +2 -2
  12. package/dist/services/internal/cosmosService.d.ts +1 -2
  13. package/package.json +18 -4
  14. package/dist/core/abis/ics20.json +0 -128
  15. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  16. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  17. package/dist/core/connectors/bitcoin/helpers.js +0 -86
  18. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  19. package/dist/core/connectors/bitcoin/index.js +0 -2
  20. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  21. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  22. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  23. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  24. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  25. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  26. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  27. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  28. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  29. package/dist/core/constants.js +0 -135
  30. package/dist/core/constants.js.map +0 -1
  31. package/dist/core/externalLinks.js +0 -21
  32. package/dist/core/externalLinks.js.map +0 -1
  33. package/dist/core/index.js +0 -4
  34. package/dist/core/index.js.map +0 -1
  35. package/dist/core/multicall3.js +0 -442
  36. package/dist/core/multicall3.js.map +0 -1
  37. package/dist/core/providers/CosmosProvider.js +0 -13
  38. package/dist/core/providers/CosmosProvider.js.map +0 -1
  39. package/dist/core/providers/SolanaProvider.js +0 -15
  40. package/dist/core/providers/SolanaProvider.js.map +0 -1
  41. package/dist/core/providers/SuiProvider.js +0 -15
  42. package/dist/core/providers/SuiProvider.js.map +0 -1
  43. package/dist/core/queries/queries-keys.js +0 -204
  44. package/dist/core/queries/queries-keys.js.map +0 -1
  45. package/dist/core/queries/react-query-config.js +0 -11
  46. package/dist/core/queries/react-query-config.js.map +0 -1
  47. package/dist/core/types/config.js +0 -2
  48. package/dist/core/types/config.js.map +0 -1
  49. package/dist/core/types/dex.js +0 -33
  50. package/dist/core/types/dex.js.map +0 -1
  51. package/dist/core/types/error.js +0 -12
  52. package/dist/core/types/error.js.map +0 -1
  53. package/dist/core/types/event.js +0 -2
  54. package/dist/core/types/event.js.map +0 -1
  55. package/dist/core/types/index.js +0 -2
  56. package/dist/core/types/index.js.map +0 -1
  57. package/dist/core/types/rpc.js +0 -2
  58. package/dist/core/types/rpc.js.map +0 -1
  59. package/dist/core/types/sui.js +0 -2
  60. package/dist/core/types/sui.js.map +0 -1
  61. package/dist/core/types/swap.js +0 -2
  62. package/dist/core/types/swap.js.map +0 -1
  63. package/dist/core/types/tokens.js +0 -2
  64. package/dist/core/types/tokens.js.map +0 -1
  65. package/dist/core/types/transaction.js +0 -41
  66. package/dist/core/types/transaction.js.map +0 -1
  67. package/dist/core/types/wallet.js +0 -26
  68. package/dist/core/types/wallet.js.map +0 -1
  69. package/dist/core/wagmiConfig.js +0 -60
  70. package/dist/core/wagmiConfig.js.map +0 -1
  71. package/dist/core/wallets.js +0 -549
  72. package/dist/core/wallets.js.map +0 -1
  73. package/dist/hooks/chains/useSquidChains.js +0 -107
  74. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  75. package/dist/hooks/client/useClient.js +0 -6
  76. package/dist/hooks/client/useClient.js.map +0 -1
  77. package/dist/hooks/cosmos/useCosmos.js +0 -172
  78. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  79. package/dist/hooks/cosmos/useCosmosForChain.js +0 -33
  80. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  81. package/dist/hooks/index.js +0 -44
  82. package/dist/hooks/index.js.map +0 -1
  83. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  84. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  85. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  86. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  87. package/dist/hooks/solana/useSolana.js +0 -104
  88. package/dist/hooks/solana/useSolana.js.map +0 -1
  89. package/dist/hooks/squid/useSquid.js +0 -55
  90. package/dist/hooks/squid/useSquid.js.map +0 -1
  91. package/dist/hooks/store/useAddressBookStore.js +0 -26
  92. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  93. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  94. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  95. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  96. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  97. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  98. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  99. package/dist/hooks/store/useHistoryStore.js +0 -41
  100. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  101. package/dist/hooks/store/useSquidStore.js +0 -56
  102. package/dist/hooks/store/useSquidStore.js.map +0 -1
  103. package/dist/hooks/store/useWalletStore.js +0 -42
  104. package/dist/hooks/store/useWalletStore.js.map +0 -1
  105. package/dist/hooks/sui/useSui.js +0 -28
  106. package/dist/hooks/sui/useSui.js.map +0 -1
  107. package/dist/hooks/sui/useSuiClient.js +0 -16
  108. package/dist/hooks/sui/useSuiClient.js.map +0 -1
  109. package/dist/hooks/sui/useSuiWallets.js +0 -42
  110. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  111. package/dist/hooks/swap/useDepositAddress.js +0 -63
  112. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  113. package/dist/hooks/swap/useSwap.js +0 -209
  114. package/dist/hooks/swap/useSwap.js.map +0 -1
  115. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -103
  116. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  117. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -119
  118. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  119. package/dist/hooks/tokens/useBalance.js +0 -136
  120. package/dist/hooks/tokens/useBalance.js.map +0 -1
  121. package/dist/hooks/tokens/useMultiChainBalance.js +0 -68
  122. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  123. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  124. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  125. package/dist/hooks/tokens/useNativeBalance.js +0 -217
  126. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  127. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -28
  128. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  129. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  130. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  131. package/dist/hooks/tokens/useSquidTokens.js +0 -80
  132. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  133. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  134. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  135. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -68
  136. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  137. package/dist/hooks/transaction/useApproval.js +0 -223
  138. package/dist/hooks/transaction/useApproval.js.map +0 -1
  139. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  140. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  141. package/dist/hooks/transaction/useEstimate.js +0 -118
  142. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  143. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  144. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  145. package/dist/hooks/transaction/useExecuteTransaction.js +0 -605
  146. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  147. package/dist/hooks/transaction/useGetRoute.js +0 -224
  148. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  149. package/dist/hooks/transaction/useIcs20Allowance.js +0 -40
  150. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  151. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  152. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  153. package/dist/hooks/transaction/useSingleTransaction.js +0 -91
  154. package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
  155. package/dist/hooks/user/useAvatar.js +0 -34
  156. package/dist/hooks/user/useAvatar.js.map +0 -1
  157. package/dist/hooks/user/useHistory.js +0 -106
  158. package/dist/hooks/user/useHistory.js.map +0 -1
  159. package/dist/hooks/user/useUserParams.js +0 -33
  160. package/dist/hooks/user/useUserParams.js.map +0 -1
  161. package/dist/hooks/wallet/useAddToken.js +0 -49
  162. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  163. package/dist/hooks/wallet/useAutoConnect.js +0 -74
  164. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  165. package/dist/hooks/wallet/useEns.js +0 -69
  166. package/dist/hooks/wallet/useEns.js.map +0 -1
  167. package/dist/hooks/wallet/useGnosisContext.js +0 -78
  168. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  169. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  170. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  171. package/dist/hooks/wallet/useMultiChainWallet.js +0 -175
  172. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  173. package/dist/hooks/wallet/useSigner.js +0 -76
  174. package/dist/hooks/wallet/useSigner.js.map +0 -1
  175. package/dist/hooks/wallet/useWallet.js +0 -206
  176. package/dist/hooks/wallet/useWallet.js.map +0 -1
  177. package/dist/hooks/wallet/useWallets.js +0 -36
  178. package/dist/hooks/wallet/useWallets.js.map +0 -1
  179. package/dist/provider/index.js +0 -113
  180. package/dist/provider/index.js.map +0 -1
  181. package/dist/services/external/cosmosRestClient.d.ts +0 -18
  182. package/dist/services/external/cosmosRestClient.js +0 -41
  183. package/dist/services/external/cosmosRestClient.js.map +0 -1
  184. package/dist/services/external/ens.js +0 -66
  185. package/dist/services/external/ens.js.map +0 -1
  186. package/dist/services/external/rpcService.js +0 -390
  187. package/dist/services/external/rpcService.js.map +0 -1
  188. package/dist/services/external/secretService.js.map +0 -1
  189. package/dist/services/external/suiRpcClient.js +0 -80
  190. package/dist/services/external/suiRpcClient.js.map +0 -1
  191. package/dist/services/external/tokenDataService.js +0 -108
  192. package/dist/services/external/tokenDataService.js.map +0 -1
  193. package/dist/services/index.js +0 -16
  194. package/dist/services/index.js.map +0 -1
  195. package/dist/services/internal/apiService.js +0 -21
  196. package/dist/services/internal/apiService.js.map +0 -1
  197. package/dist/services/internal/assetsService.js +0 -586
  198. package/dist/services/internal/assetsService.js.map +0 -1
  199. package/dist/services/internal/bitcoinService.js +0 -51
  200. package/dist/services/internal/bitcoinService.js.map +0 -1
  201. package/dist/services/internal/configService.js +0 -215
  202. package/dist/services/internal/configService.js.map +0 -1
  203. package/dist/services/internal/cosmosService.js +0 -214
  204. package/dist/services/internal/cosmosService.js.map +0 -1
  205. package/dist/services/internal/errorService.js +0 -188
  206. package/dist/services/internal/errorService.js.map +0 -1
  207. package/dist/services/internal/estimateService.js +0 -221
  208. package/dist/services/internal/estimateService.js.map +0 -1
  209. package/dist/services/internal/eventService.js +0 -156
  210. package/dist/services/internal/eventService.js.map +0 -1
  211. package/dist/services/internal/evmService.js +0 -42
  212. package/dist/services/internal/evmService.js.map +0 -1
  213. package/dist/services/internal/numberService.js +0 -171
  214. package/dist/services/internal/numberService.js.map +0 -1
  215. package/dist/services/internal/priceService.js +0 -53
  216. package/dist/services/internal/priceService.js.map +0 -1
  217. package/dist/services/internal/searchService.js +0 -98
  218. package/dist/services/internal/searchService.js.map +0 -1
  219. package/dist/services/internal/solanaService.js +0 -109
  220. package/dist/services/internal/solanaService.js.map +0 -1
  221. package/dist/services/internal/suiService.js +0 -119
  222. package/dist/services/internal/suiService.js.map +0 -1
  223. package/dist/services/internal/transactionService.js +0 -207
  224. package/dist/services/internal/transactionService.js.map +0 -1
  225. package/dist/services/internal/transactionStatusService.js +0 -315
  226. package/dist/services/internal/transactionStatusService.js.map +0 -1
  227. package/dist/services/internal/walletService.js +0 -464
  228. package/dist/services/internal/walletService.js.map +0 -1
  229. package/dist/tests/apiService.test.js +0 -40
  230. package/dist/tests/apiService.test.js.map +0 -1
  231. package/dist/tests/assetsService.test.js +0 -500
  232. package/dist/tests/assetsService.test.js.map +0 -1
  233. package/dist/tests/configService.test.js +0 -673
  234. package/dist/tests/configService.test.js.map +0 -1
  235. package/dist/tests/estimateService.test.js +0 -355
  236. package/dist/tests/estimateService.test.js.map +0 -1
  237. package/dist/tests/fetchSquidData.js +0 -36
  238. package/dist/tests/fetchSquidData.js.map +0 -1
  239. package/dist/tests/jest-svg-transform.d.ts +0 -0
  240. package/dist/tests/jest-svg-transform.js +0 -21
  241. package/dist/tests/jest-svg-transform.js.map +0 -1
  242. package/dist/tests/numberService.test.js +0 -135
  243. package/dist/tests/numberService.test.js.map +0 -1
  244. package/dist/tests/priceService.test.js +0 -38
  245. package/dist/tests/priceService.test.js.map +0 -1
  246. package/dist/tests/sample.json +0 -0
  247. package/dist/tests/searchService.test.js +0 -92
  248. package/dist/tests/searchService.test.js.map +0 -1
  249. package/dist/tests/swapConfig.test.js +0 -332
  250. package/dist/tests/swapConfig.test.js.map +0 -1
  251. package/dist/tests/transactionService.test.js +0 -53
  252. package/dist/tests/transactionService.test.js.map +0 -1
  253. package/dist/tests/transactionStatusService.test.js +0 -165
  254. package/dist/tests/transactionStatusService.test.js.map +0 -1
  255. package/dist/tests/walletService.test.js +0 -264
  256. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,207 +0,0 @@
1
- import { ActionType, BridgeType, SquidDataType, } from "@0xsquid/squid-types";
2
- import axios from "axios";
3
- import { DEFAULT_LOCALE } from "../../core/constants";
4
- import { TransactionType, } from "../../core/types/transaction";
5
- import { getQueryHeaders } from "./apiService";
6
- export const formatTransactionHistoryDate = (transaction) => {
7
- if (!transaction?.timestamp)
8
- return undefined;
9
- try {
10
- const date = new Date(Number(transaction.timestamp));
11
- // Format date to: MMM DD. Examples:
12
- // Jan 01
13
- // May 12
14
- const month = new Intl.DateTimeFormat(DEFAULT_LOCALE, {
15
- month: "short",
16
- }).format(date);
17
- const day = date.toLocaleString(DEFAULT_LOCALE, { day: "2-digit" });
18
- return { month, day };
19
- }
20
- catch (error) {
21
- console.error("Error formatting date:", error);
22
- return undefined;
23
- }
24
- };
25
- export const getAxelarExplorerTxUrl = (urlPrefix, routeType, txID) => {
26
- if (!urlPrefix) {
27
- return undefined;
28
- }
29
- const txType = routeType ?? TransactionType.BRIDGE;
30
- if (txType === TransactionType.CALL_BRIDGE ||
31
- txType === TransactionType.BRIDGE) {
32
- return `${urlPrefix}transfer/${txID}`;
33
- }
34
- return `${urlPrefix}gmp/${txID}`;
35
- };
36
- export const getSourceExplorerTxUrl = (chain, txID) => {
37
- if (!chain || !chain.blockExplorerUrls[0]) {
38
- return undefined;
39
- }
40
- let txSuffix;
41
- switch (chain.chainId) {
42
- case "agoric-3":
43
- txSuffix = "/transactions/";
44
- break;
45
- default:
46
- txSuffix = "/tx/";
47
- }
48
- if (chain.blockExplorerUrls[0].endsWith("/")) {
49
- txSuffix = txSuffix.slice(1);
50
- }
51
- return `${chain.blockExplorerUrls[0]}${txSuffix}${txID}`;
52
- };
53
- export const getMainExplorerUrl = (transaction) => {
54
- // The most accurate one is coming from squid /status api
55
- if (transaction?.statusResponse?.axelarTransactionUrl) {
56
- return transaction?.statusResponse.axelarTransactionUrl;
57
- }
58
- // If not, we can try to get it from the source chain
59
- if (transaction?.sourceTxExplorerUrl) {
60
- return transaction?.sourceTxExplorerUrl;
61
- }
62
- // If not, we can try to guess it from the transaction type
63
- if (transaction && transaction?.transactionId) {
64
- return getAxelarExplorerTxUrl(transaction.statusResponse?.axelarTransactionUrl, transaction.routeType, transaction.transactionId);
65
- }
66
- return undefined;
67
- };
68
- export const formatDistance = (date, baseDate, options) => {
69
- const { includeSeconds = false, addSuffix = false, locale = { locale: DEFAULT_LOCALE }, } = options || {};
70
- const elapsedMilliseconds = Math.abs(new Date(date).getTime() - new Date(baseDate).getTime());
71
- const seconds = Math.round(elapsedMilliseconds / 1000);
72
- const minutes = Math.round(seconds / 60);
73
- const hours = Math.round(minutes / 60);
74
- const days = Math.round(hours / 24);
75
- const months = Math.round(days / 30.44);
76
- const years = Math.round(days / 365.25);
77
- const rtf = new Intl.RelativeTimeFormat(locale.locale, { numeric: "auto" });
78
- let formatted = "";
79
- if (includeSeconds && seconds < 45) {
80
- const unit = addSuffix ? "second" : "seconds";
81
- formatted = rtf.format(-seconds, unit);
82
- }
83
- else if (minutes < 60) {
84
- formatted = rtf.format(-minutes, "minutes");
85
- }
86
- else if (hours < 24) {
87
- formatted = rtf.format(-hours, "hours");
88
- }
89
- else if (days < 30) {
90
- formatted = rtf.format(-days, "days");
91
- }
92
- else if (months < 12) {
93
- formatted = rtf.format(-months, "months");
94
- }
95
- else {
96
- formatted = rtf.format(-years, "years");
97
- }
98
- // remove "ago" from the string
99
- // before: "2 minutes ago"
100
- // after: "2 minutes"
101
- return addSuffix ? formatted : formatted.replace(/\b(?:ago)\b/, "").trim();
102
- };
103
- export const formatSeconds = (seconds, secondsTemplate = " seconds", minutesTemplate = " minutes", hoursTemplate = " hours") => {
104
- let duration = "";
105
- if (seconds < 60) {
106
- duration = `${seconds.toString()}${secondsTemplate}`;
107
- }
108
- else {
109
- duration = formatDistance(0, seconds * 1000, { includeSeconds: true });
110
- }
111
- const result = duration.startsWith("1 ")
112
- ? duration
113
- .replace(" minute", minutesTemplate)
114
- .replace(" hour", hoursTemplate)
115
- : duration
116
- .replace(" minutes", minutesTemplate)
117
- .replace(" hours", hoursTemplate);
118
- return result;
119
- };
120
- /**
121
- * Remove the chainData from statusResponse to gain some storage space
122
- * @param sr
123
- * @returns
124
- */
125
- export const formatStatusResponseForStorage = (sr) => {
126
- if (!sr) {
127
- return sr;
128
- }
129
- const formattedSrcChain = sr.fromChain
130
- ? {
131
- ...sr.fromChain,
132
- chainData: undefined,
133
- callEventLog: [],
134
- }
135
- : undefined;
136
- const formattedDestChain = sr.toChain
137
- ? {
138
- ...sr.toChain,
139
- chainData: undefined,
140
- callEventLog: [],
141
- }
142
- : undefined;
143
- return {
144
- ...sr,
145
- fromChain: formattedSrcChain,
146
- toChain: formattedDestChain,
147
- };
148
- };
149
- export const formatTxForStorage = (tx) => {
150
- return {
151
- ...tx,
152
- statusResponse: formatStatusResponseForStorage(tx.statusResponse),
153
- };
154
- };
155
- export const fetchTransactionStatus = async ({ transaction, integratorId, apiUrl, }) => {
156
- const statusEndpoint = `${apiUrl}/v2/status`;
157
- try {
158
- const response = await axios.get(statusEndpoint, {
159
- params: {
160
- transactionId: transaction?.transactionIdForStatus ?? transaction?.transactionId,
161
- fromChainId: transaction?.fromChain,
162
- toChainId: transaction?.toChain,
163
- bridgeType: transaction?.bridgeType,
164
- quoteId: transaction?.requestId,
165
- },
166
- headers: getQueryHeaders(integratorId, transaction?.requestId),
167
- });
168
- return response.data;
169
- }
170
- catch (error) {
171
- if (error) {
172
- throw new Error("Fetch transaction status failed", { cause: error });
173
- }
174
- throw new Error("Fetch transaction status failed", { cause: undefined });
175
- }
176
- };
177
- export const compareTransactionIds = (idA, idB) => {
178
- if (!idA || !idB) {
179
- return false;
180
- }
181
- const normalizedA = idA.toLowerCase();
182
- const normalizedB = idB.toLowerCase();
183
- return normalizedA.includes(normalizedB) || normalizedB.includes(normalizedA);
184
- };
185
- /**
186
- * Checks if the provided action is Coral bridge action
187
- */
188
- export function isCoralBridgeAction(action) {
189
- return (action.type === ActionType.RFQ &&
190
- // TODO: update types
191
- action.provider?.toLowerCase() === "coral");
192
- }
193
- export function sleep(ms) {
194
- return new Promise((resolve) => setTimeout(resolve, ms));
195
- }
196
- export const isDepositRoute = (route) => {
197
- return (!!route &&
198
- route.transactionRequest?.type === SquidDataType.ChainflipDepositAddress);
199
- };
200
- /**
201
- * Checks if the route contains a Chainflip bridge action
202
- */
203
- export function isChainflipBridgeTransaction(actions = []) {
204
- return actions.some((action) => action.type === ActionType.BRIDGE &&
205
- action.data?.type === BridgeType.CHAINFLIP);
206
- }
207
- //# sourceMappingURL=transactionService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactionService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionService.ts"],"names":[],"mappings":"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"}
@@ -1,315 +0,0 @@
1
- import { ActionType, BridgeType, } from "@0xsquid/squid-types";
2
- import { transactionErrorStatuses, transactionRefundedStatuses, transactionSuccessStatuses, } from "../../core/constants";
3
- import { SquidStatusErrorType } from "../../core/types/error";
4
- import { AxelarStatusResponseType, TransactionStatus, TransactionType, } from "../../core/types/transaction";
5
- import { isStatusError } from "./errorService";
6
- import { getMainExplorerUrl, isCoralBridgeAction } from "./transactionService";
7
- /**
8
- * Get the steps for a transaction
9
- * First step and second step are always the same
10
- * @param transaction
11
- * @param statusResponse
12
- * @returns {TransactionStepStatus[]}
13
- */
14
- export const getStepStatuses = ({ transaction, statusResponse, onlyFullStatusStep, }) => {
15
- let firstStepStatus;
16
- // "warning" state is a custom one indicating that
17
- // the user is taking too much time to validate the transaction
18
- // And can be set to loading
19
- switch (transaction?.sourceStatus) {
20
- case "error":
21
- case "success":
22
- case "ongoing":
23
- firstStepStatus = transaction.sourceStatus;
24
- break;
25
- case "warning":
26
- firstStepStatus = TransactionStatus.ONGOING;
27
- break;
28
- default:
29
- firstStepStatus = TransactionStatus.PENDING;
30
- }
31
- let middleStepStatus = !onlyFullStatusStep && firstStepStatus !== "success"
32
- ? TransactionStatus.PENDING
33
- : middleStepChecker(statusResponse);
34
- const lastStepStatus = getLastStepStatus(firstStepStatus, middleStepStatus);
35
- // Once we have the last step status,
36
- // we have to override the middle step for some states
37
- middleStepStatus =
38
- middleStepStatus === "needs_gas" || middleStepStatus === "partial_success"
39
- ? TransactionStatus.SUCCESS
40
- : middleStepStatus;
41
- return onlyFullStatusStep
42
- ? [middleStepStatus]
43
- : [firstStepStatus, middleStepStatus, lastStepStatus];
44
- };
45
- const getLastStepStatus = (first, middle) => {
46
- if (first === TransactionStatus.PENDING ||
47
- first === "ongoing" ||
48
- first === "error") {
49
- return TransactionStatus.PENDING;
50
- }
51
- switch (middle) {
52
- case "initialLoading":
53
- case "ongoing":
54
- return TransactionStatus.PENDING;
55
- default:
56
- return middle;
57
- }
58
- };
59
- export const getHalfSuccessState = (status) => {
60
- switch (status) {
61
- case "success":
62
- return TransactionStatus.SUCCESS;
63
- case "partial_success": // Received axlUSDC
64
- return TransactionStatus.PARTIAL_SUCCESS;
65
- case "needs_gas":
66
- return TransactionStatus.NEEDS_GAS;
67
- default:
68
- return undefined;
69
- }
70
- };
71
- const middleStepChecker = (statusResponse) => {
72
- const squidStatus = statusResponse?.data;
73
- const successState = getHalfSuccessState(squidStatus?.squidTransactionStatus);
74
- if (successState) {
75
- return successState;
76
- }
77
- if (squidStatus?.status === AxelarStatusResponseType.ERROR) {
78
- const { error } = squidStatus;
79
- if (isStatusError(error)) {
80
- if (error.errorType === SquidStatusErrorType.NotFoundError) {
81
- return TransactionStatus.ERROR;
82
- }
83
- }
84
- return TransactionStatus.ERROR;
85
- }
86
- if (statusResponse?.isInitialLoading) {
87
- return TransactionStatus.INITIAL_LOADING;
88
- }
89
- return TransactionStatus.ONGOING;
90
- };
91
- export const getStepsInfos = ({ fromChain, toChain, fromToken, toToken, amount, txType, transaction, statusResponse, }) => {
92
- const [firstStepStatus, middleStepStatus, lastStepStatus] = getStepStatuses({
93
- transaction,
94
- statusResponse,
95
- });
96
- const payLabel = `Pay ${amount} ${fromToken?.symbol} on ${fromChain?.networkName}`;
97
- const swapForUSDCLabel = `Swap ${fromToken?.symbol} for axlUSDC`;
98
- const sendUSDCLabel = `Send axlUSDC to ${toChain?.networkName}`;
99
- const swapUSDCLabel = `Swap axlUSDC for ${toToken?.symbol}`;
100
- const receiveLabel = `Receive ${toToken?.symbol} on ${toChain?.networkName}`;
101
- const axelarUrl = getMainExplorerUrl(transaction);
102
- const sourceExplorerUrl = transaction?.sourceTxExplorerUrl;
103
- const destinationExplorerUrl = statusResponse?.data?.toChain?.transactionUrl;
104
- switch (txType) {
105
- case TransactionType.CALL_BRIDGE_CALL:
106
- return [
107
- {
108
- label: payLabel,
109
- status: firstStepStatus,
110
- link: sourceExplorerUrl,
111
- subTitle: "View on explorer",
112
- },
113
- {
114
- label: swapForUSDCLabel,
115
- status: firstStepStatus !== "success"
116
- ? TransactionStatus.PENDING
117
- : firstStepStatus,
118
- link: axelarUrl,
119
- subTitle: "View on Axelarscan",
120
- },
121
- {
122
- label: sendUSDCLabel,
123
- status: middleStepStatus,
124
- link: axelarUrl,
125
- subTitle: "View on Axelarscan",
126
- },
127
- {
128
- label: swapUSDCLabel,
129
- status: middleStepStatus !== "success"
130
- ? TransactionStatus.PENDING
131
- : middleStepStatus,
132
- link: axelarUrl,
133
- subTitle: "View on Axelarscan",
134
- },
135
- {
136
- label: receiveLabel,
137
- status: lastStepStatus,
138
- link: destinationExplorerUrl,
139
- subTitle: "View on explorer",
140
- },
141
- ];
142
- case TransactionType.CALL_BRIDGE:
143
- return [
144
- {
145
- label: payLabel,
146
- status: firstStepStatus,
147
- link: sourceExplorerUrl,
148
- subTitle: "View on explorer",
149
- },
150
- {
151
- label: swapForUSDCLabel,
152
- status: firstStepStatus !== "success"
153
- ? TransactionStatus.PENDING
154
- : firstStepStatus,
155
- link: axelarUrl,
156
- subTitle: "View on Axelarscan",
157
- },
158
- {
159
- label: sendUSDCLabel,
160
- status: middleStepStatus,
161
- link: axelarUrl,
162
- subTitle: "View on Axelarscan",
163
- },
164
- {
165
- label: receiveLabel,
166
- status: lastStepStatus,
167
- link: destinationExplorerUrl,
168
- subTitle: "View on explorer",
169
- },
170
- ];
171
- case TransactionType.BRIDGE:
172
- return [
173
- {
174
- label: payLabel,
175
- status: firstStepStatus,
176
- link: sourceExplorerUrl,
177
- subTitle: "View on explorer",
178
- },
179
- {
180
- label: sendUSDCLabel,
181
- status: firstStepStatus !== "success"
182
- ? TransactionStatus.PENDING
183
- : firstStepStatus,
184
- link: axelarUrl,
185
- subTitle: "View on Axelarscan",
186
- },
187
- {
188
- label: receiveLabel,
189
- status: lastStepStatus,
190
- link: destinationExplorerUrl,
191
- subTitle: "View on explorer",
192
- },
193
- ];
194
- case TransactionType.BRIDGE_CALL:
195
- return [
196
- {
197
- label: payLabel,
198
- status: firstStepStatus,
199
- link: sourceExplorerUrl,
200
- subTitle: "View on explorer",
201
- },
202
- {
203
- label: sendUSDCLabel,
204
- status: firstStepStatus !== "success"
205
- ? TransactionStatus.PENDING
206
- : firstStepStatus,
207
- link: axelarUrl,
208
- subTitle: "View on Axelarscan",
209
- },
210
- {
211
- label: swapUSDCLabel,
212
- status: middleStepStatus,
213
- link: axelarUrl,
214
- subTitle: "View on Axelarscan",
215
- },
216
- {
217
- label: receiveLabel,
218
- status: lastStepStatus,
219
- link: destinationExplorerUrl,
220
- subTitle: "View on explorer",
221
- },
222
- ];
223
- default:
224
- return [];
225
- }
226
- };
227
- const TX_STATUS_REFETCH_INTERVAL = {
228
- DEFAULT: 10_000,
229
- CORAL: 3_000,
230
- };
231
- /**
232
- * Returns the status refetch interval of a transaction
233
- * Some routes have a faster refetch interval (i.e Coral RFQ routes)
234
- *
235
- * @returns Refetch interval in milliseconds
236
- */
237
- export const getTxStatusRefetchInterval = (transaction) => {
238
- if ((transaction?.actions?.length ?? 0) < 1) {
239
- return TX_STATUS_REFETCH_INTERVAL.DEFAULT;
240
- }
241
- const isCoralRoute = transaction?.actions?.some(isCoralBridgeAction);
242
- if (isCoralRoute) {
243
- return TX_STATUS_REFETCH_INTERVAL.CORAL;
244
- }
245
- return TX_STATUS_REFETCH_INTERVAL.DEFAULT;
246
- };
247
- // TODO: update types and use BridgeType instead
248
- export const chainflipMultihopBridgeType = "chainflipMultihop";
249
- // List taken from Squid API repo
250
- // Only certain bridges are supported, passing non-supported bridges to the API will throw an error
251
- // TODO: Important to keep this list updated
252
- const supportedBridgeTypes = [
253
- BridgeType.CCTP,
254
- BridgeType.NOBLE_CCTP,
255
- BridgeType.CHAINFLIP,
256
- chainflipMultihopBridgeType,
257
- BridgeType.RFQ,
258
- ];
259
- /**
260
- * Some routes have special bridges, like CCTP or Chainflip
261
- * Squid API is using a different status endpoint to track status of these bridges
262
- * Only certain bridges are supported
263
- * @param transaction
264
- * @returns
265
- */
266
- export const getBridgeType = (actions) => {
267
- const bridgeActions = actions?.filter((action) => action.type === ActionType.BRIDGE);
268
- if (bridgeActions?.length === 2) {
269
- const chainflipBridgeAction = bridgeActions.some((action) => action.data?.type === BridgeType.CHAINFLIP);
270
- const axelarGmpBridgeAction = bridgeActions.some((action) => action.data?.type === BridgeType.AXELAR_GMP);
271
- if (chainflipBridgeAction && axelarGmpBridgeAction) {
272
- return chainflipMultihopBridgeType;
273
- }
274
- }
275
- const firstBridgeAction = actions?.find((action) => action.type === ActionType.BRIDGE || action.type === ActionType.RFQ);
276
- const actionBridgeType = firstBridgeAction?.data?.type;
277
- if (!actionBridgeType)
278
- return;
279
- return supportedBridgeTypes.find((supportedBridgeType) => supportedBridgeType === actionBridgeType);
280
- };
281
- export const getTransactionStatus = (statusResponse) => {
282
- if (statusResponse.status)
283
- return statusResponse.status;
284
- if (statusResponse.squidTransactionStatus)
285
- return statusResponse.squidTransactionStatus;
286
- return undefined;
287
- };
288
- /**
289
- * Checks statusResponse of a transaction and returns the end status (if any)
290
- * If transaction status is not an end status, means the transaction is still pending
291
- *
292
- * End statuses are success, refunded, or error
293
- */
294
- export const getTransactionEndStatus = ({ statusResponse, }) => {
295
- const transactionStatus = getTransactionStatus(statusResponse);
296
- if (!transactionStatus)
297
- return;
298
- const isSuccessStatus = transactionSuccessStatuses.includes(transactionStatus);
299
- const isRefundedStatus = transactionRefundedStatuses.includes(transactionStatus);
300
- const isErrorStatus = transactionErrorStatuses.includes(transactionStatus);
301
- const isEndStatus = isSuccessStatus || isRefundedStatus || isErrorStatus;
302
- const newStatus = (() => {
303
- if (isSuccessStatus) {
304
- return TransactionStatus.SUCCESS;
305
- }
306
- else if (isRefundedStatus) {
307
- return TransactionStatus.REFUNDED;
308
- }
309
- else if (isErrorStatus) {
310
- return TransactionStatus.ERROR;
311
- }
312
- })();
313
- return isEndStatus && newStatus != null ? newStatus : undefined;
314
- };
315
- //# 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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"}