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