@0xsquid/react-hooks 6.7.0-beta.0 → 6.7.0-rollup-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/hooks/index.d.ts +5 -4
  2. package/dist/index.esm.js +16892 -0
  3. package/dist/index.esm.js.map +1 -0
  4. package/dist/index.js +17096 -6
  5. package/dist/index.js.map +1 -1
  6. package/dist/secretService-Cc7emxDy.js +162 -0
  7. package/dist/secretService-Cc7emxDy.js.map +1 -0
  8. package/dist/{services/external/secretService.js → secretService-SEqSyHG0.js} +37 -8
  9. package/dist/secretService-SEqSyHG0.js.map +1 -0
  10. package/package.json +18 -4
  11. package/dist/core/abis/ics20.json +0 -128
  12. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  13. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  14. package/dist/core/connectors/bitcoin/helpers.js +0 -86
  15. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  16. package/dist/core/connectors/bitcoin/index.js +0 -2
  17. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  18. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  19. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  20. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  21. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  22. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  23. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  24. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  25. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  26. package/dist/core/constants.js +0 -144
  27. package/dist/core/constants.js.map +0 -1
  28. package/dist/core/externalLinks.js +0 -21
  29. package/dist/core/externalLinks.js.map +0 -1
  30. package/dist/core/index.js +0 -4
  31. package/dist/core/index.js.map +0 -1
  32. package/dist/core/multicall3.js +0 -442
  33. package/dist/core/multicall3.js.map +0 -1
  34. package/dist/core/providers/CosmosProvider.js +0 -13
  35. package/dist/core/providers/CosmosProvider.js.map +0 -1
  36. package/dist/core/providers/SolanaProvider.js +0 -15
  37. package/dist/core/providers/SolanaProvider.js.map +0 -1
  38. package/dist/core/providers/SuiProvider.js +0 -15
  39. package/dist/core/providers/SuiProvider.js.map +0 -1
  40. package/dist/core/queries/queries-keys.js +0 -204
  41. package/dist/core/queries/queries-keys.js.map +0 -1
  42. package/dist/core/queries/react-query-config.js +0 -11
  43. package/dist/core/queries/react-query-config.js.map +0 -1
  44. package/dist/core/types/config.js +0 -2
  45. package/dist/core/types/config.js.map +0 -1
  46. package/dist/core/types/dex.js +0 -33
  47. package/dist/core/types/dex.js.map +0 -1
  48. package/dist/core/types/error.js +0 -12
  49. package/dist/core/types/error.js.map +0 -1
  50. package/dist/core/types/event.js +0 -2
  51. package/dist/core/types/event.js.map +0 -1
  52. package/dist/core/types/index.js +0 -2
  53. package/dist/core/types/index.js.map +0 -1
  54. package/dist/core/types/rpc.js +0 -2
  55. package/dist/core/types/rpc.js.map +0 -1
  56. package/dist/core/types/sui.js +0 -2
  57. package/dist/core/types/sui.js.map +0 -1
  58. package/dist/core/types/swap.js +0 -2
  59. package/dist/core/types/swap.js.map +0 -1
  60. package/dist/core/types/tokens.js +0 -2
  61. package/dist/core/types/tokens.js.map +0 -1
  62. package/dist/core/types/transaction.js +0 -41
  63. package/dist/core/types/transaction.js.map +0 -1
  64. package/dist/core/types/wallet.js +0 -26
  65. package/dist/core/types/wallet.js.map +0 -1
  66. package/dist/core/wagmiConfig.js +0 -60
  67. package/dist/core/wagmiConfig.js.map +0 -1
  68. package/dist/core/wallets.js +0 -549
  69. package/dist/core/wallets.js.map +0 -1
  70. package/dist/hooks/chains/useSquidChains.js +0 -107
  71. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  72. package/dist/hooks/client/useClient.js +0 -6
  73. package/dist/hooks/client/useClient.js.map +0 -1
  74. package/dist/hooks/cosmos/useCosmos.js +0 -172
  75. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  76. package/dist/hooks/cosmos/useCosmosForChain.js +0 -33
  77. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  78. package/dist/hooks/index.js +0 -44
  79. package/dist/hooks/index.js.map +0 -1
  80. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  81. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  82. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  83. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  84. package/dist/hooks/solana/useSolana.js +0 -104
  85. package/dist/hooks/solana/useSolana.js.map +0 -1
  86. package/dist/hooks/squid/useSquid.js +0 -55
  87. package/dist/hooks/squid/useSquid.js.map +0 -1
  88. package/dist/hooks/store/useAddressBookStore.js +0 -26
  89. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  90. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  91. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  92. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  93. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  94. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  95. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  96. package/dist/hooks/store/useHistoryStore.js +0 -41
  97. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  98. package/dist/hooks/store/useSquidStore.js +0 -56
  99. package/dist/hooks/store/useSquidStore.js.map +0 -1
  100. package/dist/hooks/store/useWalletStore.js +0 -42
  101. package/dist/hooks/store/useWalletStore.js.map +0 -1
  102. package/dist/hooks/sui/useSui.js +0 -28
  103. package/dist/hooks/sui/useSui.js.map +0 -1
  104. package/dist/hooks/sui/useSuiClient.js +0 -16
  105. package/dist/hooks/sui/useSuiClient.js.map +0 -1
  106. package/dist/hooks/sui/useSuiWallets.js +0 -42
  107. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  108. package/dist/hooks/swap/useDepositAddress.js +0 -63
  109. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  110. package/dist/hooks/swap/useSwap.js +0 -209
  111. package/dist/hooks/swap/useSwap.js.map +0 -1
  112. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -103
  113. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  114. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -119
  115. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  116. package/dist/hooks/tokens/useBalance.js +0 -136
  117. package/dist/hooks/tokens/useBalance.js.map +0 -1
  118. package/dist/hooks/tokens/useMultiChainBalance.js +0 -68
  119. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  120. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  121. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  122. package/dist/hooks/tokens/useNativeBalance.js +0 -217
  123. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  124. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -28
  125. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  126. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  127. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  128. package/dist/hooks/tokens/useSquidTokens.js +0 -80
  129. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  130. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  131. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  132. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -68
  133. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  134. package/dist/hooks/transaction/useApproval.js +0 -223
  135. package/dist/hooks/transaction/useApproval.js.map +0 -1
  136. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  137. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  138. package/dist/hooks/transaction/useEstimate.js +0 -118
  139. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  140. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  141. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  142. package/dist/hooks/transaction/useExecuteTransaction.js +0 -605
  143. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  144. package/dist/hooks/transaction/useGetRoute.js +0 -224
  145. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  146. package/dist/hooks/transaction/useIcs20Allowance.js +0 -40
  147. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  148. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  149. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  150. package/dist/hooks/transaction/useSingleTransaction.js +0 -91
  151. package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
  152. package/dist/hooks/user/useAvatar.js +0 -34
  153. package/dist/hooks/user/useAvatar.js.map +0 -1
  154. package/dist/hooks/user/useHistory.js +0 -106
  155. package/dist/hooks/user/useHistory.js.map +0 -1
  156. package/dist/hooks/user/useUserParams.js +0 -33
  157. package/dist/hooks/user/useUserParams.js.map +0 -1
  158. package/dist/hooks/wallet/useAddToken.js +0 -49
  159. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  160. package/dist/hooks/wallet/useAutoConnect.js +0 -74
  161. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  162. package/dist/hooks/wallet/useEns.js +0 -69
  163. package/dist/hooks/wallet/useEns.js.map +0 -1
  164. package/dist/hooks/wallet/useGnosisContext.js +0 -78
  165. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  166. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  167. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  168. package/dist/hooks/wallet/useMultiChainWallet.js +0 -175
  169. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  170. package/dist/hooks/wallet/useSigner.js +0 -76
  171. package/dist/hooks/wallet/useSigner.js.map +0 -1
  172. package/dist/hooks/wallet/useWallet.js +0 -206
  173. package/dist/hooks/wallet/useWallet.js.map +0 -1
  174. package/dist/hooks/wallet/useWallets.js +0 -36
  175. package/dist/hooks/wallet/useWallets.js.map +0 -1
  176. package/dist/provider/index.js +0 -113
  177. package/dist/provider/index.js.map +0 -1
  178. package/dist/services/external/ens.js +0 -66
  179. package/dist/services/external/ens.js.map +0 -1
  180. package/dist/services/external/rpcService.js +0 -421
  181. package/dist/services/external/rpcService.js.map +0 -1
  182. package/dist/services/external/secretService.js.map +0 -1
  183. package/dist/services/external/suiRpcClient.js +0 -80
  184. package/dist/services/external/suiRpcClient.js.map +0 -1
  185. package/dist/services/external/tokenDataService.js +0 -108
  186. package/dist/services/external/tokenDataService.js.map +0 -1
  187. package/dist/services/index.js +0 -16
  188. package/dist/services/index.js.map +0 -1
  189. package/dist/services/internal/apiService.js +0 -21
  190. package/dist/services/internal/apiService.js.map +0 -1
  191. package/dist/services/internal/assetsService.js +0 -586
  192. package/dist/services/internal/assetsService.js.map +0 -1
  193. package/dist/services/internal/bitcoinService.js +0 -51
  194. package/dist/services/internal/bitcoinService.js.map +0 -1
  195. package/dist/services/internal/configService.js +0 -215
  196. package/dist/services/internal/configService.js.map +0 -1
  197. package/dist/services/internal/cosmosService.js +0 -141
  198. package/dist/services/internal/cosmosService.js.map +0 -1
  199. package/dist/services/internal/errorService.js +0 -188
  200. package/dist/services/internal/errorService.js.map +0 -1
  201. package/dist/services/internal/estimateService.js +0 -221
  202. package/dist/services/internal/estimateService.js.map +0 -1
  203. package/dist/services/internal/eventService.js +0 -156
  204. package/dist/services/internal/eventService.js.map +0 -1
  205. package/dist/services/internal/evmService.js +0 -42
  206. package/dist/services/internal/evmService.js.map +0 -1
  207. package/dist/services/internal/numberService.js +0 -171
  208. package/dist/services/internal/numberService.js.map +0 -1
  209. package/dist/services/internal/priceService.js +0 -53
  210. package/dist/services/internal/priceService.js.map +0 -1
  211. package/dist/services/internal/searchService.js +0 -98
  212. package/dist/services/internal/searchService.js.map +0 -1
  213. package/dist/services/internal/solanaService.js +0 -109
  214. package/dist/services/internal/solanaService.js.map +0 -1
  215. package/dist/services/internal/suiService.js +0 -119
  216. package/dist/services/internal/suiService.js.map +0 -1
  217. package/dist/services/internal/transactionService.js +0 -207
  218. package/dist/services/internal/transactionService.js.map +0 -1
  219. package/dist/services/internal/transactionStatusService.js +0 -315
  220. package/dist/services/internal/transactionStatusService.js.map +0 -1
  221. package/dist/services/internal/walletService.js +0 -464
  222. package/dist/services/internal/walletService.js.map +0 -1
  223. package/dist/tests/apiService.test.js +0 -40
  224. package/dist/tests/apiService.test.js.map +0 -1
  225. package/dist/tests/assetsService.test.js +0 -500
  226. package/dist/tests/assetsService.test.js.map +0 -1
  227. package/dist/tests/configService.test.js +0 -673
  228. package/dist/tests/configService.test.js.map +0 -1
  229. package/dist/tests/estimateService.test.js +0 -355
  230. package/dist/tests/estimateService.test.js.map +0 -1
  231. package/dist/tests/fetchSquidData.js +0 -36
  232. package/dist/tests/fetchSquidData.js.map +0 -1
  233. package/dist/tests/jest-svg-transform.d.ts +0 -0
  234. package/dist/tests/jest-svg-transform.js +0 -21
  235. package/dist/tests/jest-svg-transform.js.map +0 -1
  236. package/dist/tests/numberService.test.js +0 -135
  237. package/dist/tests/numberService.test.js.map +0 -1
  238. package/dist/tests/priceService.test.js +0 -38
  239. package/dist/tests/priceService.test.js.map +0 -1
  240. package/dist/tests/sample.json +0 -0
  241. package/dist/tests/searchService.test.js +0 -92
  242. package/dist/tests/searchService.test.js.map +0 -1
  243. package/dist/tests/swapConfig.test.js +0 -332
  244. package/dist/tests/swapConfig.test.js.map +0 -1
  245. package/dist/tests/transactionService.test.js +0 -53
  246. package/dist/tests/transactionService.test.js.map +0 -1
  247. package/dist/tests/transactionStatusService.test.js +0 -165
  248. package/dist/tests/transactionStatusService.test.js.map +0 -1
  249. package/dist/tests/walletService.test.js +0 -264
  250. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,421 +0,0 @@
