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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/dist/core/types/index.d.ts +2 -2
  2. package/dist/index-BVNZiGCx.js +6021 -0
  3. package/dist/index-BVNZiGCx.js.map +1 -0
  4. package/dist/index-BeLuO1uo.js +6021 -0
  5. package/dist/index-BeLuO1uo.js.map +1 -0
  6. package/dist/index-CGkGzcT3.js +41015 -0
  7. package/dist/index-CGkGzcT3.js.map +1 -0
  8. package/dist/index-DDz-C-VC.js +41267 -0
  9. package/dist/index-DDz-C-VC.js.map +1 -0
  10. package/dist/index.esm.js +36 -0
  11. package/dist/index.esm.js.map +1 -0
  12. package/dist/index.js +296 -6
  13. package/dist/index.js.map +1 -1
  14. package/dist/{services/external/secretService.js → secretService-D49fXkda.js} +43 -8
  15. package/dist/secretService-D49fXkda.js.map +1 -0
  16. package/dist/secretService-DeXE4j0J.js +168 -0
  17. package/dist/secretService-DeXE4j0J.js.map +1 -0
  18. package/package.json +18 -4
  19. package/dist/core/abis/ics20.json +0 -128
  20. package/dist/core/client/index.js +0 -38
  21. package/dist/core/client/index.js.map +0 -1
  22. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  23. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  24. package/dist/core/connectors/bitcoin/helpers.js +0 -91
  25. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  26. package/dist/core/connectors/bitcoin/index.js +0 -2
  27. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  28. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  29. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  30. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  31. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  32. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  33. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  34. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  35. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  36. package/dist/core/connectors/xrpl/CrossMark.js +0 -76
  37. package/dist/core/connectors/xrpl/CrossMark.js.map +0 -1
  38. package/dist/core/connectors/xrpl/WalletConnect.js +0 -194
  39. package/dist/core/connectors/xrpl/WalletConnect.js.map +0 -1
  40. package/dist/core/connectors/xrpl/Xaman.js +0 -71
  41. package/dist/core/connectors/xrpl/Xaman.js.map +0 -1
  42. package/dist/core/connectors/xrpl/XamanQr.js +0 -95
  43. package/dist/core/connectors/xrpl/XamanQr.js.map +0 -1
  44. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +0 -176
  45. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +0 -1
  46. package/dist/core/constants.js +0 -157
  47. package/dist/core/constants.js.map +0 -1
  48. package/dist/core/externalLinks.js +0 -21
  49. package/dist/core/externalLinks.js.map +0 -1
  50. package/dist/core/index.js +0 -4
  51. package/dist/core/index.js.map +0 -1
  52. package/dist/core/multicall3.js +0 -462
  53. package/dist/core/multicall3.js.map +0 -1
  54. package/dist/core/providers/BitcoinProvider.js +0 -15
  55. package/dist/core/providers/BitcoinProvider.js.map +0 -1
  56. package/dist/core/providers/CosmosProvider.js +0 -13
  57. package/dist/core/providers/CosmosProvider.js.map +0 -1
  58. package/dist/core/providers/EvmProvider.js +0 -15
  59. package/dist/core/providers/EvmProvider.js.map +0 -1
  60. package/dist/core/providers/SolanaProvider.js +0 -15
  61. package/dist/core/providers/SolanaProvider.js.map +0 -1
  62. package/dist/core/providers/SuiProvider.js +0 -15
  63. package/dist/core/providers/SuiProvider.js.map +0 -1
  64. package/dist/core/providers/XrplProvider.js +0 -15
  65. package/dist/core/providers/XrplProvider.js.map +0 -1
  66. package/dist/core/queries/queries-keys.js +0 -232
  67. package/dist/core/queries/queries-keys.js.map +0 -1
  68. package/dist/core/queries/react-query-config.js +0 -11
  69. package/dist/core/queries/react-query-config.js.map +0 -1
  70. package/dist/core/types/bitcoin.js +0 -2
  71. package/dist/core/types/bitcoin.js.map +0 -1
  72. package/dist/core/types/config.js +0 -2
  73. package/dist/core/types/config.js.map +0 -1
  74. package/dist/core/types/error.js +0 -18
  75. package/dist/core/types/error.js.map +0 -1
  76. package/dist/core/types/event.js +0 -2
  77. package/dist/core/types/event.js.map +0 -1
  78. package/dist/core/types/evm.js +0 -2
  79. package/dist/core/types/evm.js.map +0 -1
  80. package/dist/core/types/history.js +0 -7
  81. package/dist/core/types/history.js.map +0 -1
  82. package/dist/core/types/index.js +0 -4
  83. package/dist/core/types/index.js.map +0 -1
  84. package/dist/core/types/onramps/index.js +0 -3
  85. package/dist/core/types/onramps/index.js.map +0 -1
  86. package/dist/core/types/onramps/onramp.js +0 -2
  87. package/dist/core/types/onramps/onramp.js.map +0 -1
  88. package/dist/core/types/onramps/revolut.js +0 -2
  89. package/dist/core/types/onramps/revolut.js.map +0 -1
  90. package/dist/core/types/rpc.js +0 -2
  91. package/dist/core/types/rpc.js.map +0 -1
  92. package/dist/core/types/solana.js +0 -2
  93. package/dist/core/types/solana.js.map +0 -1
  94. package/dist/core/types/sui.js +0 -2
  95. package/dist/core/types/sui.js.map +0 -1
  96. package/dist/core/types/swap.js +0 -2
  97. package/dist/core/types/swap.js.map +0 -1
  98. package/dist/core/types/tokens.js +0 -2
  99. package/dist/core/types/tokens.js.map +0 -1
  100. package/dist/core/types/transaction.js +0 -47
  101. package/dist/core/types/transaction.js.map +0 -1
  102. package/dist/core/types/wallet.js +0 -19
  103. package/dist/core/types/wallet.js.map +0 -1
  104. package/dist/core/types/xrpl.js +0 -32
  105. package/dist/core/types/xrpl.js.map +0 -1
  106. package/dist/core/wagmiConfig.js +0 -81
  107. package/dist/core/wagmiConfig.js.map +0 -1
  108. package/dist/core/wallets.js +0 -357
  109. package/dist/core/wallets.js.map +0 -1
  110. package/dist/hooks/analytics/useTrackSearchEmpty.js +0 -22
  111. package/dist/hooks/analytics/useTrackSearchEmpty.js.map +0 -1
  112. package/dist/hooks/bitcoin/useBitcoin.js +0 -18
  113. package/dist/hooks/bitcoin/useBitcoin.js.map +0 -1
  114. package/dist/hooks/chains/useSquidChains.js +0 -96
  115. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  116. package/dist/hooks/client/useClient.js +0 -63
  117. package/dist/hooks/client/useClient.js.map +0 -1
  118. package/dist/hooks/cosmos/useCosmos.js +0 -167
  119. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  120. package/dist/hooks/cosmos/useCosmosForChain.js +0 -29
  121. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  122. package/dist/hooks/evm/useEvm.js +0 -68
  123. package/dist/hooks/evm/useEvm.js.map +0 -1
  124. package/dist/hooks/evm/useEvmWallets.js +0 -13
  125. package/dist/hooks/evm/useEvmWallets.js.map +0 -1
  126. package/dist/hooks/index.js +0 -54
  127. package/dist/hooks/index.js.map +0 -1
  128. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  129. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  130. package/dist/hooks/onramp/useFiatToCrypto.js +0 -298
  131. package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
  132. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  133. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  134. package/dist/hooks/solana/useSolana.js +0 -81
  135. package/dist/hooks/solana/useSolana.js.map +0 -1
  136. package/dist/hooks/solana/useSolanaWallets.js +0 -8
  137. package/dist/hooks/solana/useSolanaWallets.js.map +0 -1
  138. package/dist/hooks/squid/useSquid.js +0 -55
  139. package/dist/hooks/squid/useSquid.js.map +0 -1
  140. package/dist/hooks/store/useAddressBookStore.js +0 -30
  141. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  142. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  143. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  144. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  145. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  146. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  147. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  148. package/dist/hooks/store/useHistoryStore.js +0 -129
  149. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  150. package/dist/hooks/store/useSendTransactionStore.js +0 -21
  151. package/dist/hooks/store/useSendTransactionStore.js.map +0 -1
  152. package/dist/hooks/store/useSquidStore.js +0 -54
  153. package/dist/hooks/store/useSquidStore.js.map +0 -1
  154. package/dist/hooks/store/useWalletStore.js +0 -61
  155. package/dist/hooks/store/useWalletStore.js.map +0 -1
  156. package/dist/hooks/sui/useSui.js +0 -81
  157. package/dist/hooks/sui/useSui.js.map +0 -1
  158. package/dist/hooks/sui/useSuiWallets.js +0 -23
  159. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  160. package/dist/hooks/swap/useDepositAddress.js +0 -63
  161. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  162. package/dist/hooks/swap/useSwap.js +0 -228
  163. package/dist/hooks/swap/useSwap.js.map +0 -1
  164. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -114
  165. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  166. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -130
  167. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  168. package/dist/hooks/tokens/useBalance.js +0 -157
  169. package/dist/hooks/tokens/useBalance.js.map +0 -1
  170. package/dist/hooks/tokens/useMultiChainBalance.js +0 -77
  171. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  172. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  173. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  174. package/dist/hooks/tokens/useNativeBalance.js +0 -249
  175. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  176. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -30
  177. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  178. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  179. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  180. package/dist/hooks/tokens/useSquidTokens.js +0 -75
  181. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  182. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  183. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  184. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +0 -58
  185. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +0 -1
  186. package/dist/hooks/transaction/send/useSendTransaction.js +0 -245
  187. package/dist/hooks/transaction/send/useSendTransaction.js.map +0 -1
  188. package/dist/hooks/transaction/send/useSendTransactionGas.js +0 -73
  189. package/dist/hooks/transaction/send/useSendTransactionGas.js.map +0 -1
  190. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -127
  191. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  192. package/dist/hooks/transaction/useApproval.js +0 -246
  193. package/dist/hooks/transaction/useApproval.js.map +0 -1
  194. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  195. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  196. package/dist/hooks/transaction/useEstimate.js +0 -115
  197. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  198. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  199. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  200. package/dist/hooks/transaction/useExecuteTransaction.js +0 -678
  201. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  202. package/dist/hooks/transaction/useGetRoute.js +0 -207
  203. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  204. package/dist/hooks/transaction/useIcs20Allowance.js +0 -46
  205. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  206. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  207. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  208. package/dist/hooks/transaction/useSendTransactionStatus.js +0 -63
  209. package/dist/hooks/transaction/useSendTransactionStatus.js.map +0 -1
  210. package/dist/hooks/transaction/useSwapTransactionStatus.js +0 -114
  211. package/dist/hooks/transaction/useSwapTransactionStatus.js.map +0 -1
  212. package/dist/hooks/user/useAvatar.js +0 -40
  213. package/dist/hooks/user/useAvatar.js.map +0 -1
  214. package/dist/hooks/user/useHistory.js +0 -103
  215. package/dist/hooks/user/useHistory.js.map +0 -1
  216. package/dist/hooks/user/useUserParams.js +0 -33
  217. package/dist/hooks/user/useUserParams.js.map +0 -1
  218. package/dist/hooks/utils/useUtils.js +0 -20
  219. package/dist/hooks/utils/useUtils.js.map +0 -1
  220. package/dist/hooks/wallet/useAddToken.js +0 -49
  221. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  222. package/dist/hooks/wallet/useAutoConnect.js +0 -92
  223. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  224. package/dist/hooks/wallet/useEns.js +0 -57
  225. package/dist/hooks/wallet/useEns.js.map +0 -1
  226. package/dist/hooks/wallet/useGnosisContext.js +0 -74
  227. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  228. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  229. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  230. package/dist/hooks/wallet/useMultiChainWallet.js +0 -210
  231. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  232. package/dist/hooks/wallet/useSigner.js +0 -68
  233. package/dist/hooks/wallet/useSigner.js.map +0 -1
  234. package/dist/hooks/wallet/useStandardWallets.js +0 -26
  235. package/dist/hooks/wallet/useStandardWallets.js.map +0 -1
  236. package/dist/hooks/wallet/useWallet.js +0 -199
  237. package/dist/hooks/wallet/useWallet.js.map +0 -1
  238. package/dist/hooks/wallet/useWallets.js +0 -33
  239. package/dist/hooks/wallet/useWallets.js.map +0 -1
  240. package/dist/hooks/xrpl/useXrpl.js +0 -55
  241. package/dist/hooks/xrpl/useXrpl.js.map +0 -1
  242. package/dist/hooks/xrpl/useXrplTrustLine.js +0 -159
  243. package/dist/hooks/xrpl/useXrplTrustLine.js.map +0 -1
  244. package/dist/hooks/xrpl/useXrplWallets.js +0 -51
  245. package/dist/hooks/xrpl/useXrplWallets.js.map +0 -1
  246. package/dist/provider/index.js +0 -118
  247. package/dist/provider/index.js.map +0 -1
  248. package/dist/services/external/cosmosRestClient.js +0 -45
  249. package/dist/services/external/cosmosRestClient.js.map +0 -1
  250. package/dist/services/external/ens.js +0 -66
  251. package/dist/services/external/ens.js.map +0 -1
  252. package/dist/services/external/index.js +0 -3
  253. package/dist/services/external/index.js.map +0 -1
  254. package/dist/services/external/onrampAdapter.js +0 -52
  255. package/dist/services/external/onrampAdapter.js.map +0 -1
  256. package/dist/services/external/rpcService.js +0 -411
  257. package/dist/services/external/rpcService.js.map +0 -1
  258. package/dist/services/external/secretService.js.map +0 -1
  259. package/dist/services/external/suiRpcClient.js +0 -80
  260. package/dist/services/external/suiRpcClient.js.map +0 -1
  261. package/dist/services/external/tokenDataService.js +0 -108
  262. package/dist/services/external/tokenDataService.js.map +0 -1
  263. package/dist/services/external/websocket.js +0 -34
  264. package/dist/services/external/websocket.js.map +0 -1
  265. package/dist/services/external/xaman.js +0 -78
  266. package/dist/services/external/xaman.js.map +0 -1
  267. package/dist/services/external/xrplRpcClient.js +0 -167
  268. package/dist/services/external/xrplRpcClient.js.map +0 -1
  269. package/dist/services/index.js +0 -19
  270. package/dist/services/index.js.map +0 -1
  271. package/dist/services/internal/apiService.js +0 -21
  272. package/dist/services/internal/apiService.js.map +0 -1
  273. package/dist/services/internal/assetsService.js +0 -575
  274. package/dist/services/internal/assetsService.js.map +0 -1
  275. package/dist/services/internal/bitcoinService.js +0 -20
  276. package/dist/services/internal/bitcoinService.js.map +0 -1
  277. package/dist/services/internal/configService.js +0 -198
  278. package/dist/services/internal/configService.js.map +0 -1
  279. package/dist/services/internal/cosmosService.js +0 -141
  280. package/dist/services/internal/cosmosService.js.map +0 -1
  281. package/dist/services/internal/countryCurrencyMap.js +0 -1102
  282. package/dist/services/internal/countryCurrencyMap.js.map +0 -1
  283. package/dist/services/internal/errorService.js +0 -190
  284. package/dist/services/internal/errorService.js.map +0 -1
  285. package/dist/services/internal/estimateService.js +0 -225
  286. package/dist/services/internal/estimateService.js.map +0 -1
  287. package/dist/services/internal/eventService.js +0 -219
  288. package/dist/services/internal/eventService.js.map +0 -1
  289. package/dist/services/internal/evmService.js +0 -67
  290. package/dist/services/internal/evmService.js.map +0 -1
  291. package/dist/services/internal/fiatToCryptoService.js +0 -84
  292. package/dist/services/internal/fiatToCryptoService.js.map +0 -1
  293. package/dist/services/internal/fiatToCryptoService.test.js +0 -45
  294. package/dist/services/internal/fiatToCryptoService.test.js.map +0 -1
  295. package/dist/services/internal/numberService.js +0 -199
  296. package/dist/services/internal/numberService.js.map +0 -1
  297. package/dist/services/internal/priceService.js +0 -53
  298. package/dist/services/internal/priceService.js.map +0 -1
  299. package/dist/services/internal/searchService.js +0 -98
  300. package/dist/services/internal/searchService.js.map +0 -1
  301. package/dist/services/internal/sendTransaction.js +0 -191
  302. package/dist/services/internal/sendTransaction.js.map +0 -1
  303. package/dist/services/internal/sendTransactionStatus.js +0 -134
  304. package/dist/services/internal/sendTransactionStatus.js.map +0 -1
  305. package/dist/services/internal/solanaService.js +0 -142
  306. package/dist/services/internal/solanaService.js.map +0 -1
  307. package/dist/services/internal/suiService.js +0 -81
  308. package/dist/services/internal/suiService.js.map +0 -1
  309. package/dist/services/internal/transactionService.js +0 -210
  310. package/dist/services/internal/transactionService.js.map +0 -1
  311. package/dist/services/internal/transactionStatusService.js +0 -390
  312. package/dist/services/internal/transactionStatusService.js.map +0 -1
  313. package/dist/services/internal/walletService.js +0 -546
  314. package/dist/services/internal/walletService.js.map +0 -1
  315. package/dist/services/internal/walletStandardService.js +0 -128
  316. package/dist/services/internal/walletStandardService.js.map +0 -1
  317. package/dist/services/internal/xionService.js +0 -6
  318. package/dist/services/internal/xionService.js.map +0 -1
  319. package/dist/services/internal/xrplService.js +0 -52
  320. package/dist/services/internal/xrplService.js.map +0 -1
  321. package/dist/tests/apiService.test.js +0 -40
  322. package/dist/tests/apiService.test.js.map +0 -1
  323. package/dist/tests/assetsService.test.js +0 -614
  324. package/dist/tests/assetsService.test.js.map +0 -1
  325. package/dist/tests/configService.test.js +0 -641
  326. package/dist/tests/configService.test.js.map +0 -1
  327. package/dist/tests/estimateService.test.js +0 -429
  328. package/dist/tests/estimateService.test.js.map +0 -1
  329. package/dist/tests/fetchSquidData.js +0 -36
  330. package/dist/tests/fetchSquidData.js.map +0 -1
  331. package/dist/tests/jest-svg-transform.d.ts +0 -0
  332. package/dist/tests/jest-svg-transform.js +0 -21
  333. package/dist/tests/jest-svg-transform.js.map +0 -1
  334. package/dist/tests/numberService.test.js +0 -166
  335. package/dist/tests/numberService.test.js.map +0 -1
  336. package/dist/tests/priceService.test.js +0 -38
  337. package/dist/tests/priceService.test.js.map +0 -1
  338. package/dist/tests/sample.json +0 -0
  339. package/dist/tests/searchService.test.js +0 -86
  340. package/dist/tests/searchService.test.js.map +0 -1
  341. package/dist/tests/swapConfig.test.js +0 -332
  342. package/dist/tests/swapConfig.test.js.map +0 -1
  343. package/dist/tests/transactionService.test.js +0 -53
  344. package/dist/tests/transactionService.test.js.map +0 -1
  345. package/dist/tests/transactionStatusService.test.js +0 -165
  346. package/dist/tests/transactionStatusService.test.js.map +0 -1
  347. package/dist/tests/walletService.test.js +0 -488
  348. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,641 +0,0 @@
