@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,171 +0,0 @@
1
- /* eslint-disable prefer-const */
2
- import take from "lodash/take";
3
- import takeWhile from "lodash/takeWhile";
4
- import { formatUnits, parseUnits } from "viem";
5
- import { DEFAULT_LOCALE } from "../../core/constants";
6
- // =====================================================
7
- // NOTE: We wrap viem utility method here
8
- // So that in the future we can change the implementation
9
- // if we want to use something else than viem formatters
10
- // =====================================================
11
- /**
12
- * Parses a value to a bigint
13
- * @param value - The value to parse
14
- * @param decimals - The number of decimals
15
- * @returns The parsed bigint
16
- * @throws Error if parsing fails
17
- */
18
- export const parseToBigInt = (value, decimals = 18) => {
19
- try {
20
- return parseUnits(value.toString(), decimals);
21
- }
22
- catch (error) {
23
- const errorMessage = error instanceof Error ? error.message : String(error);
24
- throw new Error(`Failed to parse value to BigInt: ${errorMessage}`);
25
- }
26
- };
27
- /**
28
- * Formats a value to a readable string
29
- * @param value - The value to format (bigint or string)
30
- * @param decimals - The number of decimals
31
- * @returns The formatted string
32
- * @throws Error if formatting fails
33
- */
34
- export const formatBNToReadable = (value, decimals = 18) => {
35
- try {
36
- return formatUnits(BigInt(value), decimals);
37
- }
38
- catch (error) {
39
- const errorMessage = error instanceof Error ? error.message : String(error);
40
- throw new Error(`Failed to format value: ${errorMessage}`);
41
- }
42
- };
43
- export const roundNumericValue = (value = "0", precision = 2, useComaEvery3Digits = true, significantFigures = 0) => {
44
- let newValue = value;
45
- const temp = newValue?.toString() ?? "";
46
- let [integers, decimals] = temp.split(".");
47
- // toLocaleString is supported on all modern browsers
48
- // We might monitor and have a polyfill if some people are not
49
- // Seeing the comas.
50
- if (useComaEvery3Digits && integers !== "0") {
51
- integers = parseInt(integers, 10).toLocaleString(DEFAULT_LOCALE).toString();
52
- }
53
- if (significantFigures && decimals) {
54
- const zeros = takeWhile(decimals?.toString(), (c) => c === "0").length;
55
- return `${integers}.${take(decimals, zeros + significantFigures).join("")}`;
56
- }
57
- return decimals
58
- ? `${integers}.${take(decimals, precision).join("")}`
59
- : integers;
60
- };
61
- const MAX_TOKEN_DECIMALS = 8;
62
- const TOKEN_EXACT_AMOUNT_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
63
- minimumFractionDigits: 0,
64
- maximumFractionDigits: MAX_TOKEN_DECIMALS,
65
- });
66
- const TOKEN_ROUNDED_AMOUNT_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
67
- minimumFractionDigits: 0,
68
- maximumFractionDigits: MAX_TOKEN_DECIMALS,
69
- minimumSignificantDigits: 2,
70
- maximumSignificantDigits: 4,
71
- });
72
- const TOKEN_SIMPLIFIED_AMOUNT_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
73
- maximumSignificantDigits: 2,
74
- });
75
- export function formatTokenAmount(amount, { exact = true, simplified = false } = {}) {
76
- const numericAmount = parseFloat(amount || "0");
77
- if (numericAmount <= 0) {
78
- return "0";
79
- }
80
- // Check if numericAmount is less than the smallest displayable amount
81
- if (numericAmount < Math.pow(10, -MAX_TOKEN_DECIMALS)) {
82
- return `<${Math.pow(10, -MAX_TOKEN_DECIMALS).toFixed(MAX_TOKEN_DECIMALS)}`;
83
- }
84
- if (simplified) {
85
- return TOKEN_SIMPLIFIED_AMOUNT_FORMATTER.format(numericAmount);
86
- }
87
- if (exact) {
88
- return TOKEN_EXACT_AMOUNT_FORMATTER.format(numericAmount);
89
- }
90
- return TOKEN_ROUNDED_AMOUNT_FORMATTER.format(numericAmount);
91
- }
92
- // For values below 100,000, use exact integer precision
93
- // e.g 1,234.56, 98,765.43
94
- const STANDARD_USD_INTL_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
95
- style: "currency",
96
- currency: "USD",
97
- minimumFractionDigits: 2,
98
- maximumFractionDigits: 2,
99
- });
100
- // For values above 100,000, use compact notation
101
- // e.g $12,34K, $98,765.43M
102
- const COMPACT_USD_INTL_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
103
- style: "currency",
104
- currency: "USD",
105
- notation: "compact",
106
- compactDisplay: "short",
107
- minimumFractionDigits: 2,
108
- maximumFractionDigits: 2,
109
- });
110
- // For small amounts where decimal precision is important
111
- // e.g $0.00045, $1,231.3209, $57.00002
112
- const PRECISE_USD_INTL_FORMATTER = new Intl.NumberFormat(DEFAULT_LOCALE, {
113
- style: "currency",
114
- currency: "USD",
115
- minimumFractionDigits: 2,
116
- maximumFractionDigits: 5,
117
- });
118
- const DECIMAL_PRECISION_THRESHOLD = 1;
119
- export function formatUsdAmount(amount = "0", { includeSign = true, decimalPrecision = false } = {}) {
120
- const parsedAmount = Number(amount);
121
- if (parsedAmount < 0.01 && parsedAmount > 0 && !decimalPrecision) {
122
- return includeSign ? "<$0.01" : "<0.01";
123
- }
124
- // Handle amounts 100,000 or above using compact notation
125
- if (parsedAmount >= 100_000) {
126
- return COMPACT_USD_INTL_FORMATTER.format(parsedAmount).replace(/^\$/, includeSign ? "$" : "");
127
- }
128
- // Handle small amounts with decimal precision
129
- // We don't care about decimal precision for big amounts
130
- if (decimalPrecision && parsedAmount < DECIMAL_PRECISION_THRESHOLD) {
131
- return PRECISE_USD_INTL_FORMATTER.format(parsedAmount).replace(/^\$/, includeSign ? "$" : "");
132
- }
133
- // Handle amounts less than 100,000 with exact integer precision
134
- return STANDARD_USD_INTL_FORMATTER.format(parsedAmount).replace(/^\$/, includeSign ? "$" : "");
135
- }
136
- export function trimExtraDecimals(value, maxDecimals) {
137
- const [integerPart, decimalPart] = value.split(".");
138
- // Return just the integer part if maxDecimals is zero
139
- if (maxDecimals === 0) {
140
- return integerPart;
141
- }
142
- // Process decimals if present and maxDecimals is not zero
143
- if (decimalPart &&
144
- maxDecimals !== undefined &&
145
- decimalPart.length > maxDecimals) {
146
- return `${integerPart}.${decimalPart.slice(0, maxDecimals)}`;
147
- }
148
- // Return the original value if there are no excess decimals or maxDecimals is undefined
149
- return value;
150
- }
151
- export const getNumericValue = ({ value, precision, useComaEvery3Digits = true, hideIfZero = false, currency, significantFigures, formatIfVerySmall, wrapInParens = false, isNegative = false, }) => {
152
- const roundedValue = value !== undefined && value !== ""
153
- ? roundNumericValue(value, precision, useComaEvery3Digits, significantFigures)
154
- : undefined;
155
- if (hideIfZero && (value === "0" || value === "0.0")) {
156
- return null;
157
- }
158
- const isVerySmall = formatIfVerySmall !== undefined &&
159
- +(value ?? "0") !== 0 &&
160
- +(value ?? "0") < formatIfVerySmall;
161
- const prefix = `${isVerySmall ? "<" : ""}${currency && currency.symbol && currency.symbolPosition === "before"
162
- ? currency.symbol
163
- : ""}`;
164
- const suffix = `${currency && currency.symbol && currency.symbolPosition === "after"
165
- ? currency.symbol
166
- : ""}`;
167
- const formattedIfVerySmall = roundedValue && isVerySmall ? formatIfVerySmall?.toString() : roundedValue;
168
- const finalValue = `${isNegative ? "-" : ""}${prefix}${formattedIfVerySmall}${suffix ? ` ${suffix}` : ""}`;
169
- return wrapInParens ? `(${finalValue})` : finalValue;
170
- };
171
- //# sourceMappingURL=numberService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numberService.js","sourceRoot":"","sources":["../../../src/services/internal/numberService.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- /**
3
- * Cleans numeric string by removing thousand separators
4
- * @param amount - The amount to clean (string or number)
5
- */
6
- export function cleanAmount(amount) {
7
- if (typeof amount === "number")
8
- return amount.toString();
9
- return amount.replace(/,/g, "");
10
- }
11
- /**
12
- * Convert token amount to USD
13
- * @param {string|number} tokenAmount - The amount of tokens
14
- * @param {string|number} tokenPrice - The price of one token in USD
15
- * @returns {BigNumber} - The equivalent amount in USD
16
- */
17
- export function convertTokenAmountToUSD(tokenAmount, tokenPrice, maxDecimals = 4) {
18
- if (!tokenAmount || !tokenPrice)
19
- return "";
20
- try {
21
- const amount = new BigNumber(cleanAmount(tokenAmount));
22
- const price = new BigNumber(cleanAmount(tokenPrice));
23
- return amount.multipliedBy(price).decimalPlaces(maxDecimals).toString();
24
- }
25
- catch {
26
- return "";
27
- }
28
- }
29
- /**
30
- * Convert USD to token amount
31
- * @param {string|number} usdAmount - The amount in USD
32
- * @param {string|number} tokenPrice - The price of one token in USD
33
- * @param {number} maxDecimals - The maximum number of decimals
34
- * @returns {BigNumber} - The equivalent amount of tokens
35
- */
36
- export function convertUSDToTokenAmount(usdAmount, tokenPrice, maxDecimals) {
37
- if (!usdAmount || !tokenPrice || !maxDecimals)
38
- return "0";
39
- const amount = new BigNumber(cleanAmount(usdAmount));
40
- const price = new BigNumber(cleanAmount(tokenPrice));
41
- return amount.dividedBy(price).decimalPlaces(maxDecimals).toString();
42
- }
43
- export const calculateTotal24hChange = (tokensWithBalance, totalUSDAmount) => {
44
- let weightedChangeSum = 0;
45
- for (const token of tokensWithBalance) {
46
- const tokenBalance = parseFloat(token.balance);
47
- const tokenValueUSD = tokenBalance * token.usdPrice;
48
- const weightedChange = (tokenValueUSD / Number(totalUSDAmount)) * token.price24hChange;
49
- weightedChangeSum += weightedChange;
50
- }
51
- return weightedChangeSum;
52
- };
53
- //# sourceMappingURL=priceService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"priceService.js","sourceRoot":"","sources":["../../../src/services/internal/priceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB;IACjD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAA4B,EAC5B,UAA2B,EAC3B,cAAsB,CAAC;IAEvB,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;KACzE;IAAC,MAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAA0B,EAC1B,UAA2B,EAC3B,WAAmB;IAEnB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,CAAC;AAQD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,iBAAqC,EACrC,cAA+B,EACvB,EAAE;IACV,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE;QACrC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpD,MAAM,cAAc,GAClB,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAClE,iBAAiB,IAAI,cAAc,CAAC;KACrC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,98 +0,0 @@
1
- import Fuse from "fuse.js";
2
- import { nativeEvmTokenAddress } from "../../core/constants";
3
- const fuseSearchOptions = {
4
- isCaseSensitive: false,
5
- threshold: 0.1,
6
- findAllMatches: false,
7
- includeMatches: true,
8
- keys: [
9
- { name: "symbol", weight: 1 },
10
- { name: "name", weight: 0.8 },
11
- ],
12
- };
13
- /**
14
- * Minimum length of a search query to search by address
15
- * Some tokens can have very short addresses (e.g. "uosmo", "uixo", "satoshi", etc...)
16
- * We don't want to search by address for these short queries
17
- * as they can conflict with other tokens' symbols
18
- *
19
- * This value is arbitrary and can be adjusted as needed
20
- * but most blockchains should have longer addresses than this
21
- */
22
- const minAddressLength = 7;
23
- /**
24
- * Searches for tokens based on a query string, prioritizing results in the following order:
25
- * 1. Exact address (if query is long enough)
26
- * 2. ETH on Ethereum mainnet (chainId 1)
27
- * 3. Native tokens of chains matching the query (e.g., BNB when searching for "binance")
28
- * 4. Exact matches for native tokens (e.g., native FTM when searching for "FTM")
29
- * 5. Other exact matches for token names or symbols
30
- * 6. Other native tokens that partially match the query
31
- * 7. Remaining tokens that partially match the query
32
- *
33
- * @param query - The search query string
34
- * @param tokens - Array of all available tokens
35
- * @param chains - Array of chain data
36
- * @returns An array of tokens sorted according to the priority described above
37
- */
38
- export const searchTokens = (query, tokens, chains) => {
39
- // Query must at least be 2 characters long
40
- if (query.length <= 1)
41
- return tokens;
42
- // Check for exact address match first, only if query is long enough
43
- const exactAddressMatches = query.length >= minAddressLength
44
- ? tokens.filter((token) => token.address.toLowerCase() === query.toLowerCase())
45
- : [];
46
- // There can be multiple matches for the same address,
47
- // e.g. ITS tokens share address across chains
48
- if (exactAddressMatches.length > 0) {
49
- return exactAddressMatches;
50
- }
51
- // Init fuse.js
52
- const fuse = new Fuse(tokens, fuseSearchOptions);
53
- // Perform the search with fuse
54
- const searchResults = fuse.search(query);
55
- // Find native tokens that match the query or related chain names
56
- const nativeTokens = chains
57
- .filter((chain) => chain.nativeCurrency.symbol.toLowerCase() === query.toLowerCase() ||
58
- chain.nativeCurrency.name.toLowerCase().includes(query.toLowerCase()) ||
59
- chain.networkName.toLowerCase().includes(query.toLowerCase()) ||
60
- chain.axelarChainName.toLowerCase().includes(query.toLowerCase()))
61
- .map((chain) => tokens.find((token) => token.chainId === chain.chainId &&
62
- token.address.toLowerCase() === nativeEvmTokenAddress))
63
- .filter((token) => token !== undefined);
64
- // Separate ETH on Ethereum mainnet (chainId 1) for top priority
65
- const ethMainnet = nativeTokens.find((token) => token.symbol === "ETH" && token.chainId === "1");
66
- const otherNativeTokens = nativeTokens.filter((token) => !(token.symbol === "ETH" && token.chainId === "1"));
67
- // Find exact matches for token name or symbol
68
- const exactMatches = searchResults
69
- .map((result) => result.item)
70
- .filter((token) => token.name.toLowerCase() === query.toLowerCase() ||
71
- token.symbol.toLowerCase() === query.toLowerCase());
72
- // Prioritize native tokens within exact matches
73
- const prioritizedExactMatches = exactMatches.sort((a, b) => {
74
- const aIsNative = a.address.toLowerCase() === nativeEvmTokenAddress;
75
- const bIsNative = b.address.toLowerCase() === nativeEvmTokenAddress;
76
- if (aIsNative && !bIsNative)
77
- return -1;
78
- if (!aIsNative && bIsNative)
79
- return 1;
80
- return 0;
81
- });
82
- // Collect remaining search results that aren't exact matches
83
- const otherResults = searchResults
84
- .map((result) => result.item)
85
- .filter((token) => !(token.name.toLowerCase() === query.toLowerCase() ||
86
- token.symbol.toLowerCase() === query.toLowerCase()));
87
- // Combine all results in the desired priority order
88
- const combinedResults = [
89
- ...(ethMainnet ? [ethMainnet] : []),
90
- ...otherNativeTokens,
91
- ...prioritizedExactMatches,
92
- ...otherResults,
93
- ];
94
- // Remove any duplicate tokens from the results
95
- const uniqueResults = Array.from(new Set(combinedResults));
96
- return uniqueResults;
97
- };
98
- //# sourceMappingURL=searchService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../../src/services/internal/searchService.ts"],"names":[],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- import { createAssociatedTokenAccountInstruction, createTransferInstruction, getAssociatedTokenAddress, } from "@solana/spl-token";
2
- import { PublicKey, SystemProgram, Transaction, VersionedTransaction, } from "@solana/web3.js";
3
- import { nativeSolanaTokenAddress } from "../../core/constants";
4
- export const isSolanaAddressValid = (address) => {
5
- try {
6
- new PublicKey(address);
7
- return true;
8
- }
9
- catch {
10
- return false;
11
- }
12
- };
13
- export const connectSolanaWallet = async (wallet, { connectSolana }) => {
14
- const address = await connectSolana?.mutateAsync({
15
- wallet,
16
- });
17
- if (address) {
18
- return { wallet, address };
19
- }
20
- return null;
21
- };
22
- /**
23
- * Execute a Solana swap transaction
24
- * This will be used for the swap flow - Using Jupiter Dex under the hood
25
- */
26
- export const executeSolanaSwap = async ({ route, signer, connection, onSigned, }) => {
27
- if (!route?.transactionRequest?.data) {
28
- throw new Error("Invalid parameters");
29
- }
30
- const swapRequest = route.transactionRequest.data;
31
- const swapTransactionBuf = Buffer.from(swapRequest, "base64");
32
- const transaction = VersionedTransaction.deserialize(swapTransactionBuf);
33
- try {
34
- const latestBlockhash = await connection.getLatestBlockhash();
35
- const signature = await signer.sendTransaction(transaction, connection);
36
- onSigned?.(signature);
37
- await connection.confirmTransaction({
38
- signature,
39
- blockhash: latestBlockhash.blockhash,
40
- lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,
41
- });
42
- return signature;
43
- }
44
- catch (error) {
45
- console.error("Solana swap failed:", error);
46
- throw error;
47
- }
48
- };
49
- /**
50
- * Execute a Solana transfer transaction for both native SOL and SPL tokens
51
- * @param amount - Amount to transfer in raw units (lamports for SOL, raw token units for SPL)
52
- * @param target - Target wallet address
53
- * @param signer - Solana wallet adapter instance
54
- * @param connection - Solana RPC connection
55
- * @param sourceToken - Token information (undefined for native SOL)
56
- * @param onSigned - Optional callback triggered when transaction is signed
57
- * @returns Transaction signature
58
- */
59
- export const executeSolanaTransfer = async ({ amount, target, signer, connection, sourceToken, onSigned, }) => {
60
- // Validate signer and target address
61
- if (!signer.publicKey) {
62
- throw new Error("Signer public key not found");
63
- }
64
- if (!isSolanaAddressValid(target)) {
65
- throw new Error("Invalid target address");
66
- }
67
- const targetPubKey = new PublicKey(target);
68
- const transaction = new Transaction();
69
- const isNativeToken = !sourceToken ||
70
- sourceToken.address.toLowerCase() ===
71
- nativeSolanaTokenAddress.toLowerCase();
72
- if (isNativeToken) {
73
- // Handle native SOL transfer
74
- transaction.add(SystemProgram.transfer({
75
- fromPubkey: signer.publicKey,
76
- toPubkey: targetPubKey,
77
- lamports: amount,
78
- }));
79
- }
80
- else {
81
- // Handle SPL token transfer
82
- const mint = new PublicKey(sourceToken.address);
83
- // Get Associated Token Accounts (ATAs) for both source and target
84
- const sourceATA = await getAssociatedTokenAddress(mint, signer.publicKey, true);
85
- const targetATA = await getAssociatedTokenAddress(mint, targetPubKey, true);
86
- // Check if target ATA exists and create if needed
87
- const targetAccount = await connection.getAccountInfo(targetATA);
88
- if (!targetAccount) {
89
- transaction.add(createAssociatedTokenAccountInstruction(signer.publicKey, targetATA, targetPubKey, mint));
90
- }
91
- // Add the token transfer instruction
92
- transaction.add(createTransferInstruction(sourceATA, targetATA, signer.publicKey, amount));
93
- }
94
- // Get latest blockhash and sign transaction
95
- const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
96
- transaction.recentBlockhash = blockhash;
97
- transaction.feePayer = signer.publicKey;
98
- const signature = await signer.sendTransaction(transaction, connection);
99
- // Trigger callback for UI purposes (show loading state)
100
- onSigned?.(signature);
101
- // Wait for transaction confirmation
102
- await connection.confirmTransaction({
103
- signature,
104
- blockhash,
105
- lastValidBlockHeight,
106
- });
107
- return signature;
108
- };
109
- //# sourceMappingURL=solanaService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solanaService.js","sourceRoot":"","sources":["../../../src/services/internal/solanaService.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { isSuiChain, SUI_MAINNET_CHAIN, SUI_TESTNET_CHAIN, } from "@mysten/wallet-standard";
3
- import { CHAIN_IDS } from "../../core/constants";
4
- import { walletIconBaseUrl } from "../../core/wallets";
5
- const STANDARD_FEATURES = [
6
- "standard:connect",
7
- "standard:events",
8
- ];
9
- const SUI_FEATURES = ["sui:signTransaction"];
10
- /**
11
- * Validates that a given standard wallet has all the required features for a Sui wallet
12
- */
13
- function isSuiStandardWallet(wallet) {
14
- return [...STANDARD_FEATURES, ...SUI_FEATURES].every((feature) => feature in wallet.features);
15
- }
16
- export function filterSuiWallets(standardWallets) {
17
- // Filter out all non-Sui standard wallets
18
- return standardWallets.filter(isSuiStandardWallet).map(formatSuiWallet);
19
- }
20
- function isHex(value) {
21
- return /^(0x|0X)?[a-fA-F0-9]+$/.test(value) && value.length % 2 === 0;
22
- }
23
- function getHexByteLength(value) {
24
- return /^(0x|0X)/.test(value) ? (value.length - 2) / 2 : value.length / 2;
25
- }
26
- const SUI_ADDRESS_LENGTH = 32;
27
- // Ref. https://github.com/MystenLabs/ts-sdks/blob/31dd6c73d7aab9819bd545323273f733cfcc5a01/packages/typescript/src/utils/sui-types.ts#L24-L27
28
- export function isSuiAddressValid(address) {
29
- return isHex(address) && getHexByteLength(address) === SUI_ADDRESS_LENGTH;
30
- }
31
- export const slushWebWalletData = {
32
- icon: `${walletIconBaseUrl}/slush-web.webp`,
33
- id: "slush-web-wallet",
34
- name: "Slush Web Wallet",
35
- };
36
- /**
37
- * Override Sui standard wallet properties
38
- */
39
- export const suiStdWalletOverrides = {
40
- Phantom: {
41
- icon: `${walletIconBaseUrl}/phantom.webp`,
42
- connectorId: "phantom",
43
- },
44
- Backpack: {
45
- icon: `${walletIconBaseUrl}/backpack.webp`,
46
- connectorId: "backpack",
47
- },
48
- "OKX Wallet": {
49
- icon: `${walletIconBaseUrl}/okx.webp`,
50
- connectorId: "okx",
51
- },
52
- "Cosmostation Wallet": {
53
- icon: `${walletIconBaseUrl}/cosmostation.webp`,
54
- connectorId: "cosmostation",
55
- },
56
- "Surf Wallet": {
57
- icon: `${walletIconBaseUrl}/surf.webp`,
58
- },
59
- "com.mystenlabs.suiwallet": {
60
- icon: `${walletIconBaseUrl}/slush.webp`,
61
- name: "Slush Wallet",
62
- },
63
- };
64
- /**
65
- * Format a Sui standard wallet into a Squid Wallet
66
- */
67
- function formatSuiWallet(wallet) {
68
- const { icon, name: defaultName, features, id, chains } = wallet;
69
- const standardWalletId = id || defaultName;
70
- const walletOverrides = suiStdWalletOverrides[standardWalletId];
71
- const walletIcon = walletOverrides?.icon || icon;
72
- const name = walletOverrides?.name || defaultName;
73
- const connectorId = walletOverrides?.connectorId || standardWalletId;
74
- const isSlushWebWallet = connectorId === slushWebWalletData.id;
75
- return {
76
- connectorId,
77
- name,
78
- connectorName: name,
79
- type: ChainType.SUI,
80
- icon: walletIcon,
81
- windowFlag: name,
82
- isMobile: false,
83
- // Slush (web) is a social wallet so it cannot be installed
84
- // and works similar to WalletConnect
85
- isInstalled: isSlushWebWallet ? undefined : () => true,
86
- skipInstallCheck: isSlushWebWallet,
87
- connector() {
88
- return {
89
- signTransaction: features["sui:signTransaction"].signTransaction,
90
- connect: async () => {
91
- const { accounts } = await features["standard:connect"].connect();
92
- if (!isSuiChain(chains[0]))
93
- throw new Error("Error connecting Sui wallet, invalid chain");
94
- if (!accounts.length) {
95
- throw new Error("No accounts returned from wallet");
96
- }
97
- return {
98
- account: accounts[0],
99
- chain: chains[0],
100
- };
101
- },
102
- disconnect: async () => {
103
- await features["standard:disconnect"]?.disconnect();
104
- },
105
- };
106
- },
107
- };
108
- }
109
- export function getSuiChain(chainId) {
110
- switch (chainId) {
111
- case CHAIN_IDS.SUI:
112
- return SUI_MAINNET_CHAIN;
113
- case CHAIN_IDS.SUI_TESTNET:
114
- return SUI_TESTNET_CHAIN;
115
- default:
116
- return null;
117
- }
118
- }
119
- //# sourceMappingURL=suiService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"suiService.js","sourceRoot":"","sources":["../../../src/services/internal/suiService.ts"],"names":[],"mappings":"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"}