1
- import { ChainType, } from "@0xsquid/squid-types";
2
- import { StargateClient } from "@cosmjs/stargate";
3
- import { CHAIN_IDS, nativeEvmTokenAddress, nativeSolanaTokenAddress, SOLANA_RPC_URL, } from "../../core/constants";
4
- import { multicallAbi, multicallAddress } from "../../core/multicall3";
5
- import { ethers, Interface, JsonRpcProvider } from "ethers";
6
- import { erc20Abi } from "viem";
7
- import { normalizeIbcAddress } from "../internal/assetsService";
8
- import { isBitcoinAddressValid } from "../internal/bitcoinService";
9
- import { formatBNToReadable } from "../internal/numberService";
10
- import { SuiRpcClient } from "./suiRpcClient";
11
- const isTokenNative = (token) => token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
12
- const getTokenAddressForMultiCall = (t) => {
13
- return isTokenNative(t)
14
- ? multicallAddress
15
- : t.address;
16
- };
17
- const getTokenBalanceCall = (token, userAddress) => {
18
- const address = getTokenAddressForMultiCall(token);
19
- const abi = isTokenNative(token) ? multicallAbi : erc20Abi;
20
- const method = isTokenNative(token) ? "getEthBalance" : "balanceOf";
21
- const iface = new Interface(abi);
22
- const callData = iface.encodeFunctionData(method, [userAddress]);
23
- return [address, callData];
24
- };
25
- /**
26
- * Using Multicall3 contract, available on a lot of chains
27
- * @param multicall
28
- * @param calls
29
- * @param tokens
30
- * @returns
31
- */
32
- const executeMulticall = async (multicall, calls, tokens) => {
33
- try {
34
- const results = await multicall.tryAggregate.staticCall(false, calls);
35
- const tokenWithResult = tokens.map((token, index) => ({
36
- token,
37
- result: { success: results[index][0], returnData: results[index][1] },
38
- }));
39
- return tokenWithResult;
40
- }
41
- catch (error) {
42
- return tokens.map((token) => ({
43
- token,
44
- result: { success: false, returnData: "" },
45
- }));
46
- }
47
- };
48
- /**
49
- * Format balance using ethers, based on success of the call
50
- * If the call fails, we return 0 as balance
51
- * @param results
52
- * @returns
53
- */
54
- const formatBalanceForTokens = (results) => {
55
- return results.map((data) => {
56
- const token = data.token;
57
- const result = data.result;
58
- if (!result.success) {
59
- return { ...token, balance: "0" };
60
- }
61
- try {
62
- return {
63
- ...token,
64
- balance: formatBNToReadable(BigInt(result.returnData), token.decimals),
65
- };
66
- }
67
- catch {
68
- return {
69
- ...token,
70
- balance: "0",
71
- };
72
- }
73
- });
74
- };
75
- export const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
76
- // Create providers for each chain
77
- const providers = {};
78
- chains.forEach((chain) => {
79
- providers[chain.chainId] = new JsonRpcProvider(chain.rpc);
80
- });
81
- const fetchBalancesForChain = async (chain) => {
82
- const tokensForChain = tokens.filter((t) => t.chainId === chain.chainId);
83
- if (tokensForChain.length === 0)
84
- return [];
85
- const provider = providers[chain.chainId];
86
- if (!provider) {
87
- return [
88
- ...tokensForChain.map((t) => ({
89
- ...t,
90
- balance: "0",
91
- })),
92
- ];
93
- }
94
- const multicall = new ethers.Contract(multicallAddress, multicallAbi, provider);
95
- const calls = tokensForChain.map((token) => getTokenBalanceCall(token, userAddress));
96
- const multicallResults = await executeMulticall(multicall, calls, tokensForChain);
97
- return formatBalanceForTokens(multicallResults);
98
- };
99
- const allResults = await Promise.all(chains.map((chain) => fetchBalancesForChain(chain)));
100
- return allResults.flat();
101
- };
102
- export const getAllEvmTokensBalance = async (evmTokens, userAddress, chains) => {
103
- const tokensMulticall = await getTokensSupportingMultiCall(evmTokens, userAddress, chains);
104
- return tokensMulticall;
105
- };
106
- /**
107
- * We'll get the current block of a given RPC to see if we can query it
108
- * Without getting CORS error or any other error
109
- * @param rpc
110
- * @returns
111
- */
112
- const testCosmosRpc = async (rpc) => {
113
- let rpcIsValid = false;
114
- try {
115
- const client = await StargateClient.connect(rpc);
116
- const block = await client.getBlock();
117
- rpcIsValid = !!block.id;
118
- }
119
- catch (error) {
120
- rpcIsValid = false;
121
- }
122
- return rpcIsValid;
123
- };
124
- export const getWorkingCosmosRpcUrl = async (chainData) => {
125
- if (chainData.chainType !== ChainType.COSMOS)
126
- return chainData.rpc;
127
- const chain = chainData;
128
- const rpcList = chain.rpcList.length > 0 ? chain.rpcList : chain.rpc ? [chain.rpc] : [];
129
- // if rpcList is empty, use the default rpc
130
- if (rpcList.length === 0) {
131
- try {
132
- const isValid = await testCosmosRpc(chain.rpc);
133
- if (isValid) {
134
- return chain.rpc;
135
- }
136
- }
137
- catch (error) {
138
- console.error(`Error fetching rpc url: ${chain.rpc} - Error: ${error?.toString()}`);
139
- }
140
- }
141
- // if rpcList is not empty, try to fetch each rpc until we find a valid one
142
- for (const rpc of rpcList) {
143
- try {
144
- // eslint-disable-next-line no-await-in-loop
145
- const isValid = await timeout(5_000, testCosmosRpc(rpc));
146
- if (isValid) {
147
- return rpc;
148
- }
149
- }
150
- catch (error) {
151
- console.error(`Error fetching rpc url: ${chain.rpc} - Error: ${error?.toString()}`);
152
- }
153
- }
154
- // In the case that all rpcs are invalid, return the default rpc anyway
155
- return chain.rpc;
156
- };
157
- /**
158
- * Get the balance of a single token for a given address
159
- * @param chain - Cosmos chain
160
- * @param address - user address
161
- * @param tokenAddress - token address
162
- * @returns balance as formatted string
163
- */
164
- export const getCosmosTokenBalance = async (chain, address, tokenAddress) => {
165
- const validRpc = await getWorkingCosmosRpcUrl(chain);
166
- if (!validRpc)
167
- return "0";
168
- const client = await StargateClient.connect(validRpc);
169
- const balance = await client.getBalance(address, tokenAddress);
170
- return balance.amount;
171
- };
172
- /**
173
- * Fetches all Cosmos balances for a given address and RPC.
174
- *
175
- * @param {string} params.rpc - RPC URL to fetch balances from.
176
- * @param {string} params.address - user address to fetch balances for.
177
- * @param {Token[]} params.tokens - array of Cosmos tokens.
178
- * @returns {Promise<TokenWithBalance[]>} promise that resolves to an array of tokens with their balances.
179
- */
180
- export const getAllCosmosBalancesForChain = async ({ rpc, address, tokens, }) => {
181
- const client = await StargateClient.connect(rpc);
182
- const balanceAsCoin = await client.getAllBalances(address);
183
- // Need to map tokens and put balance, based on denom
184
- const tokensWithBalance = tokens.map((t) => {
185
- const balanceCoin = balanceAsCoin?.find((c) => c.denom === normalizeIbcAddress(t.address));
186
- return {
187
- ...t,
188
- balance: balanceCoin
189
- ? formatBNToReadable(BigInt(balanceCoin?.amount), t?.decimals)
190
- : "0",
191
- };
192
- });
193
- return tokensWithBalance;
194
- };
195
- /**
196
- * Fetches all Cosmos balances for a given address and RPC.
197
- *
198
- * @param {object} params.addresses user addresses per cosmos network
199
- * @param {Token[]} params.cosmosTokens
200
- * @param {CosmosChain[]} params.cosmosChains
201
- * @returns {Promise<TokenWithBalance[]>} All tokens with their balances.
202
- */
203
- export const getAllCosmosBalances = async ({ addresses, cosmosTokens, cosmosChains, }) => {
204
- const tokensWithBalance = [];
205
- await Promise.all(cosmosChains.map(async (cosmosChain) => {
206
- const userAddress = addresses.find((a) => a.chainId === cosmosChain.chainId)?.address;
207
- const tokensForChain = cosmosTokens.filter((t) => t.chainId === cosmosChain.chainId);
208
- if (!userAddress) {
209
- tokensWithBalance.push(...tokensForChain.map((t) => ({ ...t, balance: "0" })));
210
- return;
211
- }
212
- try {
213
- // These are networks that were not working with the default rpc.cosmos.directory
214
- const specialNetworks = [
215
- CHAIN_IDS.INJECTIVE,
216
- CHAIN_IDS.OSMOSIS,
217
- CHAIN_IDS.C4E,
218
- CHAIN_IDS.KAVA_IBC,
219
- CHAIN_IDS.TERRA,
220
- CHAIN_IDS.SEI,
221
- CHAIN_IDS.FETCH,
222
- CHAIN_IDS.SECRET,
223
- CHAIN_IDS.KI,
224
- CHAIN_IDS.UMEE,
225
- CHAIN_IDS.PERSISTENCE,
226
- CHAIN_IDS.MIGALOO,
227
- ];
228
- let rpc;
229
- if (specialNetworks.includes(cosmosChain.chainId)) {
230
- // try to get a working rpc url
231
- const validRpc = await timeout(3_000, getWorkingCosmosRpcUrl(cosmosChain));
232
- // fallback to the default chain rpc
233
- rpc = validRpc ?? cosmosChain.rpc;
234
- }
235
- else {
236
- switch (cosmosChain.networkIdentifier) {
237
- case "axelarnet":
238
- rpc = `https://rpc.cosmos.directory/axelar`;
239
- break;
240
- case "sentinel":
241
- rpc = `https://rpc.sentinel.chaintools.tech`;
242
- break;
243
- default:
244
- rpc = `https://rpc.cosmos.directory/${cosmosChain.networkIdentifier}`;
245
- break;
246
- }
247
- }
248
- const balances = await timeout(6_000, getAllCosmosBalancesForChain({
249
- rpc,
250
- address: userAddress,
251
- tokens: tokensForChain,
252
- }));
253
- if (balances) {
254
- tokensWithBalance.push(...balances);
255
- }
256
- else {
257
- tokensWithBalance.push(...tokensForChain.map((t) => ({ ...t, balance: "0" })));
258
- }
259
- }
260
- catch (error) {
261
- console.warn(`Failed to fetch balances for chain ${cosmosChain.chainId}:`, error);
262
- tokensWithBalance.push(...tokensForChain.map((t) => ({ ...t, balance: "0" })));
263
- }
264
- }));
265
- return tokensWithBalance;
266
- };
267
- export const getSolanaNativeBalance = async (userAddress) => {
268
- const response = await fetch(SOLANA_RPC_URL, {
269
- method: "POST",
270
- headers: { "Content-Type": "application/json" },
271
- body: JSON.stringify({
272
- jsonrpc: "2.0",
273
- id: 1,
274
- method: "getBalance",
275
- params: [userAddress],
276
- }),
277
- });
278
- const data = await response.json();
279
- return BigInt(data.result?.value || 0);
280
- };
281
- export const getSolanaTokenBalance = async (userAddress, tokenAddress) => {
282
- if (tokenAddress.toLowerCase() === nativeSolanaTokenAddress.toLowerCase()) {
283
- return getSolanaNativeBalance(userAddress);
284
- }
285
- const response = await fetch(SOLANA_RPC_URL, {
286
- method: "POST",
287
- headers: { "Content-Type": "application/json" },
288
- body: JSON.stringify({
289
- jsonrpc: "2.0",
290
- id: 1,
291
- method: "getTokenAccountsByOwner",
292
- params: [
293
- userAddress,
294
- { programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" },
295
- { encoding: "jsonParsed" },
296
- ],
297
- }),
298
- });
299
- const data = await response.json();
300
- const tokenAccount = data.result?.value?.find((acc) => acc.account.data.parsed.info.mint.toLowerCase() ===
301
- tokenAddress.toLowerCase());
302
- return BigInt(tokenAccount?.account.data.parsed.info.tokenAmount.amount || 0);
303
- };
304
- export const getSolanaTokensBalance = async (userAddress, tokenAddresses) => {
305
- const response = await fetch(SOLANA_RPC_URL, {
306
- method: "POST",
307
- headers: { "Content-Type": "application/json" },
308
- body: JSON.stringify({
309
- jsonrpc: "2.0",
310
- id: 1,
311
- method: "getTokenAccountsByOwner",
312
- params: [
313
- userAddress,
314
- { programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" },
315
- { encoding: "jsonParsed" },
316
- ],
317
- }),
318
- });
319
- const data = await response.json();
320
- return tokenAddresses.reduce((acc, address) => {
321
- const tokenAccount = data.result?.value?.find((accountInfo) => accountInfo.account.data.parsed.info.mint.toLowerCase() ===
322
- address.toLowerCase());
323
- acc[address] = BigInt(tokenAccount?.account.data.parsed.info.tokenAmount.amount || 0);
324
- return acc;
325
- }, {});
326
- };
327
- export const getAllSolanaTokensBalance = async (solanaTokens, userAddress) => {
328
- try {
329
- const nativeToken = solanaTokens.find((t) => t.address === nativeEvmTokenAddress);
330
- const otherTokens = solanaTokens.filter((t) => t.address !== nativeEvmTokenAddress);
331
- const [nativeBalance, tokenBalances] = await Promise.all([
332
- nativeToken
333
- ? getSolanaNativeBalance(userAddress)
334
- : Promise.resolve(BigInt(0)),
335
- getSolanaTokensBalance(userAddress, otherTokens.map((t) => t.address)),
336
- ]);
337
- return solanaTokens.map((token) => ({
338
- ...token,
339
- balance: token.address === nativeEvmTokenAddress
340
- ? formatBNToReadable(nativeBalance, token.decimals)
341
- : formatBNToReadable(tokenBalances[token.address], token.decimals),
342
- }));
343
- }
344
- catch (error) {
345
- console.warn("Failed to fetch Solana balances:", error);
346
- return solanaTokens.map((t) => ({ ...t, balance: "0" }));
347
- }
348
- };
349
- export async function getBitcoinNativeBalance(address) {
350
- try {
351
- const isValidBitcoinAddress = isBitcoinAddressValid(address);
352
- if (!isValidBitcoinAddress) {
353
- throw new Error(`Invalid Bitcoin address: ${address}`);
354
- }
355
- const apiUrl = `https://blockchain.info/q/addressbalance/${address}?confirmations=6`;
356
- const response = await fetch(apiUrl);
357
- const balanceInSatoshis = await response.json();
358
- const isValidResponse = typeof balanceInSatoshis === "string" ||
359
- typeof balanceInSatoshis === "number";
360
- if (!isValidResponse) {
361
- throw new Error("Invalid balance response");
362
- }
363
- return String(balanceInSatoshis || "0");
364
- }
365
- catch (error) {
366
- console.error("Failed to fetch Bitcoin balance:", error);
367
- return "0";
368
- }
369
- }
370
- // TODO: implement fetching balances for all bitcoin tokens
371
- export const getAllBitcoinTokensBalance = async (userAddress, bitcoinTokens) => {
372
- const nativeBalance = await getBitcoinNativeBalance(userAddress);
373
- return Promise.all(bitcoinTokens.map(async (token) => {
374
- return {
375
- ...token,
376
- balance: formatBNToReadable(nativeBalance, token.decimals),
377
- };
378
- }));
379
- };
380
- /**
381
- * Returns the balance of a single Sui coin for a given address
382
- */
383
- export const getSuiTokenBalance = async (userAddress, tokenAddress, rpcUrl) => {
384
- const suiClient = new SuiRpcClient(rpcUrl);
385
- const { totalBalance } = await suiClient.getBalance(userAddress, tokenAddress);
386
- return BigInt(totalBalance || 0);
387
- };
388
- export const getAllSuiTokensBalance = async (userAddress, suiTokens, suiChains) => {
389
- const getBalancesForChain = async (chain) => {
390
- const tokensForChain = suiTokens.filter((t) => t.chainId === chain.chainId);
391
- const suiClient = new SuiRpcClient(chain.rpc);
392
- const foundBalances = await suiClient.getAllBalances(userAddress);
393
- const balanceMap = foundBalances.reduce((acc, balance) => {
394
- acc[balance.coinType] = balance.totalBalance;
395
- return acc;
396
- }, {});
397
- return tokensForChain.map((token) => {
398
- const balanceBn = BigInt(balanceMap[token.address] || 0);
399
- return {
400
- ...token,
401
- balance: formatBNToReadable(balanceBn, token.decimals),
402
- };
403
- });
404
- };
405
- const allResults = await Promise.all(suiChains.map(getBalancesForChain));
406
- return allResults.flat();
407
- };
408
- /**
409
- * Returns a promise that resolves when the given promise resolves or after the given timeout
410
- * @param ms - timeout in milliseconds
411
- * @param promise - the promise to wait for
412
- */
413
- export function timeout(ms, promise) {
414
- const timeoutPromise = new Promise((resolve) => {
415
- setTimeout(() => {
416
- resolve(null);
417
- }, ms);
418
- });
419
- return Promise.race([promise, timeoutPromise]);
420
- }
421
- //# sourceMappingURL=rpcService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rpcService.js","sourceRoot":"","sources":["../../../src/services/external/rpcService.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"secretService.js","sourceRoot":"","sources":["../../../src/services/external/secretService.ts"],"names":[],"mappings":"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"}
@@ -1,80 +0,0 @@
1
- export class SuiRpcClient {
2
- /**
3
- * Native Sui coin object type in long format.
4
- * This is the format used by the Squid UI and API
5
- */
6
- suiNativeCoinObjectTypeLong = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
7
- /**
8
- * Native Sui coin object type in short format.
9
- * This is the format used by RPC providers
10
- */
11
- suiNativeCoinObjectTypeShort = "0x2::sui::SUI";
12
- rpcUrl;
13
- constructor(rpcUrl) {
14
- this.rpcUrl = rpcUrl;
15
- }
16
- /**
17
- * Fetches the balance of a single Sui token for a given address.
18
- */
19
- async getBalance(userAddress, tokenAddress) {
20
- const response = await this.call("suix_getBalance", [
21
- userAddress,
22
- this.toShortCoinObjectType(tokenAddress),
23
- ]);
24
- return {
25
- ...response,
26
- coinType: this.toLongCoinObjectType(response.coinType),
27
- };
28
- }
29
- /**
30
- * Fetches all Sui coin balances for a given address.
31
- */
32
- async getAllBalances(userAddress) {
33
- const response = await this.call("suix_getAllBalances", [
34
- userAddress,
35
- ]);
36
- return response.map((balance) => ({
37
- ...balance,
38
- coinType: this.toLongCoinObjectType(balance.coinType),
39
- }));
40
- }
41
- async call(method, params) {
42
- const response = await fetch(this.rpcUrl, {
43
- method: "POST",
44
- headers: {
45
- "Content-Type": "application/json",
46
- },
47
- body: JSON.stringify({
48
- jsonrpc: "2.0",
49
- id: 1,
50
- method,
51
- params,
52
- }),
53
- });
54
- const data = await response.json();
55
- if (data.error) {
56
- throw new Error(`RPC Error (${method}): ${data.error.message}`);
57
- }
58
- if (!data.result) {
59
- throw new Error(`Invalid response from RPC (${method})`);
60
- }
61
- return data.result;
62
- }
63
- /**
64
- * Parse native coin object type from the long format to the short format.
65
- */
66
- toShortCoinObjectType(coinObjectType) {
67
- return coinObjectType === this.suiNativeCoinObjectTypeLong
68
- ? this.suiNativeCoinObjectTypeShort
69
- : coinObjectType;
70
- }
71
- /**
72
- * Parse native coin object type from the short format to the long format.
73
- */
74
- toLongCoinObjectType(coinObjectType) {
75
- return coinObjectType === this.suiNativeCoinObjectTypeShort
76
- ? this.suiNativeCoinObjectTypeLong
77
- : coinObjectType;
78
- }
79
- }
80
- //# sourceMappingURL=suiRpcClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suiRpcClient.js","sourceRoot":"","sources":["../../../src/services/external/suiRpcClient.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACvB;;;OAGG;IACK,2BAA2B,GACjC,8EAA8E,CAAC;IAEjF;;;OAGG;IACK,4BAA4B,GAAG,eAAe,CAAC;IAE/C,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,YAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAiB,iBAAiB,EAAE;YAClE,WAAW;YACX,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,QAAQ;YACX,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAmB,qBAAqB,EAAE;YACxE,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,OAAO;YACV,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC;SACtD,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,IAAI,CAAI,MAAc,EAAE,MAAa;QACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YACxC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,CAAC;gBACL,MAAM;gBACN,MAAM;aACP,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAuB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEvD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,cAAc,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC;SAC1D;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,cAAsB;QAClD,OAAO,cAAc,KAAK,IAAI,CAAC,2BAA2B;YACxD,CAAC,CAAC,IAAI,CAAC,4BAA4B;YACnC,CAAC,CAAC,cAAc,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,cAAsB;QACjD,OAAO,cAAc,KAAK,IAAI,CAAC,4BAA4B;YACzD,CAAC,CAAC,IAAI,CAAC,2BAA2B;YAClC,CAAC,CAAC,cAAc,CAAC;IACrB,CAAC;CACF"}
@@ -1,108 +0,0 @@
1
- import { TOKEN_PRICE_API_URL } from "../../core/constants";
2
- import { formatUsdAmount } from "../internal/numberService";
3
- const MAX_COINGECKO_QUERY_TOKENS = 100;
4
- export const fetchHistoricalData = async (coingeckoId, timeFrame) => {
5
- const now = Math.floor(Date.now() / 1000);
6
- let from;
7
- switch (timeFrame) {
8
- case "1H":
9
- from = now - 3600;
10
- break;
11
- case "1D":
12
- from = now - 86400;
13
- break;
14
- case "1W":
15
- from = now - 604800;
16
- break;
17
- case "1Y":
18
- from = now - 31536000;
19
- break;
20
- }
21
- try {
22
- const response = await fetch(`${TOKEN_PRICE_API_URL}?action=getHistoricalData&id=${coingeckoId}&vs_currency=usd&from=${from}&to=${now}`);
23
- if (!response.ok) {
24
- throw new Error("Network response was not ok");
25
- }
26
- return await response.json();
27
- }
28
- catch (error) {
29
- console.error("Error fetching historical data:", error);
30
- return null;
31
- }
32
- };
33
- export const fetchTokensData = async (tokens) => {
34
- try {
35
- const coingeckoIds = Array.from(new Set(tokens.map((token) => token.coingeckoId).filter(Boolean)));
36
- if (!coingeckoIds.length) {
37
- throw new Error("No valid CoinGecko IDs provided");
38
- }
39
- if (coingeckoIds.length > MAX_COINGECKO_QUERY_TOKENS) {
40
- throw new Error(`Too many tokens requested. Maximum allowed is ${MAX_COINGECKO_QUERY_TOKENS}.`);
41
- }
42
- const response = await fetch(`${TOKEN_PRICE_API_URL}?action=getCoinData&ids=${coingeckoIds.join(",")}`);
43
- if (!response.ok) {
44
- throw new Error("Network response was not ok");
45
- }
46
- const data = await response.json();
47
- if (!data || data.length === 0) {
48
- throw new Error("No data returned from API");
49
- }
50
- const tokenDataMap = new Map(data.map((coinData) => [
51
- coinData.id,
52
- {
53
- price: coinData.current_price,
54
- priceChange: coinData.price_change_percentage_24h,
55
- volume24h: {
56
- formatted: formatUsdAmount(coinData.total_volume, {
57
- includeSign: false,
58
- }),
59
- value: coinData.total_volume,
60
- },
61
- marketCap: {
62
- formatted: formatUsdAmount(coinData.market_cap, {
63
- includeSign: false,
64
- }),
65
- value: coinData.market_cap,
66
- },
67
- totalSupply: {
68
- formatted: formatUsdAmount(coinData.total_supply, {
69
- includeSign: false,
70
- }),
71
- value: coinData.total_supply,
72
- },
73
- symbol: coinData.symbol,
74
- name: coinData.name,
75
- image: coinData.image,
76
- marketCapRank: coinData.market_cap_rank,
77
- fullyDilutedValuation: coinData.fully_diluted_valuation,
78
- high24h: coinData.high_24h,
79
- low24h: coinData.low_24h,
80
- priceChange24h: coinData.price_change_24h,
81
- marketCapChange24h: coinData.market_cap_change_24h,
82
- marketCapChangePercentage24h: coinData.market_cap_change_percentage_24h,
83
- circulatingSupply: coinData.circulating_supply,
84
- maxSupply: coinData.max_supply,
85
- ath: coinData.ath,
86
- athChangePercentage: coinData.ath_change_percentage,
87
- athDate: coinData.ath_date,
88
- atl: coinData.atl,
89
- atlChangePercentage: coinData.atl_change_percentage,
90
- atlDate: coinData.atl_date,
91
- roi: coinData.roi,
92
- lastUpdated: coinData.last_updated,
93
- priceChangePercentage24hInCurrency: coinData.price_change_percentage_24h_in_currency,
94
- },
95
- ]));
96
- return tokens.map((token) => ({
97
- ...token,
98
- tokenData: token.coingeckoId
99
- ? tokenDataMap.get(token.coingeckoId) || null
100
- : null,
101
- }));
102
- }
103
- catch (error) {
104
- console.error("Error fetching tokens data:", error);
105
- return tokens.map((token) => ({ ...token, tokenData: null }));
106
- }
107
- };
108
- //# sourceMappingURL=tokenDataService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenDataService.js","sourceRoot":"","sources":["../../../src/services/external/tokenDataService.ts"],"names":[],"mappings":"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"}