1
- import { nativeEvmTokenAddress } from "../core/constants";
2
- import { filterTokensForDestination, getFirstAvailableChainId, getInitialChainIdFromConfig, getInitialOrDefaultTokenAddressForChain, getInitialTokenAddressForChain, } from "../services/internal/configService";
3
- import { fetchSquidData } from "./fetchSquidData";
4
- let squid = undefined;
5
- let CHAINS = {};
6
- let TOKENS = {};
7
- describe("config service", () => {
8
- beforeAll(async () => {
9
- squid = await fetchSquidData();
10
- CHAINS = squid?.chains;
11
- TOKENS = squid?.tokens;
12
- });
13
- describe("getFirstAvailableChainId", () => {
14
- test("returns chain id of first chain when no initialAssets are specified", () => {
15
- expect(getFirstAvailableChainId({}, "from", [
16
- CHAINS.ETHEREUM,
17
- CHAINS.ARBITRUM,
18
- CHAINS.POLYGON,
19
- ])).toBe(CHAINS.ETHEREUM.chainId);
20
- expect(getFirstAvailableChainId({
21
- initialAssets: {},
22
- }, "from", [CHAINS.ETHEREUM, CHAINS.ARBITRUM, CHAINS.POLYGON])).toBe(CHAINS.ETHEREUM.chainId);
23
- });
24
- test("returns undefined when no chains are provided", () => {
25
- expect(getFirstAvailableChainId({}, "from", [])).toBe(undefined);
26
- expect(getFirstAvailableChainId({}, "from", undefined)).toBe(undefined);
27
- });
28
- test("returns undefined if all chain ids are also disabled chains", () => {
29
- const allChains = Object.values(CHAINS);
30
- const disabledSourceChains = allChains.map((chain) => chain.chainId);
31
- expect(getFirstAvailableChainId({
32
- disabledChains: {
33
- source: disabledSourceChains,
34
- },
35
- }, "from", allChains)).toBe(undefined);
36
- });
37
- test("returns chain id of initialAssets when its ids are present in chains provided", () => {
38
- expect(getFirstAvailableChainId({
39
- initialAssets: {
40
- from: {
41
- address: nativeEvmTokenAddress,
42
- chainId: CHAINS.POLYGON.chainId,
43
- },
44
- },
45
- }, "from", [CHAINS.OPTIMISM, CHAINS.BINANCE, CHAINS.POLYGON, CHAINS.ETHEREUM])).toBe(CHAINS.POLYGON.chainId);
46
- expect(getFirstAvailableChainId({
47
- initialAssets: {
48
- to: {
49
- address: nativeEvmTokenAddress,
50
- chainId: CHAINS.AVALANCHE.chainId,
51
- },
52
- },
53
- }, "to", [CHAINS.MANTLE, CHAINS.BASE, CHAINS.AVALANCHE, CHAINS.MOONBEAM])).toBe(CHAINS.AVALANCHE.chainId);
54
- });
55
- test("returns chain id of first chain when initialAssets chain ids are not present in chains provided", () => {
56
- expect(getFirstAvailableChainId({
57
- initialAssets: {
58
- from: {
59
- address: nativeEvmTokenAddress,
60
- chainId: CHAINS.ARBITRUM.chainId,
61
- },
62
- },
63
- }, "from", [CHAINS.BINANCE, CHAINS.ETHEREUM, CHAINS.POLYGON])).toBe(CHAINS.BINANCE.chainId);
64
- expect(getFirstAvailableChainId({
65
- initialAssets: {
66
- to: {
67
- address: nativeEvmTokenAddress,
68
- chainId: CHAINS.MOONBEAM.chainId,
69
- },
70
- },
71
- }, "to", [CHAINS.ARBITRUM, CHAINS.AVALANCHE, CHAINS.LINEA])).toBe(CHAINS.ARBITRUM.chainId);
72
- });
73
- test("returns chain id of second chain when initial asset chain is a disabled chain", () => {
74
- expect(getFirstAvailableChainId({
75
- initialAssets: {
76
- from: {
77
- address: nativeEvmTokenAddress,
78
- chainId: CHAINS.ARBITRUM.chainId,
79
- },
80
- },
81
- disabledChains: {
82
- source: [CHAINS.ARBITRUM.chainId],
83
- },
84
- }, "from", [CHAINS.ARBITRUM, CHAINS.FANTOM, CHAINS.MANTLE])).toBe(CHAINS.FANTOM.chainId);
85
- expect(getFirstAvailableChainId({
86
- initialAssets: {
87
- to: {
88
- address: nativeEvmTokenAddress,
89
- chainId: CHAINS.POLYGON.chainId,
90
- },
91
- },
92
- disabledChains: {
93
- destination: [CHAINS.POLYGON.chainId],
94
- },
95
- }, "to", [CHAINS.POLYGON, CHAINS.BASE, CHAINS.AVALANCHE])).toBe(CHAINS.BASE.chainId);
96
- });
97
- test("returns chain id of second chain when first chain is disabled", () => {
98
- expect(getFirstAvailableChainId({
99
- disabledChains: {
100
- source: [CHAINS.ARBITRUM.chainId],
101
- },
102
- }, "from", [CHAINS.ARBITRUM, CHAINS.FANTOM, CHAINS.MANTLE])).toBe(CHAINS.FANTOM.chainId);
103
- expect(getFirstAvailableChainId({
104
- disabledChains: {
105
- destination: [CHAINS.NOBLE.chainId],
106
- },
107
- }, "to", [CHAINS.NOBLE, CHAINS.AVALANCHE, CHAINS.SCROLL])).toBe(CHAINS.AVALANCHE.chainId);
108
- });
109
- test("returns chain id of second chain when initial asset chain is disabled", () => {
110
- expect(getFirstAvailableChainId({
111
- disabledChains: {
112
- source: [CHAINS.OPTIMISM.chainId],
113
- },
114
- initialAssets: {
115
- from: {
116
- address: nativeEvmTokenAddress,
117
- chainId: CHAINS.OPTIMISM.chainId,
118
- },
119
- },
120
- }, "from", [CHAINS.OPTIMISM, CHAINS.MOONBEAM, CHAINS.NOBLE])).toBe(CHAINS.MOONBEAM.chainId);
121
- expect(getFirstAvailableChainId({
122
- disabledChains: {
123
- destination: [CHAINS.LINEA.chainId],
124
- },
125
- }, "to", [CHAINS.LINEA, CHAINS.BASE, CHAINS.MANTLE])).toBe(CHAINS.BASE.chainId);
126
- });
127
- });
128
- describe("getInitialOrDefaultTokenAddressForChain", () => {
129
- test("returns native token address if config is not specified", () => {
130
- expect(getInitialOrDefaultTokenAddressForChain({
131
- tokens: [
132
- TOKENS.ETHEREUM.USDT,
133
- TOKENS.ETHEREUM.ETH,
134
- TOKENS.ETHEREUM.WETH,
135
- ],
136
- config: {},
137
- chainId: CHAINS.ETHEREUM.chainId,
138
- direction: "from",
139
- })).toBe(TOKENS.ETHEREUM.ETH.address);
140
- expect(getInitialOrDefaultTokenAddressForChain({
141
- tokens: [
142
- TOKENS.ETHEREUM.WBTC,
143
- TOKENS.ETHEREUM.USDC,
144
- TOKENS.ETHEREUM.ETH,
145
- ],
146
- config: {
147
- defaultTokensPerChain: [],
148
- },
149
- chainId: CHAINS.ETHEREUM.chainId,
150
- direction: "from",
151
- })).toBe(TOKENS.ETHEREUM.ETH.address);
152
- });
153
- test("returns undefined if no tokens are found for specified chain id", () => {
154
- expect(getInitialOrDefaultTokenAddressForChain({
155
- tokens: [
156
- TOKENS.BASE.USDbC,
157
- TOKENS.BASE["USDC.axl"],
158
- TOKENS.BASE.WETH,
159
- ],
160
- config: {},
161
- chainId: CHAINS.ETHEREUM.chainId,
162
- direction: "from",
163
- })).toBe(undefined);
164
- });
165
- test("filters by defaultTokensPerChain config", () => {
166
- expect(getInitialOrDefaultTokenAddressForChain({
167
- tokens: [TOKENS.BASE.USDC, TOKENS.BASE.WETH, TOKENS.ETHEREUM.USDT],
168
- config: {
169
- defaultTokensPerChain: [
170
- {
171
- address: TOKENS.ETHEREUM.USDT.address,
172
- chainId: TOKENS.ETHEREUM.USDT.chainId,
173
- },
174
- ],
175
- },
176
- chainId: CHAINS.ETHEREUM.chainId,
177
- direction: "from",
178
- })).toBe(TOKENS.ETHEREUM.USDT.address);
179
- expect(getInitialOrDefaultTokenAddressForChain({
180
- tokens: [
181
- TOKENS.ETHEREUM.WBTC,
182
- TOKENS.BASE["USDC.axl"],
183
- TOKENS.BASE.ETH,
184
- ],
185
- config: {
186
- defaultTokensPerChain: [
187
- {
188
- address: TOKENS.BASE["USDC.axl"].address,
189
- chainId: TOKENS.BASE["USDC.axl"].chainId,
190
- },
191
- ],
192
- },
193
- chainId: CHAINS.BASE.chainId,
194
- direction: "from",
195
- })).toBe(TOKENS.BASE["USDC.axl"].address);
196
- });
197
- test("filters by unavailableTokenAddress", () => {
198
- expect(getInitialOrDefaultTokenAddressForChain({
199
- tokens: [
200
- TOKENS.ETHEREUM.WBTC,
201
- TOKENS.BASE["USDC.axl"],
202
- TOKENS.BASE.USDbC,
203
- ],
204
- config: {},
205
- chainId: CHAINS.BASE.chainId,
206
- direction: "from",
207
- excludeToken: {
208
- address: TOKENS.BASE["USDC.axl"].address,
209
- chainId: CHAINS.BASE.chainId,
210
- },
211
- })).toBe(TOKENS.BASE.USDbC.address);
212
- });
213
- test("filters by initialAssets", () => {
214
- expect(getInitialOrDefaultTokenAddressForChain({
215
- tokens: [
216
- TOKENS.BASE.USDC,
217
- TOKENS.ETHEREUM.WETH,
218
- TOKENS.ETHEREUM.USDT,
219
- TOKENS.ETHEREUM.USDC,
220
- ],
221
- config: {
222
- initialAssets: {
223
- from: TOKENS.ETHEREUM.USDT,
224
- },
225
- },
226
- chainId: CHAINS.ETHEREUM.chainId,
227
- direction: "from",
228
- })).toBe(TOKENS.ETHEREUM.USDT.address);
229
- });
230
- test("returns correct initial asset for dest even if source is set", () => {
231
- expect(getInitialOrDefaultTokenAddressForChain({
232
- direction: "to",
233
- chainId: CHAINS.BASE.chainId,
234
- tokens: [
235
- TOKENS.BASE.ETH,
236
- TOKENS.BASE.USDC,
237
- TOKENS.ETHEREUM.WETH,
238
- TOKENS.ETHEREUM.ETH,
239
- TOKENS.ETHEREUM.USDT,
240
- TOKENS.ETHEREUM.USDC,
241
- ],
242
- config: {
243
- initialAssets: {
244
- from: {
245
- address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
246
- chainId: "1",
247
- },
248
- to: {
249
- address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
250
- chainId: "8453",
251
- },
252
- },
253
- },
254
- })).toBe(TOKENS.BASE.ETH.address);
255
- });
256
- test("returns correct initial asset for source even if dest is set", () => {
257
- expect(getInitialOrDefaultTokenAddressForChain({
258
- direction: "from",
259
- chainId: CHAINS.ETHEREUM.chainId,
260
- tokens: [
261
- TOKENS.BASE.ETH,
262
- TOKENS.BASE.USDC,
263
- TOKENS.ETHEREUM.WETH,
264
- TOKENS.ETHEREUM.ETH,
265
- TOKENS.ETHEREUM.USDT,
266
- TOKENS.ETHEREUM.USDC,
267
- ],
268
- config: {
269
- initialAssets: {
270
- from: TOKENS.ETHEREUM.ETH,
271
- to: TOKENS.BASE.ETH,
272
- },
273
- },
274
- })).toBe(TOKENS.ETHEREUM.ETH.address);
275
- });
276
- test("prioritizes defaultTokens over initialAssets when both are provided", () => {
277
- expect(getInitialOrDefaultTokenAddressForChain({
278
- tokens: [
279
- TOKENS.BASE.USDC,
280
- TOKENS.ETHEREUM.WETH,
281
- TOKENS.ETHEREUM.USDT,
282
- TOKENS.ETHEREUM.USDC,
283
- ],
284
- config: {
285
- initialAssets: {
286
- from: TOKENS.ETHEREUM.USDT,
287
- },
288
- defaultTokensPerChain: [
289
- {
290
- address: TOKENS.ETHEREUM.WETH.address,
291
- chainId: TOKENS.ETHEREUM.WETH.chainId,
292
- },
293
- ],
294
- },
295
- chainId: CHAINS.ETHEREUM.chainId,
296
- direction: "from",
297
- })).toBe(TOKENS.ETHEREUM.WETH.address);
298
- });
299
- test("filters when unavailableTokenAddress and default token are the same", () => {
300
- expect(getInitialOrDefaultTokenAddressForChain({
301
- tokens: [
302
- TOKENS.BASE.WETH,
303
- TOKENS.ETHEREUM.ETH,
304
- TOKENS.BASE.USDC,
305
- TOKENS.ETHEREUM.USDT,
306
- ],
307
- config: {
308
- defaultTokensPerChain: [
309
- {
310
- address: TOKENS.ETHEREUM.ETH.address,
311
- chainId: TOKENS.ETHEREUM.ETH.chainId,
312
- },
313
- ],
314
- },
315
- chainId: CHAINS.ETHEREUM.chainId,
316
- direction: "from",
317
- excludeToken: {
318
- address: TOKENS.ETHEREUM.ETH.address,
319
- chainId: CHAINS.ETHEREUM.chainId,
320
- },
321
- })).toBe(TOKENS.ETHEREUM.USDT.address);
322
- });
323
- test("returns undefined when chain is disabled", () => {
324
- expect(getInitialOrDefaultTokenAddressForChain({
325
- tokens: [
326
- TOKENS.BASE["USDC.axl"],
327
- TOKENS.ETHEREUM.WBTC,
328
- TOKENS.BASE.USDbC,
329
- TOKENS.ETHEREUM.USDC,
330
- ],
331
- config: {
332
- disabledChains: {
333
- source: [CHAINS.ETHEREUM.chainId],
334
- },
335
- },
336
- chainId: CHAINS.ETHEREUM.chainId,
337
- direction: "from",
338
- excludeToken: undefined,
339
- })).toBe(undefined);
340
- expect(getInitialOrDefaultTokenAddressForChain({
341
- tokens: [
342
- TOKENS.ETHEREUM.USDC,
343
- TOKENS.AVALANCHE.USDC,
344
- TOKENS.ETHEREUM.WETH,
345
- TOKENS.AVALANCHE.AVAX,
346
- ],
347
- config: {
348
- disabledChains: { destination: [CHAINS.AVALANCHE.chainId] },
349
- },
350
- chainId: CHAINS.AVALANCHE.chainId,
351
- direction: "to",
352
- })).toBe(undefined);
353
- });
354
- test("ignores case when comparing token address", () => {
355
- expect(getInitialOrDefaultTokenAddressForChain({
356
- tokens: [TOKENS.SOLANA.SOL, TOKENS.SOLANA.USDC, TOKENS.SOLANA.USDT],
357
- config: {
358
- initialAssets: {
359
- from: {
360
- chainId: "42161",
361
- address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
362
- },
363
- to: {
364
- chainId: "solana-mainnet-beta",
365
- address: "epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v",
366
- },
367
- },
368
- },
369
- chainId: "solana-mainnet-beta",
370
- direction: "to",
371
- excludeToken: {
372
- address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
373
- chainId: "42161",
374
- },
375
- })).toBe("epjfwdd5aufqssqem2qn1xzybapc8g4weggkzwytdt1v");
376
- });
377
- });
378
- describe("filterTokensForDestination", () => {
379
- test("returns different tokens than source token when from and to chains are the same", () => {
380
- expect(filterTokensForDestination({
381
- tokens: [
382
- TOKENS.ETHEREUM.ETH,
383
- TOKENS.ETHEREUM.USDC,
384
- TOKENS.ETHEREUM.WETH,
385
- ],
386
- selectedDestinationChain: CHAINS.ETHEREUM,
387
- selectedSourceToken: TOKENS.ETHEREUM.ETH,
388
- removeSourceToken: true,
389
- })).toStrictEqual([TOKENS.ETHEREUM.USDC, TOKENS.ETHEREUM.WETH]);
390
- expect(filterTokensForDestination({
391
- tokens: [
392
- TOKENS.BASE.USDbC,
393
- TOKENS.BASE.WETH,
394
- TOKENS.BASE["USDC.axl"],
395
- ],
396
- selectedDestinationChain: CHAINS.BASE,
397
- selectedSourceToken: TOKENS.BASE["USDC.axl"],
398
- removeSourceToken: true,
399
- })).toStrictEqual([TOKENS.BASE.USDbC, TOKENS.BASE.WETH]);
400
- });
401
- test("returns only tokens of same chain as destination chain", () => {
402
- expect(filterTokensForDestination({
403
- tokens: [
404
- TOKENS.ETHEREUM.USDC,
405
- TOKENS.BASE.USDbC,
406
- TOKENS.ETHEREUM.WETH,
407
- TOKENS.BASE.ETH,
408
- ],
409
- selectedDestinationChain: CHAINS.ETHEREUM,
410
- selectedSourceToken: TOKENS.BASE.USDC,
411
- removeSourceToken: false,
412
- })).toStrictEqual([TOKENS.ETHEREUM.USDC, TOKENS.ETHEREUM.WETH]);
413
- });
414
- test("returns all tokens if destination chain is not provided", () => {
415
- expect(filterTokensForDestination({
416
- tokens: [
417
- TOKENS.AVALANCHE.AVAX,
418
- TOKENS.ETHEREUM.WETH,
419
- TOKENS.CELO["USDC.axl"],
420
- TOKENS.BASE.ETH,
421
- TOKENS.ETHEREUM.USDC,
422
- TOKENS.BASE.USDbC,
423
- ],
424
- selectedDestinationChain: undefined,
425
- selectedSourceToken: TOKENS.BASE.ETH,
426
- removeSourceToken: true,
427
- })).toStrictEqual([
428
- TOKENS.AVALANCHE.AVAX,
429
- TOKENS.ETHEREUM.WETH,
430
- TOKENS.CELO["USDC.axl"],
431
- TOKENS.ETHEREUM.USDC,
432
- TOKENS.BASE.USDbC,
433
- ]);
434
- });
435
- test("selecting a non-native Osmosis token on destination should be possible", () => {
436
- expect(filterTokensForDestination({
437
- tokens: [
438
- TOKENS.OSMOSIS.USDC,
439
- TOKENS.OSMOSIS.ATOM,
440
- TOKENS.OSMOSIS.OSMO,
441
- ],
442
- selectedDestinationChain: CHAINS.OSMOSIS,
443
- selectedSourceToken: TOKENS.OSMOSIS.ATOM,
444
- removeSourceToken: true,
445
- })).toStrictEqual([TOKENS.OSMOSIS.USDC, TOKENS.OSMOSIS.OSMO]);
446
- });
447
- });
448
- describe("getInitialTokenAddressForChain", () => {
449
- test("returns initial assets when chain id matches", () => {
450
- const fromInitialAsset = TOKENS.ETHEREUM.WETH;
451
- expect(getInitialTokenAddressForChain({
452
- chainId: CHAINS.ETHEREUM.chainId,
453
- config: {
454
- initialAssets: {
455
- from: fromInitialAsset,
456
- },
457
- },
458
- direction: "from",
459
- tokens: [TOKENS.ETHEREUM.USDT, fromInitialAsset],
460
- })).toBe(fromInitialAsset.address);
461
- const toInitialAsset = TOKENS.AVALANCHE.MAI;
462
- expect(getInitialTokenAddressForChain({
463
- chainId: CHAINS.AVALANCHE.chainId,
464
- config: {
465
- initialAssets: {
466
- to: toInitialAsset,
467
- },
468
- },
469
- direction: "to",
470
- tokens: [TOKENS.AVALANCHE["USDC.axl"], toInitialAsset],
471
- })).toBe(toInitialAsset.address);
472
- });
473
- test("returns undefined when initial asset does not match chain id", () => {
474
- expect(getInitialTokenAddressForChain({
475
- chainId: CHAINS.ETHEREUM.chainId,
476
- config: {
477
- initialAssets: {
478
- from: TOKENS.BASE.USDbC, // initial asset is a Base token, but we want to get Ethereum tokens
479
- },
480
- },
481
- direction: "from",
482
- tokens: [TOKENS.ETHEREUM.USDT, TOKENS.ETHEREUM.WETH, TOKENS.BASE.ETH],
483
- })).toBe(undefined);
484
- expect(getInitialTokenAddressForChain({
485
- chainId: CHAINS.BASE.chainId,
486
- config: {
487
- initialAssets: {
488
- to: TOKENS.AVALANCHE.AVAX, // initial asset is an Avalanche token, but we want to get Base tokens
489
- },
490
- },
491
- direction: "from",
492
- tokens: [
493
- TOKENS.BASE.ETH,
494
- TOKENS.AVALANCHE.USDC,
495
- TOKENS.BASE["USDC.axl"],
496
- ],
497
- })).toBe(undefined);
498
- });
499
- test("returns undefined when chain is not available", () => {
500
- expect(getInitialTokenAddressForChain({
501
- tokens: [
502
- TOKENS.AVALANCHE.AVAX,
503
- TOKENS.ETHEREUM.WETH,
504
- TOKENS.CELO["USDC.axl"],
505
- TOKENS.BASE.ETH,
506
- TOKENS.ETHEREUM.USDC,
507
- TOKENS.BASE.USDbC,
508
- ],
509
- config: {},
510
- chainId: CHAINS.BASE.chainId,
511
- direction: "from",
512
- })).toBe(undefined);
513
- });
514
- test("returns undefined when no initialAssets are provided", () => {
515
- expect(getInitialTokenAddressForChain({
516
- tokens: [
517
- TOKENS.AVALANCHE.AVAX,
518
- TOKENS.ETHEREUM.WETH,
519
- TOKENS.CELO["USDC.axl"],
520
- TOKENS.BASE.ETH,
521
- TOKENS.ETHEREUM.USDC,
522
- TOKENS.BASE.USDbC,
523
- ],
524
- config: {},
525
- direction: "from",
526
- chainId: CHAINS.BASE.chainId,
527
- })).toBe(undefined);
528
- });
529
- test("returns undefined when initial asset doesn't exist in tokens array", () => {
530
- expect(getInitialTokenAddressForChain({
531
- tokens: [
532
- TOKENS.BASE.USDbC,
533
- TOKENS.ETHEREUM.WETH,
534
- TOKENS.BASE["USDC.axl"],
535
- TOKENS.ETHEREUM.USDC,
536
- ],
537
- config: {
538
- initialAssets: {
539
- from: TOKENS.ETHEREUM.USDT,
540
- },
541
- },
542
- direction: "from",
543
- chainId: CHAINS.ETHEREUM.chainId,
544
- })).toBe(undefined);
545
- });
546
- test("returns undefined when initial asset is unavailable token", () => {
547
- expect(getInitialTokenAddressForChain({
548
- tokens: [
549
- TOKENS.AVALANCHE.USDC,
550
- TOKENS.ETHEREUM.WETH,
551
- TOKENS.AVALANCHE.AVAX,
552
- TOKENS.ETHEREUM.USDC,
553
- ],
554
- chainId: CHAINS.AVALANCHE.chainId,
555
- config: {
556
- initialAssets: {
557
- from: TOKENS.AVALANCHE.AVAX,
558
- },
559
- },
560
- direction: "from",
561
- unavailableTokenAddress: TOKENS.AVALANCHE.AVAX.address,
562
- })).toBe(undefined);
563
- });
564
- });
565
- describe("getInitialChainIdFromConfig", () => {
566
- test("returns undefined when no initialAssets are provided", () => {
567
- expect(getInitialChainIdFromConfig({
568
- config: {},
569
- direction: "from",
570
- chains: [CHAINS.ETHEREUM, CHAINS.ARBITRUM, CHAINS.POLYGON],
571
- })).toBe(undefined);
572
- });
573
- test("returns the correct initial chain ID when initial assets are provided", () => {
574
- expect(getInitialChainIdFromConfig({
575
- config: {
576
- initialAssets: {
577
- from: TOKENS.ETHEREUM.USDT,
578
- },
579
- },
580
- chains: [CHAINS.ARBITRUM, CHAINS.ETHEREUM, CHAINS.POLYGON],
581
- direction: "from",
582
- })).toBe(CHAINS.ETHEREUM.chainId);
583
- expect(getInitialChainIdFromConfig({
584
- config: {
585
- initialAssets: {
586
- to: TOKENS.AVALANCHE.USDC,
587
- },
588
- },
589
- direction: "to",
590
- chains: [CHAINS.MOONBEAM, CHAINS.ETHEREUM, CHAINS.AVALANCHE],
591
- })).toBe(CHAINS.AVALANCHE.chainId);
592
- });
593
- test("returns undefined when no chains are provided", () => {
594
- expect(getInitialChainIdFromConfig({
595
- config: {
596
- initialAssets: {
597
- from: TOKENS.ETHEREUM.USDT,
598
- },
599
- },
600
- chains: [],
601
- direction: "from",
602
- })).toBe(undefined);
603
- expect(getInitialChainIdFromConfig({
604
- config: {
605
- initialAssets: {
606
- to: TOKENS.AVALANCHE.USDC,
607
- },
608
- },
609
- direction: "to",
610
- chains: [],
611
- })).toBe(undefined);
612
- });
613
- test("returns undefined when chains in initial assets are disabled", () => {
614
- expect(getInitialChainIdFromConfig({
615
- config: {
616
- initialAssets: {
617
- from: TOKENS.ETHEREUM.USDT,
618
- },
619
- disabledChains: {
620
- source: [CHAINS.ETHEREUM.chainId],
621
- },
622
- },
623
- chains: [CHAINS.ETHEREUM, CHAINS.POLYGON],
624
- direction: "from",
625
- })).toBe(undefined);
626
- expect(getInitialChainIdFromConfig({
627
- config: {
628
- initialAssets: {
629
- to: TOKENS.AVALANCHE.USDT,
630
- },
631
- disabledChains: {
632
- destination: [CHAINS.CELO.chainId, CHAINS.AVALANCHE.chainId],
633
- },
634
- },
635
- chains: [CHAINS.ETHEREUM, CHAINS.AVALANCHE],
636
- direction: "to",
637
- })).toBe(undefined);
638
- });
639
- });
640
- });
641
- //# sourceMappingURL=configService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configService.test.js","sourceRoot":"","sources":["../../src/tests/configService.test.ts"],"names":[],"mappings":"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"}