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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/core/constants.d.ts +9 -0
  2. package/dist/hooks/index.d.ts +5 -4
  3. package/dist/index.esm.js +16892 -0
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/index.js +17096 -6
  6. package/dist/index.js.map +1 -1
  7. package/dist/secretService-Cc7emxDy.js +162 -0
  8. package/dist/secretService-Cc7emxDy.js.map +1 -0
  9. package/dist/{services/external/secretService.js → secretService-SEqSyHG0.js} +37 -8
  10. package/dist/secretService-SEqSyHG0.js.map +1 -0
  11. package/dist/services/external/rpcService.d.ts +2 -2
  12. package/dist/services/internal/cosmosService.d.ts +1 -2
  13. package/package.json +18 -4
  14. package/dist/core/abis/ics20.json +0 -128
  15. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  16. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  17. package/dist/core/connectors/bitcoin/helpers.js +0 -86
  18. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  19. package/dist/core/connectors/bitcoin/index.js +0 -2
  20. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  21. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  22. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  23. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  24. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  25. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  26. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  27. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  28. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  29. package/dist/core/constants.js +0 -135
  30. package/dist/core/constants.js.map +0 -1
  31. package/dist/core/externalLinks.js +0 -21
  32. package/dist/core/externalLinks.js.map +0 -1
  33. package/dist/core/index.js +0 -4
  34. package/dist/core/index.js.map +0 -1
  35. package/dist/core/multicall3.js +0 -442
  36. package/dist/core/multicall3.js.map +0 -1
  37. package/dist/core/providers/CosmosProvider.js +0 -13
  38. package/dist/core/providers/CosmosProvider.js.map +0 -1
  39. package/dist/core/providers/SolanaProvider.js +0 -15
  40. package/dist/core/providers/SolanaProvider.js.map +0 -1
  41. package/dist/core/providers/SuiProvider.js +0 -15
  42. package/dist/core/providers/SuiProvider.js.map +0 -1
  43. package/dist/core/queries/queries-keys.js +0 -204
  44. package/dist/core/queries/queries-keys.js.map +0 -1
  45. package/dist/core/queries/react-query-config.js +0 -11
  46. package/dist/core/queries/react-query-config.js.map +0 -1
  47. package/dist/core/types/config.js +0 -2
  48. package/dist/core/types/config.js.map +0 -1
  49. package/dist/core/types/dex.js +0 -33
  50. package/dist/core/types/dex.js.map +0 -1
  51. package/dist/core/types/error.js +0 -12
  52. package/dist/core/types/error.js.map +0 -1
  53. package/dist/core/types/event.js +0 -2
  54. package/dist/core/types/event.js.map +0 -1
  55. package/dist/core/types/index.js +0 -2
  56. package/dist/core/types/index.js.map +0 -1
  57. package/dist/core/types/rpc.js +0 -2
  58. package/dist/core/types/rpc.js.map +0 -1
  59. package/dist/core/types/sui.js +0 -2
  60. package/dist/core/types/sui.js.map +0 -1
  61. package/dist/core/types/swap.js +0 -2
  62. package/dist/core/types/swap.js.map +0 -1
  63. package/dist/core/types/tokens.js +0 -2
  64. package/dist/core/types/tokens.js.map +0 -1
  65. package/dist/core/types/transaction.js +0 -41
  66. package/dist/core/types/transaction.js.map +0 -1
  67. package/dist/core/types/wallet.js +0 -26
  68. package/dist/core/types/wallet.js.map +0 -1
  69. package/dist/core/wagmiConfig.js +0 -60
  70. package/dist/core/wagmiConfig.js.map +0 -1
  71. package/dist/core/wallets.js +0 -549
  72. package/dist/core/wallets.js.map +0 -1
  73. package/dist/hooks/chains/useSquidChains.js +0 -107
  74. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  75. package/dist/hooks/client/useClient.js +0 -6
  76. package/dist/hooks/client/useClient.js.map +0 -1
  77. package/dist/hooks/cosmos/useCosmos.js +0 -172
  78. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  79. package/dist/hooks/cosmos/useCosmosForChain.js +0 -33
  80. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  81. package/dist/hooks/index.js +0 -44
  82. package/dist/hooks/index.js.map +0 -1
  83. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  84. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  85. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  86. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  87. package/dist/hooks/solana/useSolana.js +0 -104
  88. package/dist/hooks/solana/useSolana.js.map +0 -1
  89. package/dist/hooks/squid/useSquid.js +0 -55
  90. package/dist/hooks/squid/useSquid.js.map +0 -1
  91. package/dist/hooks/store/useAddressBookStore.js +0 -26
  92. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  93. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  94. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  95. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  96. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  97. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  98. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  99. package/dist/hooks/store/useHistoryStore.js +0 -41
  100. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  101. package/dist/hooks/store/useSquidStore.js +0 -56
  102. package/dist/hooks/store/useSquidStore.js.map +0 -1
  103. package/dist/hooks/store/useWalletStore.js +0 -42
  104. package/dist/hooks/store/useWalletStore.js.map +0 -1
  105. package/dist/hooks/sui/useSui.js +0 -28
  106. package/dist/hooks/sui/useSui.js.map +0 -1
  107. package/dist/hooks/sui/useSuiClient.js +0 -16
  108. package/dist/hooks/sui/useSuiClient.js.map +0 -1
  109. package/dist/hooks/sui/useSuiWallets.js +0 -42
  110. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  111. package/dist/hooks/swap/useDepositAddress.js +0 -63
  112. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  113. package/dist/hooks/swap/useSwap.js +0 -209
  114. package/dist/hooks/swap/useSwap.js.map +0 -1
  115. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -103
  116. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  117. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -119
  118. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  119. package/dist/hooks/tokens/useBalance.js +0 -136
  120. package/dist/hooks/tokens/useBalance.js.map +0 -1
  121. package/dist/hooks/tokens/useMultiChainBalance.js +0 -68
  122. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  123. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  124. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  125. package/dist/hooks/tokens/useNativeBalance.js +0 -217
  126. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  127. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -28
  128. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  129. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  130. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  131. package/dist/hooks/tokens/useSquidTokens.js +0 -80
  132. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  133. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  134. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  135. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -68
  136. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  137. package/dist/hooks/transaction/useApproval.js +0 -223
  138. package/dist/hooks/transaction/useApproval.js.map +0 -1
  139. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  140. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  141. package/dist/hooks/transaction/useEstimate.js +0 -118
  142. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  143. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  144. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  145. package/dist/hooks/transaction/useExecuteTransaction.js +0 -605
  146. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  147. package/dist/hooks/transaction/useGetRoute.js +0 -224
  148. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  149. package/dist/hooks/transaction/useIcs20Allowance.js +0 -40
  150. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  151. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  152. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  153. package/dist/hooks/transaction/useSingleTransaction.js +0 -91
  154. package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
  155. package/dist/hooks/user/useAvatar.js +0 -34
  156. package/dist/hooks/user/useAvatar.js.map +0 -1
  157. package/dist/hooks/user/useHistory.js +0 -106
  158. package/dist/hooks/user/useHistory.js.map +0 -1
  159. package/dist/hooks/user/useUserParams.js +0 -33
  160. package/dist/hooks/user/useUserParams.js.map +0 -1
  161. package/dist/hooks/wallet/useAddToken.js +0 -49
  162. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  163. package/dist/hooks/wallet/useAutoConnect.js +0 -74
  164. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  165. package/dist/hooks/wallet/useEns.js +0 -69
  166. package/dist/hooks/wallet/useEns.js.map +0 -1
  167. package/dist/hooks/wallet/useGnosisContext.js +0 -78
  168. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  169. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  170. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  171. package/dist/hooks/wallet/useMultiChainWallet.js +0 -175
  172. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  173. package/dist/hooks/wallet/useSigner.js +0 -76
  174. package/dist/hooks/wallet/useSigner.js.map +0 -1
  175. package/dist/hooks/wallet/useWallet.js +0 -206
  176. package/dist/hooks/wallet/useWallet.js.map +0 -1
  177. package/dist/hooks/wallet/useWallets.js +0 -36
  178. package/dist/hooks/wallet/useWallets.js.map +0 -1
  179. package/dist/provider/index.js +0 -113
  180. package/dist/provider/index.js.map +0 -1
  181. package/dist/services/external/cosmosRestClient.d.ts +0 -18
  182. package/dist/services/external/cosmosRestClient.js +0 -41
  183. package/dist/services/external/cosmosRestClient.js.map +0 -1
  184. package/dist/services/external/ens.js +0 -66
  185. package/dist/services/external/ens.js.map +0 -1
  186. package/dist/services/external/rpcService.js +0 -390
  187. package/dist/services/external/rpcService.js.map +0 -1
  188. package/dist/services/external/secretService.js.map +0 -1
  189. package/dist/services/external/suiRpcClient.js +0 -80
  190. package/dist/services/external/suiRpcClient.js.map +0 -1
  191. package/dist/services/external/tokenDataService.js +0 -108
  192. package/dist/services/external/tokenDataService.js.map +0 -1
  193. package/dist/services/index.js +0 -16
  194. package/dist/services/index.js.map +0 -1
  195. package/dist/services/internal/apiService.js +0 -21
  196. package/dist/services/internal/apiService.js.map +0 -1
  197. package/dist/services/internal/assetsService.js +0 -586
  198. package/dist/services/internal/assetsService.js.map +0 -1
  199. package/dist/services/internal/bitcoinService.js +0 -51
  200. package/dist/services/internal/bitcoinService.js.map +0 -1
  201. package/dist/services/internal/configService.js +0 -215
  202. package/dist/services/internal/configService.js.map +0 -1
  203. package/dist/services/internal/cosmosService.js +0 -214
  204. package/dist/services/internal/cosmosService.js.map +0 -1
  205. package/dist/services/internal/errorService.js +0 -188
  206. package/dist/services/internal/errorService.js.map +0 -1
  207. package/dist/services/internal/estimateService.js +0 -221
  208. package/dist/services/internal/estimateService.js.map +0 -1
  209. package/dist/services/internal/eventService.js +0 -156
  210. package/dist/services/internal/eventService.js.map +0 -1
  211. package/dist/services/internal/evmService.js +0 -42
  212. package/dist/services/internal/evmService.js.map +0 -1
  213. package/dist/services/internal/numberService.js +0 -171
  214. package/dist/services/internal/numberService.js.map +0 -1
  215. package/dist/services/internal/priceService.js +0 -53
  216. package/dist/services/internal/priceService.js.map +0 -1
  217. package/dist/services/internal/searchService.js +0 -98
  218. package/dist/services/internal/searchService.js.map +0 -1
  219. package/dist/services/internal/solanaService.js +0 -109
  220. package/dist/services/internal/solanaService.js.map +0 -1
  221. package/dist/services/internal/suiService.js +0 -119
  222. package/dist/services/internal/suiService.js.map +0 -1
  223. package/dist/services/internal/transactionService.js +0 -207
  224. package/dist/services/internal/transactionService.js.map +0 -1
  225. package/dist/services/internal/transactionStatusService.js +0 -315
  226. package/dist/services/internal/transactionStatusService.js.map +0 -1
  227. package/dist/services/internal/walletService.js +0 -464
  228. package/dist/services/internal/walletService.js.map +0 -1
  229. package/dist/tests/apiService.test.js +0 -40
  230. package/dist/tests/apiService.test.js.map +0 -1
  231. package/dist/tests/assetsService.test.js +0 -500
  232. package/dist/tests/assetsService.test.js.map +0 -1
  233. package/dist/tests/configService.test.js +0 -673
  234. package/dist/tests/configService.test.js.map +0 -1
  235. package/dist/tests/estimateService.test.js +0 -355
  236. package/dist/tests/estimateService.test.js.map +0 -1
  237. package/dist/tests/fetchSquidData.js +0 -36
  238. package/dist/tests/fetchSquidData.js.map +0 -1
  239. package/dist/tests/jest-svg-transform.d.ts +0 -0
  240. package/dist/tests/jest-svg-transform.js +0 -21
  241. package/dist/tests/jest-svg-transform.js.map +0 -1
  242. package/dist/tests/numberService.test.js +0 -135
  243. package/dist/tests/numberService.test.js.map +0 -1
  244. package/dist/tests/priceService.test.js +0 -38
  245. package/dist/tests/priceService.test.js.map +0 -1
  246. package/dist/tests/sample.json +0 -0
  247. package/dist/tests/searchService.test.js +0 -92
  248. package/dist/tests/searchService.test.js.map +0 -1
  249. package/dist/tests/swapConfig.test.js +0 -332
  250. package/dist/tests/swapConfig.test.js.map +0 -1
  251. package/dist/tests/transactionService.test.js +0 -53
  252. package/dist/tests/transactionService.test.js.map +0 -1
  253. package/dist/tests/transactionStatusService.test.js +0 -165
  254. package/dist/tests/transactionStatusService.test.js.map +0 -1
  255. package/dist/tests/walletService.test.js +0 -264
  256. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,390 +0,0 @@
