@0xsquid/react-hooks 1.0.3 → 1.0.5

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 (316) hide show
  1. package/dist/assets/images/icons/wallets/index.d.ts +22 -0
  2. package/{src/assets/images/icons/wallets/index.ts → dist/assets/images/icons/wallets/index.js} +21 -21
  3. package/dist/assets/images/icons/wallets/index.js.map +1 -0
  4. package/dist/connectors/ExodusConnector.d.ts +4 -0
  5. package/{src/connectors/ExodusConnector.ts → dist/connectors/ExodusConnector.js} +3 -3
  6. package/dist/connectors/ExodusConnector.js.map +1 -0
  7. package/dist/connectors/LedgerLiveConnector.d.ts +40 -0
  8. package/dist/connectors/LedgerLiveConnector.js +177 -0
  9. package/dist/connectors/LedgerLiveConnector.js.map +1 -0
  10. package/dist/contracts/typechain/factories/ERC20__factory.js +324 -0
  11. package/dist/contracts/typechain/factories/ERC20__factory.js.map +1 -0
  12. package/dist/core/constants.d.ts +37 -0
  13. package/dist/core/constants.js +487 -0
  14. package/dist/core/constants.js.map +1 -0
  15. package/dist/core/externalLinks.d.ts +18 -0
  16. package/{src/core/externalLinks.ts → dist/core/externalLinks.js} +5 -9
  17. package/dist/core/externalLinks.js.map +1 -0
  18. package/dist/core/index.js +2 -0
  19. package/dist/core/index.js.map +1 -0
  20. package/dist/core/multicall3.d.ts +16 -0
  21. package/dist/core/multicall3.js +23 -0
  22. package/dist/core/multicall3.js.map +1 -0
  23. package/dist/core/numbers.d.ts +3 -0
  24. package/dist/core/numbers.js +28 -0
  25. package/dist/core/numbers.js.map +1 -0
  26. package/dist/core/providers/CosmosProvider.d.ts +34 -0
  27. package/dist/core/providers/CosmosProvider.js +12 -0
  28. package/dist/core/providers/CosmosProvider.js.map +1 -0
  29. package/dist/core/queries/queries-keys.d.ts +34 -0
  30. package/dist/core/queries/queries-keys.js +120 -0
  31. package/dist/core/queries/queries-keys.js.map +1 -0
  32. package/dist/core/queries/react-query-config.d.ts +3 -0
  33. package/dist/core/queries/react-query-config.js +11 -0
  34. package/dist/core/queries/react-query-config.js.map +1 -0
  35. package/dist/core/types/components.d.ts +14 -0
  36. package/dist/core/types/components.js +2 -0
  37. package/dist/core/types/components.js.map +1 -0
  38. package/dist/core/types/config.d.ts +47 -0
  39. package/dist/core/types/config.js +2 -0
  40. package/dist/core/types/config.js.map +1 -0
  41. package/dist/core/types/dex.d.ts +28 -0
  42. package/dist/core/types/dex.js +33 -0
  43. package/dist/core/types/dex.js.map +1 -0
  44. package/dist/core/types/error.d.ts +44 -0
  45. package/dist/core/types/error.js +12 -0
  46. package/dist/core/types/error.js.map +1 -0
  47. package/dist/core/types/event.d.ts +17 -0
  48. package/dist/core/types/event.js +2 -0
  49. package/dist/core/types/event.js.map +1 -0
  50. package/dist/core/types/route.d.ts +9 -0
  51. package/dist/core/types/route.js +4 -0
  52. package/dist/core/types/route.js.map +1 -0
  53. package/dist/core/types/swap.d.ts +8 -0
  54. package/dist/core/types/swap.js +2 -0
  55. package/dist/core/types/swap.js.map +1 -0
  56. package/dist/core/types/tokens.d.ts +29 -0
  57. package/dist/core/types/tokens.js +2 -0
  58. package/dist/core/types/tokens.js.map +1 -0
  59. package/dist/core/types/transaction.d.ts +68 -0
  60. package/dist/core/types/transaction.js +38 -0
  61. package/dist/core/types/transaction.js.map +1 -0
  62. package/dist/core/types/types.d.ts +30 -0
  63. package/dist/core/types/types.js +7 -0
  64. package/dist/core/types/types.js.map +1 -0
  65. package/dist/core/types/wallet.d.ts +55 -0
  66. package/dist/core/types/wallet.js +26 -0
  67. package/dist/core/types/wallet.js.map +1 -0
  68. package/dist/hooks/chains/useSquidChains.d.ts +12 -0
  69. package/dist/hooks/chains/useSquidChains.js +45 -0
  70. package/dist/hooks/chains/useSquidChains.js.map +1 -0
  71. package/dist/hooks/cosmos/useCosmos.d.ts +33 -0
  72. package/dist/hooks/cosmos/useCosmos.js +194 -0
  73. package/dist/hooks/cosmos/useCosmos.js.map +1 -0
  74. package/dist/hooks/cosmos/useCosmosForChain.d.ts +4 -0
  75. package/dist/hooks/cosmos/useCosmosForChain.js +22 -0
  76. package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -0
  77. package/{src/hooks/index.ts → dist/hooks/index.d.ts} +1 -7
  78. package/dist/hooks/index.js +27 -0
  79. package/dist/hooks/index.js.map +1 -0
  80. package/dist/hooks/navigation/useKeyboardNavigation.d.ts +7 -0
  81. package/dist/hooks/navigation/useKeyboardNavigation.js +69 -0
  82. package/dist/hooks/navigation/useKeyboardNavigation.js.map +1 -0
  83. package/dist/hooks/store/useSquidStore.d.ts +105 -0
  84. package/dist/hooks/store/useSquidStore.js +35 -0
  85. package/dist/hooks/store/useSquidStore.js.map +1 -0
  86. package/dist/hooks/swap/useSwap.d.ts +25 -0
  87. package/dist/hooks/swap/useSwap.js +229 -0
  88. package/dist/hooks/swap/useSwap.js.map +1 -0
  89. package/dist/hooks/tokens/useAllTokensWithBalance.d.ts +11 -0
  90. package/dist/hooks/tokens/useAllTokensWithBalance.js +97 -0
  91. package/dist/hooks/tokens/useAllTokensWithBalance.js.map +1 -0
  92. package/dist/hooks/tokens/useBalance.d.ts +34 -0
  93. package/dist/hooks/tokens/useBalance.js +112 -0
  94. package/dist/hooks/tokens/useBalance.js.map +1 -0
  95. package/dist/hooks/tokens/useMultiChainBalance.d.ts +17 -0
  96. package/dist/hooks/tokens/useMultiChainBalance.js +36 -0
  97. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -0
  98. package/dist/hooks/tokens/usePrices.d.ts +6 -0
  99. package/dist/hooks/tokens/usePrices.js +42 -0
  100. package/dist/hooks/tokens/usePrices.js.map +1 -0
  101. package/dist/hooks/tokens/useSingleTokenPrice.d.ts +10 -0
  102. package/dist/hooks/tokens/useSingleTokenPrice.js +32 -0
  103. package/dist/hooks/tokens/useSingleTokenPrice.js.map +1 -0
  104. package/dist/hooks/tokens/useSquidTokens.d.ts +13 -0
  105. package/dist/hooks/tokens/useSquidTokens.js +35 -0
  106. package/dist/hooks/tokens/useSquidTokens.js.map +1 -0
  107. package/dist/hooks/tokens/useTokensWithBalance.d.ts +7 -0
  108. package/dist/hooks/tokens/useTokensWithBalance.js +111 -0
  109. package/dist/hooks/tokens/useTokensWithBalance.js.map +1 -0
  110. package/dist/hooks/transaction/useEstimate.d.ts +44 -0
  111. package/dist/hooks/transaction/useEstimate.js +274 -0
  112. package/dist/hooks/transaction/useEstimate.js.map +1 -0
  113. package/dist/hooks/transaction/useEstimatePriceImpact.d.ts +7 -0
  114. package/dist/hooks/transaction/useEstimatePriceImpact.js +26 -0
  115. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +1 -0
  116. package/dist/hooks/transaction/useExecuteTransaction.d.ts +20 -0
  117. package/dist/hooks/transaction/useExecuteTransaction.js +310 -0
  118. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -0
  119. package/dist/hooks/transaction/useExpress.d.ts +5 -0
  120. package/dist/hooks/transaction/useExpress.js +31 -0
  121. package/dist/hooks/transaction/useExpress.js.map +1 -0
  122. package/dist/hooks/transaction/useGetRoute.d.ts +14 -0
  123. package/dist/hooks/transaction/useGetRoute.js +96 -0
  124. package/dist/hooks/transaction/useGetRoute.js.map +1 -0
  125. package/dist/hooks/transaction/useSingleTransaction.d.ts +8 -0
  126. package/dist/hooks/transaction/useSingleTransaction.js +99 -0
  127. package/dist/hooks/transaction/useSingleTransaction.js.map +1 -0
  128. package/dist/hooks/transaction/useTransaction.d.ts +25 -0
  129. package/dist/hooks/transaction/useTransaction.js +521 -0
  130. package/dist/hooks/transaction/useTransaction.js.map +1 -0
  131. package/dist/hooks/user/useUserParams.d.ts +6 -0
  132. package/dist/hooks/user/useUserParams.js +41 -0
  133. package/dist/hooks/user/useUserParams.js.map +1 -0
  134. package/dist/hooks/wallet/useAddToken.d.ts +4 -0
  135. package/dist/hooks/wallet/useAddToken.js +45 -0
  136. package/dist/hooks/wallet/useAddToken.js.map +1 -0
  137. package/dist/hooks/wallet/useAutoConnect.d.ts +6 -0
  138. package/dist/hooks/wallet/useAutoConnect.js +44 -0
  139. package/dist/hooks/wallet/useAutoConnect.js.map +1 -0
  140. package/dist/hooks/wallet/useGnosisContext.d.ts +7 -0
  141. package/dist/hooks/wallet/useGnosisContext.js +70 -0
  142. package/dist/hooks/wallet/useGnosisContext.js.map +1 -0
  143. package/dist/hooks/wallet/useIntegratorContext.d.ts +5 -0
  144. package/dist/hooks/wallet/useIntegratorContext.js +39 -0
  145. package/dist/hooks/wallet/useIntegratorContext.js.map +1 -0
  146. package/dist/hooks/wallet/useMultiChainWallet.d.ts +8 -0
  147. package/dist/hooks/wallet/useMultiChainWallet.js +113 -0
  148. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -0
  149. package/dist/hooks/wallet/useWallet.d.ts +6 -0
  150. package/dist/hooks/wallet/useWallet.js +65 -0
  151. package/dist/hooks/wallet/useWallet.js.map +1 -0
  152. package/dist/hooks/webapp-router/useSquidRouter.d.ts +11 -0
  153. package/dist/hooks/webapp-router/useSquidRouter.js +33 -0
  154. package/dist/hooks/webapp-router/useSquidRouter.js.map +1 -0
  155. package/{src/index.ts → dist/index.d.ts} +0 -1
  156. package/dist/index.js.map +1 -0
  157. package/dist/provider/index.d.ts +10 -0
  158. package/dist/provider/index.js +71 -0
  159. package/dist/provider/index.js.map +1 -0
  160. package/dist/services/external/analyticsService.d.ts +18 -0
  161. package/dist/services/external/analyticsService.js +30 -0
  162. package/dist/services/external/analyticsService.js.map +1 -0
  163. package/dist/services/external/coingeckoService.d.ts +8 -0
  164. package/dist/services/external/coingeckoService.js +20 -0
  165. package/dist/services/external/coingeckoService.js.map +1 -0
  166. package/dist/services/external/rpcService.d.ts +4 -0
  167. package/dist/services/external/rpcService.js +145 -0
  168. package/dist/services/external/rpcService.js.map +1 -0
  169. package/dist/services/external/secretService.d.ts +28 -0
  170. package/dist/services/external/secretService.js +129 -0
  171. package/dist/services/external/secretService.js.map +1 -0
  172. package/dist/services/index.js +2 -0
  173. package/dist/services/index.js.map +1 -0
  174. package/dist/services/internal/apiService.d.ts +4 -0
  175. package/dist/services/internal/apiService.js +7 -0
  176. package/dist/services/internal/apiService.js.map +1 -0
  177. package/dist/services/internal/assetsService.d.ts +28 -0
  178. package/dist/services/internal/assetsService.js +46 -0
  179. package/dist/services/internal/assetsService.js.map +1 -0
  180. package/dist/services/internal/configService.d.ts +40 -0
  181. package/dist/services/internal/configService.js +119 -0
  182. package/dist/services/internal/configService.js.map +1 -0
  183. package/dist/services/internal/errorService.d.ts +30 -0
  184. package/{src/services/internal/errorService.ts → dist/services/internal/errorService.js} +35 -54
  185. package/dist/services/internal/errorService.js.map +1 -0
  186. package/dist/services/internal/eventService.d.ts +52 -0
  187. package/dist/services/internal/eventService.js +66 -0
  188. package/dist/services/internal/eventService.js.map +1 -0
  189. package/dist/services/internal/priceService.d.ts +1 -0
  190. package/dist/services/internal/priceService.js +7 -0
  191. package/dist/services/internal/priceService.js.map +1 -0
  192. package/dist/services/internal/transactionService.d.ts +43 -0
  193. package/dist/services/internal/transactionService.js +172 -0
  194. package/dist/services/internal/transactionService.js.map +1 -0
  195. package/dist/services/internal/transactionStatusService.d.ts +28 -0
  196. package/dist/services/internal/transactionStatusService.js +225 -0
  197. package/dist/services/internal/transactionStatusService.js.map +1 -0
  198. package/dist/services/internal/walletService.d.ts +28 -0
  199. package/dist/services/internal/walletService.js +123 -0
  200. package/dist/services/internal/walletService.js.map +1 -0
  201. package/dist/tests/assetsService.test.d.ts +1 -0
  202. package/dist/tests/assetsService.test.js +130 -0
  203. package/dist/tests/assetsService.test.js.map +1 -0
  204. package/dist/tests/configService.test.d.ts +1 -0
  205. package/dist/tests/configService.test.js +295 -0
  206. package/dist/tests/configService.test.js.map +1 -0
  207. package/dist/tests/fetchSquidData.d.ts +6 -0
  208. package/dist/tests/fetchSquidData.js +27 -0
  209. package/dist/tests/fetchSquidData.js.map +1 -0
  210. package/{src/tests/jest-svg-transform.ts → dist/tests/jest-svg-transform.js} +11 -9
  211. package/dist/tests/jest-svg-transform.js.map +1 -0
  212. package/dist/tests/sample.json +0 -0
  213. package/dist/tests/walletService.test.d.ts +1 -0
  214. package/dist/tests/walletService.test.js +74 -0
  215. package/dist/tests/walletService.test.js.map +1 -0
  216. package/package.json +6 -2
  217. package/.babelrc +0 -7
  218. package/.eslintignore +0 -1
  219. package/.eslintrc.json +0 -44
  220. package/CHANGELOG.md +0 -7
  221. package/jest.config.ts +0 -28
  222. package/scripts/copyAssets.js +0 -27
  223. package/scripts/removeBuildTestFolder.js +0 -28
  224. package/scripts/replacePaths.js +0 -37
  225. package/src/connectors/LedgerLiveConnector.ts +0 -226
  226. package/src/contracts/typechain/ERC20.d.ts +0 -441
  227. package/src/contracts/typechain/factories/ERC20__factory.ts +0 -340
  228. package/src/core/constants.ts +0 -549
  229. package/src/core/multicall3.ts +0 -22
  230. package/src/core/numbers.ts +0 -44
  231. package/src/core/providers/CosmosProvider.tsx +0 -55
  232. package/src/core/queries/queries-keys.ts +0 -156
  233. package/src/core/queries/react-query-config.ts +0 -13
  234. package/src/core/types/components.ts +0 -16
  235. package/src/core/types/config.ts +0 -52
  236. package/src/core/types/dex.ts +0 -31
  237. package/src/core/types/error.ts +0 -52
  238. package/src/core/types/event.ts +0 -16
  239. package/src/core/types/route.ts +0 -21
  240. package/src/core/types/swap.ts +0 -8
  241. package/src/core/types/tokens.ts +0 -30
  242. package/src/core/types/transaction.ts +0 -84
  243. package/src/core/types/types.ts +0 -37
  244. package/src/core/types/wallet.ts +0 -83
  245. package/src/hooks/chains/useSquidChains.ts +0 -66
  246. package/src/hooks/cosmos/useCosmos.ts +0 -279
  247. package/src/hooks/cosmos/useCosmosForChain.ts +0 -33
  248. package/src/hooks/navigation/useKeyboardNavigation.ts +0 -88
  249. package/src/hooks/store/useSquidStore.ts +0 -80
  250. package/src/hooks/swap/useSwap.ts +0 -359
  251. package/src/hooks/tokens/useAllTokensWithBalance.ts +0 -157
  252. package/src/hooks/tokens/useBalance.ts +0 -180
  253. package/src/hooks/tokens/useMultiChainBalance.ts +0 -59
  254. package/src/hooks/tokens/usePrices.ts +0 -52
  255. package/src/hooks/tokens/useSingleTokenPrice.ts +0 -45
  256. package/src/hooks/tokens/useSquidTokens.ts +0 -48
  257. package/src/hooks/tokens/useTokensWithBalance.ts +0 -169
  258. package/src/hooks/transaction/useEstimate.ts +0 -397
  259. package/src/hooks/transaction/useEstimatePriceImpact.ts +0 -39
  260. package/src/hooks/transaction/useExecuteTransaction.ts +0 -440
  261. package/src/hooks/transaction/useExpress.ts +0 -46
  262. package/src/hooks/transaction/useGetRoute.ts +0 -145
  263. package/src/hooks/transaction/useSingleTransaction.ts +0 -155
  264. package/src/hooks/transaction/useTransaction.ts +0 -734
  265. package/src/hooks/user/useUserParams.ts +0 -63
  266. package/src/hooks/wallet/useAddToken.ts +0 -53
  267. package/src/hooks/wallet/useAutoConnect.ts +0 -56
  268. package/src/hooks/wallet/useGnosisContext.ts +0 -84
  269. package/src/hooks/wallet/useIntegratorContext.ts +0 -44
  270. package/src/hooks/wallet/useMultiChainWallet.ts +0 -146
  271. package/src/hooks/wallet/useWallet.ts +0 -86
  272. package/src/hooks/webapp-router/useSquidRouter.ts +0 -42
  273. package/src/provider/index.tsx +0 -105
  274. package/src/react-app-env.d.ts +0 -2
  275. package/src/services/external/analyticsService.ts +0 -46
  276. package/src/services/external/coingeckoService.ts +0 -35
  277. package/src/services/external/rpcService.ts +0 -196
  278. package/src/services/external/secretService.ts +0 -178
  279. package/src/services/internal/apiService.ts +0 -6
  280. package/src/services/internal/assetsService.ts +0 -84
  281. package/src/services/internal/configService.ts +0 -261
  282. package/src/services/internal/eventService.ts +0 -93
  283. package/src/services/internal/priceService.ts +0 -10
  284. package/src/services/internal/transactionService.ts +0 -255
  285. package/src/services/internal/transactionStatusService.ts +0 -293
  286. package/src/services/internal/walletService.ts +0 -158
  287. package/src/tests/assetsService.test.ts +0 -176
  288. package/src/tests/configService.test.ts +0 -486
  289. package/src/tests/fetchSquidData.ts +0 -43
  290. package/src/tests/walletService.test.ts +0 -178
  291. package/tsconfig.json +0 -30
  292. /package/{src → dist}/assets/images/icons/wallets/binance.svg +0 -0
  293. /package/{src → dist}/assets/images/icons/wallets/bitget.svg +0 -0
  294. /package/{src → dist}/assets/images/icons/wallets/bitkeep.svg +0 -0
  295. /package/{src → dist}/assets/images/icons/wallets/blockchaindotcom.svg +0 -0
  296. /package/{src → dist}/assets/images/icons/wallets/brave.svg +0 -0
  297. /package/{src → dist}/assets/images/icons/wallets/c98.svg +0 -0
  298. /package/{src → dist}/assets/images/icons/wallets/coinbase.svg +0 -0
  299. /package/{src → dist}/assets/images/icons/wallets/cosmostation.svg +0 -0
  300. /package/{src → dist}/assets/images/icons/wallets/defiConnect.svg +0 -0
  301. /package/{src → dist}/assets/images/icons/wallets/exodus.svg +0 -0
  302. /package/{src → dist}/assets/images/icons/wallets/fetchai.svg +0 -0
  303. /package/{src → dist}/assets/images/icons/wallets/keplr.svg +0 -0
  304. /package/{src → dist}/assets/images/icons/wallets/leap.svg +0 -0
  305. /package/{src → dist}/assets/images/icons/wallets/metamask.svg +0 -0
  306. /package/{src → dist}/assets/images/icons/wallets/okx.svg +0 -0
  307. /package/{src → dist}/assets/images/icons/wallets/rabby.svg +0 -0
  308. /package/{src → dist}/assets/images/icons/wallets/trustwallet.svg +0 -0
  309. /package/{src → dist}/assets/images/icons/wallets/walletConnect.svg +0 -0
  310. /package/{src → dist}/assets/images/icons/wallets/wallet_icon.svg +0 -0
  311. /package/{src → dist}/assets/images/icons/wallets/xdefi.svg +0 -0
  312. /package/{src → dist}/assets/images/icons/wallets/zerion.svg +0 -0
  313. /package/{src → dist}/contracts/typechain/factories/ERC20__factory.d.ts +0 -0
  314. /package/{src/core/index.ts → dist/core/index.d.ts} +0 -0
  315. /package/{src/services/index.ts → dist/services/index.d.ts} +0 -0
  316. /package/{src/tests/sample.json → dist/tests/jest-svg-transform.d.ts} +0 -0