1
- import { ChainType, } from "@0xsquid/squid-types";
2
- import { StargateClient } from "@cosmjs/stargate";
3
- import { 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 { getCosmosRestEndpoint } from "../internal/cosmosService";
10
- import { formatBNToReadable } from "../internal/numberService";
11
- import { CosmosRestClient } from "./cosmosRestClient";
12
- import { SuiRpcClient } from "./suiRpcClient";
13
- const isTokenNative = (token) => token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
14
- const getTokenAddressForMultiCall = (t) => {
15
- return isTokenNative(t)
16
- ? multicallAddress
17
- : t.address;
18
- };
19
- const getTokenBalanceCall = (token, userAddress) => {
20
- const address = getTokenAddressForMultiCall(token);
21
- const abi = isTokenNative(token) ? multicallAbi : erc20Abi;
22
- const method = isTokenNative(token) ? "getEthBalance" : "balanceOf";
23
- const iface = new Interface(abi);
24
- const callData = iface.encodeFunctionData(method, [userAddress]);
25
- return [address, callData];
26
- };
27
- /**
28
- * Using Multicall3 contract, available on a lot of chains
29
- * @param multicall
30
- * @param calls
31
- * @param tokens
32
- * @returns
33
- */
34
- const executeMulticall = async (multicall, calls, tokens) => {
35
- try {
36
- const results = await multicall.tryAggregate.staticCall(false, calls);
37
- const tokenWithResult = tokens.map((token, index) => ({
38
- token,
39
- result: { success: results[index][0], returnData: results[index][1] },
40
- }));
41
- return tokenWithResult;
42
- }
43
- catch (error) {
44
- return tokens.map((token) => ({
45
- token,
46
- result: { success: false, returnData: "" },
47
- }));
48
- }
49
- };
50
- /**
51
- * Format balance using ethers, based on success of the call
52
- * If the call fails, we return 0 as balance
53
- * @param results
54
- * @returns
55
- */
56
- const formatBalanceForTokens = (results) => {
57
- return results.map((data) => {
58
- const token = data.token;
59
- const result = data.result;
60
- if (!result.success) {
61
- return { ...token, balance: "0" };
62
- }
63
- try {
64
- return {
65
- ...token,
66
- balance: formatBNToReadable(BigInt(result.returnData), token.decimals),
67
- };
68
- }
69
- catch {
70
- return {
71
- ...token,
72
- balance: "0",
73
- };
74
- }
75
- });
76
- };
77
- export const getTokensSupportingMultiCall = async (tokens, userAddress, chains) => {
78
- // Create providers for each chain
79
- const providers = {};
80
- chains.forEach((chain) => {
81
- providers[chain.chainId] = new JsonRpcProvider(chain.rpc);
82
- });
83
- const fetchBalancesForChain = async (chain) => {
84
- const tokensForChain = tokens.filter((t) => t.chainId === chain.chainId);
85
- if (tokensForChain.length === 0)
86
- return [];
87
- const provider = providers[chain.chainId];
88
- if (!provider) {
89
- return [
90
- ...tokensForChain.map((t) => ({
91
- ...t,
92
- balance: "0",
93
- })),
94
- ];
95
- }
96
- const multicall = new ethers.Contract(multicallAddress, multicallAbi, provider);
97
- const calls = tokensForChain.map((token) => getTokenBalanceCall(token, userAddress));
98
- const multicallResults = await executeMulticall(multicall, calls, tokensForChain);
99
- return formatBalanceForTokens(multicallResults);
100
- };
101
- const allResults = await Promise.all(chains.map((chain) => fetchBalancesForChain(chain)));
102
- return allResults.flat();
103
- };
104
- export const getAllEvmTokensBalance = async (evmTokens, userAddress, chains) => {
105
- const tokensMulticall = await getTokensSupportingMultiCall(evmTokens, userAddress, chains);
106
- return tokensMulticall;
107
- };
108
- /**
109
- * We'll get the current block of a given RPC to see if we can query it
110
- * Without getting CORS error or any other error
111
- * @param rpc
112
- * @returns
113
- */
114
- const testCosmosRpc = async (rpc) => {
115
- let rpcIsValid = false;
116
- try {
117
- const client = await StargateClient.connect(rpc);
118
- const block = await client.getBlock();
119
- rpcIsValid = !!block.id;
120
- }
121
- catch (error) {
122
- rpcIsValid = false;
123
- }
124
- return rpcIsValid;
125
- };
126
- export const getWorkingCosmosRpcUrl = async (chainData) => {
127
- if (chainData.chainType !== ChainType.COSMOS)
128
- return chainData.rpc;
129
- const chain = chainData;
130
- const rpcList = chain.rpcList.length > 0 ? chain.rpcList : chain.rpc ? [chain.rpc] : [];
131
- // if rpcList is empty, use the default rpc
132
- if (rpcList.length === 0) {
133
- try {
134
- const isValid = await testCosmosRpc(chain.rpc);
135
- if (isValid) {
136
- return chain.rpc;
137
- }
138
- }
139
- catch (error) {
140
- console.error(`Error fetching rpc url: ${chain.rpc} - Error: ${error?.toString()}`);
141
- }
142
- }
143
- // if rpcList is not empty, try to fetch each rpc until we find a valid one
144
- for (const rpc of rpcList) {
145
- try {
146
- // eslint-disable-next-line no-await-in-loop
147
- const isValid = await timeout(5_000, testCosmosRpc(rpc));
148
- if (isValid) {
149
- return rpc;
150
- }
151
- }
152
- catch (error) {
153
- console.error(`Error fetching rpc url: ${chain.rpc} - Error: ${error?.toString()}`);
154
- }
155
- }
156
- // In the case that all rpcs are invalid, return the default rpc anyway
157
- return chain.rpc;
158
- };
159
- /**
160
- * Get the balance of a single token for a given address
161
- * @param chain - Cosmos chain
162
- * @param address - user address
163
- * @param tokenAddress - token address
164
- * @returns balance as formatted string
165
- */
166
- export const getCosmosTokenBalance = async (chain, address, tokenAddress) => {
167
- if (chain.chainType !== ChainType.COSMOS)
168
- return "0";
169
- const cosmosChain = chain;
170
- const restUrl = getCosmosRestEndpoint(cosmosChain);
171
- const client = new CosmosRestClient(restUrl);
172
- const balance = await client.getBalance(address, tokenAddress);
173
- return balance?.amount || "0";
174
- };
175
- /**
176
- * Fetches all Cosmos balances for a given address and RPC.
177
- *
178
- * @param {string} params.rpc - RPC URL to fetch balances from.
179
- * @param {string} params.address - user address to fetch balances for.
180
- * @param {Token[]} params.tokens - array of Cosmos tokens.
181
- * @returns {Promise<TokenWithBalance[]>} promise that resolves to an array of tokens with their balances.
182
- */
183
- export const getAllCosmosBalancesForChain = async ({ rest, address, tokens, }) => {
184
- const client = new CosmosRestClient(rest);
185
- const cosmosBalances = await client.getAllBalances(address);
186
- // Need to map tokens and put balance, based on denom
187
- const tokensWithBalance = tokens.map((t) => {
188
- const balanceCoin = cosmosBalances.find((c) => c.denom === normalizeIbcAddress(t.address));
189
- return {
190
- ...t,
191
- balance: balanceCoin
192
- ? formatBNToReadable(BigInt(balanceCoin?.amount), t?.decimals)
193
- : "0",
194
- };
195
- });
196
- return tokensWithBalance;
197
- };
198
- /**
199
- * Fetches all Cosmos balances for a given address and RPC.
200
- *
201
- * @param {object} params.addresses user addresses per cosmos network
202
- * @param {Token[]} params.cosmosTokens
203
- * @param {CosmosChain[]} params.cosmosChains
204
- * @returns {Promise<TokenWithBalance[]>} All tokens with their balances.
205
- */
206
- export const getAllCosmosBalances = async ({ addresses, cosmosTokens, cosmosChains, }) => {
207
- const tokensWithBalance = [];
208
- await Promise.all(cosmosChains.map(async (cosmosChain) => {
209
- const userAddress = addresses.find((a) => a.chainId === cosmosChain.chainId)?.address;
210
- const tokensForChain = cosmosTokens.filter((t) => t.chainId === cosmosChain.chainId);
211
- if (!userAddress) {
212
- tokensWithBalance.push(...tokensForChain.map((t) => ({ ...t, balance: "0" })));
213
- return;
214
- }
215
- try {
216
- const rest = getCosmosRestEndpoint(cosmosChain);
217
- const balances = await timeout(6_000, getAllCosmosBalancesForChain({
218
- rest,
219
- address: userAddress,
220
- tokens: tokensForChain,
221
- }));
222
- if (balances) {
223
- tokensWithBalance.push(...balances);
224
- }
225
- else {
226
- tokensWithBalance.push(...tokensForChain.map((t) => ({ ...t, balance: "0" })));
227
- }
228
- }
229
- catch (error) {
230
- console.warn(`Failed to fetch balances for chain ${cosmosChain.chainId}:`, error);
231
- tokensWithBalance.push(...tokensForChain.map((t) => ({ ...t, balance: "0" })));
232
- }
233
- }));
234
- return tokensWithBalance;
235
- };
236
- export const getSolanaNativeBalance = async (userAddress) => {
237
- const response = await fetch(SOLANA_RPC_URL, {
238
- method: "POST",
239
- headers: { "Content-Type": "application/json" },
240
- body: JSON.stringify({
241
- jsonrpc: "2.0",
242
- id: 1,
243
- method: "getBalance",
244
- params: [userAddress],
245
- }),
246
- });
247
- const data = await response.json();
248
- return BigInt(data.result?.value || 0);
249
- };
250
- export const getSolanaTokenBalance = async (userAddress, tokenAddress) => {
251
- if (tokenAddress.toLowerCase() === nativeSolanaTokenAddress.toLowerCase()) {
252
- return getSolanaNativeBalance(userAddress);
253
- }
254
- const response = await fetch(SOLANA_RPC_URL, {
255
- method: "POST",
256
- headers: { "Content-Type": "application/json" },
257
- body: JSON.stringify({
258
- jsonrpc: "2.0",
259
- id: 1,
260
- method: "getTokenAccountsByOwner",
261
- params: [
262
- userAddress,
263
- { programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" },
264
- { encoding: "jsonParsed" },
265
- ],
266
- }),
267
- });
268
- const data = await response.json();
269
- const tokenAccount = data.result?.value?.find((acc) => acc.account.data.parsed.info.mint.toLowerCase() ===
270
- tokenAddress.toLowerCase());
271
- return BigInt(tokenAccount?.account.data.parsed.info.tokenAmount.amount || 0);
272
- };
273
- export const getSolanaTokensBalance = async (userAddress, tokenAddresses) => {
274
- const response = await fetch(SOLANA_RPC_URL, {
275
- method: "POST",
276
- headers: { "Content-Type": "application/json" },
277
- body: JSON.stringify({
278
- jsonrpc: "2.0",
279
- id: 1,
280
- method: "getTokenAccountsByOwner",
281
- params: [
282
- userAddress,
283
- { programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" },
284
- { encoding: "jsonParsed" },
285
- ],
286
- }),
287
- });
288
- const data = await response.json();
289
- return tokenAddresses.reduce((acc, address) => {
290
- const tokenAccount = data.result?.value?.find((accountInfo) => accountInfo.account.data.parsed.info.mint.toLowerCase() ===
291
- address.toLowerCase());
292
- acc[address] = BigInt(tokenAccount?.account.data.parsed.info.tokenAmount.amount || 0);
293
- return acc;
294
- }, {});
295
- };
296
- export const getAllSolanaTokensBalance = async (solanaTokens, userAddress) => {
297
- try {
298
- const nativeToken = solanaTokens.find((t) => t.address === nativeEvmTokenAddress);
299
- const otherTokens = solanaTokens.filter((t) => t.address !== nativeEvmTokenAddress);
300
- const [nativeBalance, tokenBalances] = await Promise.all([
301
- nativeToken
302
- ? getSolanaNativeBalance(userAddress)
303
- : Promise.resolve(BigInt(0)),
304
- getSolanaTokensBalance(userAddress, otherTokens.map((t) => t.address)),
305
- ]);
306
- return solanaTokens.map((token) => ({
307
- ...token,
308
- balance: token.address === nativeEvmTokenAddress
309
- ? formatBNToReadable(nativeBalance, token.decimals)
310
- : formatBNToReadable(tokenBalances[token.address], token.decimals),
311
- }));
312
- }
313
- catch (error) {
314
- console.warn("Failed to fetch Solana balances:", error);
315
- return solanaTokens.map((t) => ({ ...t, balance: "0" }));
316
- }
317
- };
318
- export async function getBitcoinNativeBalance(address) {
319
- try {
320
- const isValidBitcoinAddress = isBitcoinAddressValid(address);
321
- if (!isValidBitcoinAddress) {
322
- throw new Error(`Invalid Bitcoin address: ${address}`);
323
- }
324
- const apiUrl = `https://blockchain.info/q/addressbalance/${address}?confirmations=6`;
325
- const response = await fetch(apiUrl);
326
- const balanceInSatoshis = await response.json();
327
- const isValidResponse = typeof balanceInSatoshis === "string" ||
328
- typeof balanceInSatoshis === "number";
329
- if (!isValidResponse) {
330
- throw new Error("Invalid balance response");
331
- }
332
- return String(balanceInSatoshis || "0");
333
- }
334
- catch (error) {
335
- console.error("Failed to fetch Bitcoin balance:", error);
336
- return "0";
337
- }
338
- }
339
- // TODO: implement fetching balances for all bitcoin tokens
340
- export const getAllBitcoinTokensBalance = async (userAddress, bitcoinTokens) => {
341
- const nativeBalance = await getBitcoinNativeBalance(userAddress);
342
- return Promise.all(bitcoinTokens.map(async (token) => {
343
- return {
344
- ...token,
345
- balance: formatBNToReadable(nativeBalance, token.decimals),
346
- };
347
- }));
348
- };
349
- /**
350
- * Returns the balance of a single Sui coin for a given address
351
- */
352
- export const getSuiTokenBalance = async (userAddress, tokenAddress, rpcUrl) => {
353
- const suiClient = new SuiRpcClient(rpcUrl);
354
- const { totalBalance } = await suiClient.getBalance(userAddress, tokenAddress);
355
- return BigInt(totalBalance || 0);
356
- };
357
- export const getAllSuiTokensBalance = async (userAddress, suiTokens, suiChains) => {
358
- const getBalancesForChain = async (chain) => {
359
- const tokensForChain = suiTokens.filter((t) => t.chainId === chain.chainId);
360
- const suiClient = new SuiRpcClient(chain.rpc);
361
- const foundBalances = await suiClient.getAllBalances(userAddress);
362
- const balanceMap = foundBalances.reduce((acc, balance) => {
363
- acc[balance.coinType] = balance.totalBalance;
364
- return acc;
365
- }, {});
366
- return tokensForChain.map((token) => {
367
- const balanceBn = BigInt(balanceMap[token.address] || 0);
368
- return {
369
- ...token,
370
- balance: formatBNToReadable(balanceBn, token.decimals),
371
- };
372
- });
373
- };
374
- const allResults = await Promise.all(suiChains.map(getBalancesForChain));
375
- return allResults.flat();
376
- };
377
- /**
378
- * Returns a promise that resolves when the given promise resolves or after the given timeout
379
- * @param ms - timeout in milliseconds
380
- * @param promise - the promise to wait for
381
- */
382
- export function timeout(ms, promise) {
383
- const timeoutPromise = new Promise((resolve) => {
384
- setTimeout(() => {
385
- resolve(null);
386
- }, ms);
387
- });
388
- return Promise.race([promise, timeoutPromise]);
389
- }
390
- //# 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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"}
@@ -1,16 +0,0 @@
1
- export * from "./external/ens";
2
- export * from "./internal/apiService";
3
- export * from "./internal/assetsService";
4
- export * from "./internal/configService";
5
- export * from "./internal/cosmosService";
6
- export * from "./internal/errorService";
7
- export * from "./internal/eventService";
8
- export * from "./internal/evmService";
9
- export * from "./internal/numberService";
10
- export * from "./internal/priceService";
11
- export * from "./internal/searchService";
12
- export * from "./internal/solanaService";
13
- export * from "./internal/transactionService";
14
- export * from "./internal/transactionStatusService";
15
- export * from "./internal/walletService";
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC"}