@@ -0,0 +1,225 @@
1
+ import { SquidStatusErrorType } from "./../../core/types/error";
2
+ import { AxelarStatusResponseType, TransactionStatus, TransactionType, } from "./../../core/types/transaction";
3
+ import { isStatusError } from "./errorService";
4
+ import { getMainExplorerUrl } from "./transactionService";
5
+ /**
6
+ * Get the steps for a transaction
7
+ * First step and second step are always the same
8
+ * @param transaction
9
+ * @param statusResponse
10
+ * @returns {TransactionStepStatus[]}
11
+ */
12
+ export const getStepStatuses = ({ transaction, statusResponse, onlyFullStatusStep, }) => {
13
+ let firstStepStatus;
14
+ // "warning" state is a custom one indicating that
15
+ // the user is taking too much time to validate the transaction
16
+ // And can be set to loading
17
+ switch (transaction?.sourceStatus) {
18
+ case "error":
19
+ case "success":
20
+ case "ongoing":
21
+ firstStepStatus = transaction.sourceStatus;
22
+ break;
23
+ case "warning":
24
+ firstStepStatus = TransactionStatus.ONGOING;
25
+ break;
26
+ default:
27
+ firstStepStatus = TransactionStatus.PENDING;
28
+ }
29
+ let middleStepStatus = !onlyFullStatusStep && firstStepStatus !== "success"
30
+ ? TransactionStatus.PENDING
31
+ : middleStepChecker(statusResponse);
32
+ const lastStepStatus = getLastStepStatus(firstStepStatus, middleStepStatus);
33
+ // Once we have the last step status,
34
+ // we have to override the middle step for some states
35
+ middleStepStatus =
36
+ middleStepStatus === "needs_gas" || middleStepStatus === "partial_success"
37
+ ? TransactionStatus.SUCCESS
38
+ : middleStepStatus;
39
+ return onlyFullStatusStep
40
+ ? [middleStepStatus]
41
+ : [firstStepStatus, middleStepStatus, lastStepStatus];
42
+ };
43
+ const getLastStepStatus = (first, middle) => {
44
+ if (first === TransactionStatus.PENDING ||
45
+ first === "ongoing" ||
46
+ first === "error") {
47
+ return TransactionStatus.PENDING;
48
+ }
49
+ switch (middle) {
50
+ case "initialLoading":
51
+ case "ongoing":
52
+ return TransactionStatus.PENDING;
53
+ default:
54
+ return middle;
55
+ }
56
+ };
57
+ export const getHalfSuccessState = (status) => {
58
+ switch (status) {
59
+ case "success":
60
+ return TransactionStatus.SUCCESS;
61
+ case "partial_success": // Received axlUSDC
62
+ return TransactionStatus.PARTIAL_SUCCESS;
63
+ case "needs_gas":
64
+ return TransactionStatus.NEEDS_GAS;
65
+ default:
66
+ return undefined;
67
+ }
68
+ };
69
+ const middleStepChecker = (statusResponse) => {
70
+ const squidStatus = statusResponse?.data;
71
+ const successState = getHalfSuccessState(squidStatus?.squidTransactionStatus);
72
+ if (successState) {
73
+ return successState;
74
+ }
75
+ if (squidStatus?.status === AxelarStatusResponseType.ERROR) {
76
+ const { error } = squidStatus;
77
+ if (isStatusError(error)) {
78
+ if (error.errorType === SquidStatusErrorType.NotFoundError) {
79
+ return TransactionStatus.ERROR;
80
+ }
81
+ }
82
+ return TransactionStatus.ERROR;
83
+ }
84
+ if (statusResponse?.isInitialLoading) {
85
+ return TransactionStatus.INITIAL_LOADING;
86
+ }
87
+ return TransactionStatus.ONGOING;
88
+ };
89
+ export const getStepsInfos = ({ fromChain, toChain, fromToken, toToken, amount, txType, transaction, statusResponse, }) => {
90
+ const [firstStepStatus, middleStepStatus, lastStepStatus] = getStepStatuses({
91
+ transaction,
92
+ statusResponse,
93
+ });
94
+ const payLabel = `Pay ${amount} ${fromToken?.symbol} on ${fromChain?.networkName}`;
95
+ const swapForUSDCLabel = `Swap ${fromToken?.symbol} for axlUSDC`;
96
+ const sendUSDCLabel = `Send axlUSDC to ${toChain?.networkName}`;
97
+ const swapUSDCLabel = `Swap axlUSDC for ${toToken?.symbol}`;
98
+ const receiveLabel = `Receive ${toToken?.symbol} on ${toChain?.networkName}`;
99
+ const axelarUrl = getMainExplorerUrl(transaction);
100
+ const sourceExplorerUrl = transaction?.sourceTxExplorerUrl;
101
+ const destinationExplorerUrl = statusResponse?.data?.toChain?.transactionUrl;
102
+ switch (txType) {
103
+ case TransactionType.CALL_BRIDGE_CALL:
104
+ return [
105
+ {
106
+ label: payLabel,
107
+ status: firstStepStatus,
108
+ link: sourceExplorerUrl,
109
+ subTitle: "View on explorer",
110
+ },
111
+ {
112
+ label: swapForUSDCLabel,
113
+ status: firstStepStatus !== "success"
114
+ ? TransactionStatus.PENDING
115
+ : firstStepStatus,
116
+ link: axelarUrl,
117
+ subTitle: "View on Axelarscan",
118
+ },
119
+ {
120
+ label: sendUSDCLabel,
121
+ status: middleStepStatus,
122
+ link: axelarUrl,
123
+ subTitle: "View on Axelarscan",
124
+ },
125
+ {
126
+ label: swapUSDCLabel,
127
+ status: middleStepStatus !== "success"
128
+ ? TransactionStatus.PENDING
129
+ : middleStepStatus,
130
+ link: axelarUrl,
131
+ subTitle: "View on Axelarscan",
132
+ },
133
+ {
134
+ label: receiveLabel,
135
+ status: lastStepStatus,
136
+ link: destinationExplorerUrl,
137
+ subTitle: "View on explorer",
138
+ },
139
+ ];
140
+ case TransactionType.CALL_BRIDGE:
141
+ return [
142
+ {
143
+ label: payLabel,
144
+ status: firstStepStatus,
145
+ link: sourceExplorerUrl,
146
+ subTitle: "View on explorer",
147
+ },
148
+ {
149
+ label: swapForUSDCLabel,
150
+ status: firstStepStatus !== "success"
151
+ ? TransactionStatus.PENDING
152
+ : firstStepStatus,
153
+ link: axelarUrl,
154
+ subTitle: "View on Axelarscan",
155
+ },
156
+ {
157
+ label: sendUSDCLabel,
158
+ status: middleStepStatus,
159
+ link: axelarUrl,
160
+ subTitle: "View on Axelarscan",
161
+ },
162
+ {
163
+ label: receiveLabel,
164
+ status: lastStepStatus,
165
+ link: destinationExplorerUrl,
166
+ subTitle: "View on explorer",
167
+ },
168
+ ];
169
+ case TransactionType.BRIDGE:
170
+ return [
171
+ {
172
+ label: payLabel,
173
+ status: firstStepStatus,
174
+ link: sourceExplorerUrl,
175
+ subTitle: "View on explorer",
176
+ },
177
+ {
178
+ label: sendUSDCLabel,
179
+ status: firstStepStatus !== "success"
180
+ ? TransactionStatus.PENDING
181
+ : firstStepStatus,
182
+ link: axelarUrl,
183
+ subTitle: "View on Axelarscan",
184
+ },
185
+ {
186
+ label: receiveLabel,
187
+ status: lastStepStatus,
188
+ link: destinationExplorerUrl,
189
+ subTitle: "View on explorer",
190
+ },
191
+ ];
192
+ case TransactionType.BRIDGE_CALL:
193
+ return [
194
+ {
195
+ label: payLabel,
196
+ status: firstStepStatus,
197
+ link: sourceExplorerUrl,
198
+ subTitle: "View on explorer",
199
+ },
200
+ {
201
+ label: sendUSDCLabel,
202
+ status: firstStepStatus !== "success"
203
+ ? TransactionStatus.PENDING
204
+ : firstStepStatus,
205
+ link: axelarUrl,
206
+ subTitle: "View on Axelarscan",
207
+ },
208
+ {
209
+ label: swapUSDCLabel,
210
+ status: middleStepStatus,
211
+ link: axelarUrl,
212
+ subTitle: "View on Axelarscan",
213
+ },
214
+ {
215
+ label: receiveLabel,
216
+ status: lastStepStatus,
217
+ link: destinationExplorerUrl,
218
+ subTitle: "View on explorer",
219
+ },
220
+ ];
221
+ default:
222
+ return [];
223
+ }
224
+ };
225
+ //# sourceMappingURL=transactionStatusService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionStatusService.js","sourceRoot":"","sources":["../../../src/services/internal/transactionStatusService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ConnectorID, Wallet } from "@/core/types/wallet";
2
+ import type { ChainData } from "@0xsquid/sdk/dist/types";
3
+ import type { ChainInfo } from "@keplr-wallet/types";
4
+ import type { Chain } from "wagmi";
5
+ export declare const formatWalletAddress: (walletAddress: string | undefined, trimLength?: number) => string;
6
+ export declare const isCosmosAddressValid: (chainPrefix: string, address: string) => boolean;
7
+ export declare const isWalletAddressValid: (chainData?: ChainData, address?: string) => boolean;
8
+ export declare const getWalletByConnectorID: (connectorID: ConnectorID) => Wallet | undefined;
9
+ export declare const getCosmosChainInfosObject: (chain: ChainData) => ChainInfo;
10
+ export declare const isWalletExtensionInstalled: (wallet: Wallet) => boolean;
11
+ export declare const redirectExtensionStoreIfNotInstalled: (wallet: Wallet) => void;
12
+ /**
13
+ * Get the value of an object property using a string path
14
+ * E.G. window["cosmostation.providers.keplr"]
15
+ * @param obj
16
+ * @param path
17
+ * @returns
18
+ */
19
+ export declare const getDescendantProp: (obj: any, path: string) => any;
20
+ export declare const formatChainsForWagmi: (chains: ChainData[]) => Chain[];
21
+ /**
22
+ * Dynamically accesses a nested property of an object based on a dot-separated string path.
23
+ * Returns the value of the property if found, otherwise undefined.
24
+ * e.g. "xfi.keplr" will return window.xfi.keplr
25
+ */
26
+ export declare const accessProperty: (object: Record<string, any>, path: string) => any;
27
+ export declare const metamaskIcon: string | undefined;
28
+ export declare const EVMnetworkNotSupportedErrorCode = 4902;
@@ -0,0 +1,123 @@
1
+ import { walletStoreLinks, wallets } from "./../../core/constants";
2
+ import { ChainType } from "@0xsquid/sdk/dist/types";
3
+ import { fromBech32 } from "@cosmjs/encoding";
4
+ import { ethers } from "ethers";
5
+ import getProperty from "lodash/get";
6
+ export const formatWalletAddress = (walletAddress, trimLength = 5) => {
7
+ return walletAddress
8
+ ? walletAddress?.length > trimLength
9
+ ? `${walletAddress.slice(0, trimLength)}...${walletAddress.slice(walletAddress.length - (trimLength - 2), // -2 here because the start of wallet is 0x
10
+ walletAddress.length)}`.toLowerCase()
11
+ : walletAddress
12
+ : "";
13
+ };
14
+ export const isCosmosAddressValid = (chainPrefix, address) => {
15
+ try {
16
+ if (!address.toLowerCase().startsWith(chainPrefix)) {
17
+ throw new Error("Invalid address for this chain");
18
+ }
19
+ fromBech32(address);
20
+ return true;
21
+ }
22
+ catch (error) {
23
+ return false;
24
+ }
25
+ };
26
+ export const isWalletAddressValid = (chainData, address) => {
27
+ if (address) {
28
+ if (chainData?.chainType === ChainType.EVM) {
29
+ return ethers.utils.isAddress(address);
30
+ }
31
+ if (chainData?.chainType === ChainType.COSMOS) {
32
+ return isCosmosAddressValid(chainData.bech32Config.bech32PrefixAccAddr, address);
33
+ }
34
+ }
35
+ return false;
36
+ };
37
+ export const getWalletByConnectorID = (connectorID) => {
38
+ return wallets.find((w) => w.connectorId === connectorID);
39
+ };
40
+ export const getCosmosChainInfosObject = (chain) => {
41
+ const cosmosChain = chain;
42
+ return {
43
+ ...cosmosChain,
44
+ chainName: cosmosChain.networkName,
45
+ chainId: cosmosChain.chainId.toString(),
46
+ rpc: cosmosChain.rpc.split("?chain")[0],
47
+ feeCurrencies: cosmosChain.feeCurrencies.map((c) => ({
48
+ ...c,
49
+ gasPriceStep: cosmosChain.gasPriceStep,
50
+ })),
51
+ };
52
+ };
53
+ export const isWalletExtensionInstalled = (wallet) => {
54
+ if ((wallet.connectorId === "metaMask" && !window.ethereum) ||
55
+ (wallet.connectorId === "keplr" && !window.keplr) ||
56
+ (wallet.connectorId === "leap" && !window.leap) ||
57
+ // Cosmostation has two different connectors for different extensions
58
+ ((wallet.connectorId === "cosmostationCosmos" ||
59
+ wallet.connectorId === "cosmostation") &&
60
+ !window.cosmostation) ||
61
+ (wallet.connectorId === "xdefi" && !window.xfi) ||
62
+ (wallet.connectorId === "bitget" && !window.bitkeep) ||
63
+ (wallet.connectorId === "exodus" && !window.exodus)) {
64
+ return false;
65
+ }
66
+ return true;
67
+ };
68
+ export const redirectExtensionStoreIfNotInstalled = (wallet) => {
69
+ const { userAgent } = navigator;
70
+ let link;
71
+ if (!isWalletExtensionInstalled(wallet)) {
72
+ if (userAgent.indexOf("Firefox") > -1) {
73
+ link = walletStoreLinks[wallet.connectorId].firefox;
74
+ }
75
+ else if (userAgent.indexOf("Chrome") > -1) {
76
+ link = walletStoreLinks[wallet.connectorId].chrome;
77
+ }
78
+ if (link && link !== "") {
79
+ window?.open(link, "_blank").focus();
80
+ }
81
+ }
82
+ };
83
+ /**
84
+ * Get the value of an object property using a string path
85
+ * E.G. window["cosmostation.providers.keplr"]
86
+ * @param obj
87
+ * @param path
88
+ * @returns
89
+ */
90
+ export const getDescendantProp = (obj, path) => {
91
+ return path.split(".").reduce((acc, part) => acc && acc[part], obj);
92
+ };
93
+ export const formatChainsForWagmi = (chains) => {
94
+ return chains
95
+ ?.filter((c) => c.chainType === ChainType.EVM)
96
+ .map((c) => ({
97
+ id: +c.chainId,
98
+ name: c.networkName,
99
+ network: c.networkName,
100
+ contracts: {
101
+ multicall3: {
102
+ address: "0xcA11bde05977b3631167028862bE2a173976CA11",
103
+ },
104
+ },
105
+ nativeCurrency: c.nativeCurrency,
106
+ rpcUrls: { public: { http: [c.rpc] }, default: { http: [c.rpc] } },
107
+ }));
108
+ };
109
+ /**
110
+ * Dynamically accesses a nested property of an object based on a dot-separated string path.
111
+ * Returns the value of the property if found, otherwise undefined.
112
+ * e.g. "xfi.keplr" will return window.xfi.keplr
113
+ */
114
+ export const accessProperty = (object, path) => {
115
+ const value = getProperty(object, path);
116
+ if (value === undefined) {
117
+ console.error(`Property "${path}" not found while reading object`, object);
118
+ }
119
+ return value;
120
+ };
121
+ export const metamaskIcon = getWalletByConnectorID("metaMask")?.icon;
122
+ export const EVMnetworkNotSupportedErrorCode = 4902;
123
+ //# sourceMappingURL=walletService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletService.js","sourceRoot":"","sources":["../../../src/services/internal/walletService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,130 @@
1
+ import { shareSubgraphId, sortTokensBySharedSubgraphIds, filterChains, } from "./../services/internal/assetsService";
2
+ import { fetchSquidData } from "./fetchSquidData";
3
+ let squid = undefined;
4
+ let CHAINS = {};
5
+ let TOKENS = {};
6
+ describe("assetsService", () => {
7
+ beforeAll(async () => {
8
+ squid = await fetchSquidData();
9
+ CHAINS = squid?.chains;
10
+ TOKENS = squid?.tokens;
11
+ });
12
+ describe("shareSubgraphId", () => {
13
+ test("should return false when no token has subgraph ids", () => {
14
+ expect(shareSubgraphId(TOKENS.BASE.USDBC, TOKENS.AVALANCHE.MAI)).toBe(false);
15
+ });
16
+ test("should return true when tokens share subgraph ids", () => {
17
+ expect(shareSubgraphId(TOKENS.AVALANCHE.USDC, TOKENS.ETHEREUM.USDC)).toBe(true);
18
+ });
19
+ test("should return false when tokens do not share subgraph ids", () => {
20
+ expect(shareSubgraphId(TOKENS.AVALANCHE.AVAX, TOKENS.ETHEREUM.ETH)).toBe(false);
21
+ });
22
+ });
23
+ describe("sortTokensBySharedSubgraphIds", () => {
24
+ test("should sort 'a' token first when it shares subgraph ids with the token to check", () => {
25
+ expect(sortTokensBySharedSubgraphIds({
26
+ a: TOKENS.AVALANCHE.USDC,
27
+ b: TOKENS.ETHEREUM.WBTC,
28
+ tokenToCheck: TOKENS.ETHEREUM.USDC,
29
+ })).toBe(-1);
30
+ });
31
+ test("should sort 'b' token first when it shares subgraph ids with the token to check", () => {
32
+ expect(sortTokensBySharedSubgraphIds({
33
+ a: TOKENS.AVALANCHE.USDC,
34
+ b: TOKENS.ETHEREUM.ETH,
35
+ tokenToCheck: TOKENS.ETHEREUM.WETH,
36
+ })).toBe(1);
37
+ });
38
+ test("should not change order when tokens do not share subgraph ids with the token to check", () => {
39
+ expect(sortTokensBySharedSubgraphIds({
40
+ a: TOKENS.AVALANCHE.AVAX,
41
+ b: TOKENS.ETHEREUM.ETH,
42
+ tokenToCheck: TOKENS.ETHEREUM.USDC,
43
+ })).toBe(0);
44
+ });
45
+ test("should not change the order when both tokens share subgraph ids with the token to check", () => {
46
+ expect(sortTokensBySharedSubgraphIds({
47
+ a: TOKENS.ETHEREUM.USDC,
48
+ b: TOKENS.AVALANCHE.axlUSDC,
49
+ tokenToCheck: TOKENS.AVALANCHE.USDC,
50
+ })).toBe(0);
51
+ });
52
+ });
53
+ describe("filterChains", () => {
54
+ test("return chains without changes when no chain is disabled or coming soon", () => {
55
+ const chains = [CHAINS.AVALANCHE, CHAINS.ETHEREUM, CHAINS.NOBLE];
56
+ expect(filterChains({
57
+ chains,
58
+ config: {
59
+ comingSoonChainIds: undefined,
60
+ disabledChains: undefined,
61
+ },
62
+ direction: "from",
63
+ })).toEqual(chains);
64
+ });
65
+ test("sorts disabled chains to the end", () => {
66
+ expect(filterChains({
67
+ chains: [CHAINS.MOONBEAM, CHAINS.POLYGON, CHAINS.BINANCE],
68
+ config: {
69
+ comingSoonChainIds: undefined,
70
+ disabledChains: { source: [CHAINS.POLYGON.chainId] },
71
+ },
72
+ direction: "from",
73
+ })).toEqual([CHAINS.MOONBEAM, CHAINS.BINANCE, CHAINS.POLYGON]);
74
+ expect(filterChains({
75
+ chains: [CHAINS.POLYGON, CHAINS.CELO, CHAINS.BINANCE],
76
+ config: {
77
+ comingSoonChainIds: undefined,
78
+ disabledChains: { destination: [CHAINS.CELO.chainId] },
79
+ },
80
+ direction: "to",
81
+ })).toEqual([CHAINS.POLYGON, CHAINS.BINANCE, CHAINS.CELO]);
82
+ });
83
+ test("sorts coming soon chains to the end", () => {
84
+ expect(filterChains({
85
+ chains: [CHAINS.LINEA, CHAINS.FANTOM, CHAINS.CELO],
86
+ config: {
87
+ disabledChains: undefined,
88
+ comingSoonChainIds: [CHAINS.LINEA.chainId],
89
+ },
90
+ direction: "from",
91
+ })).toEqual([CHAINS.FANTOM, CHAINS.CELO, CHAINS.LINEA]);
92
+ expect(filterChains({
93
+ chains: [CHAINS.NOBLE, CHAINS.OPTIMISM, CHAINS.MANTLE],
94
+ config: {
95
+ disabledChains: undefined,
96
+ comingSoonChainIds: [CHAINS.NOBLE.chainId],
97
+ },
98
+ direction: "to",
99
+ })).toEqual([CHAINS.OPTIMISM, CHAINS.MANTLE, CHAINS.NOBLE]);
100
+ });
101
+ test("sorts available chains first, then disabled chains, and finally coming soon chains", () => {
102
+ const chains = [
103
+ CHAINS.MOONBEAM,
104
+ CHAINS.POLYGON,
105
+ CHAINS.BINANCE,
106
+ CHAINS.LINEA,
107
+ CHAINS.FANTOM,
108
+ CHAINS.CELO,
109
+ ];
110
+ expect(filterChains({
111
+ chains,
112
+ config: {
113
+ disabledChains: {
114
+ source: [CHAINS.MOONBEAM.chainId, CHAINS.LINEA.chainId],
115
+ },
116
+ comingSoonChainIds: [CHAINS.POLYGON.chainId],
117
+ },
118
+ direction: "from",
119
+ })).toEqual([
120
+ CHAINS.BINANCE,
121
+ CHAINS.FANTOM,
122
+ CHAINS.CELO,
123
+ CHAINS.MOONBEAM,
124
+ CHAINS.LINEA,
125
+ CHAINS.POLYGON,
126
+ ]);
127
+ });
128
+ });
129
+ });
130
+ //# sourceMappingURL=assetsService.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetsService.test.js","sourceRoot":"","sources":["../../src/tests/assetsService.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};