@0xsequence/hooks 6.0.0-beta.4 → 6.0.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 (249) hide show
  1. package/LICENSE +1 -1
  2. package/dist/esm/contexts/ConfigContext.d.ts +2 -0
  3. package/dist/esm/contexts/ConfigContext.d.ts.map +1 -1
  4. package/dist/esm/contexts/ConfigContext.js +2 -0
  5. package/dist/esm/contexts/ConfigContext.js.map +1 -1
  6. package/dist/esm/hooks/Indexer/useGetTransactionHistory.d.ts +2 -0
  7. package/dist/esm/hooks/Indexer/useGetTransactionHistory.d.ts.map +1 -1
  8. package/dist/esm/hooks/Indexer/useIndexerClient.d.ts +2 -2
  9. package/dist/esm/hooks/Indexer/useIndexerClient.d.ts.map +1 -1
  10. package/dist/esm/hooks/Indexer/useIndexerClient.js +1 -1
  11. package/dist/esm/hooks/Indexer/useIndexerClient.js.map +1 -1
  12. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts +2 -1
  13. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts.map +1 -1
  14. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.js.map +1 -1
  15. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts +2 -1
  16. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts.map +1 -1
  17. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.js.map +1 -1
  18. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts +2 -1
  19. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts.map +1 -1
  20. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.js.map +1 -1
  21. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts +2 -1
  22. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts.map +1 -1
  23. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.js.map +1 -1
  24. package/dist/esm/hooks/Metadata/useGetContractInfo.d.ts.map +1 -1
  25. package/dist/esm/hooks/Metadata/useGetContractInfo.js +1 -1
  26. package/dist/esm/hooks/Metadata/useGetContractInfo.js.map +1 -1
  27. package/dist/esm/hooks/useNetwork.d.ts +1 -1
  28. package/dist/esm/hooks/useNetwork.d.ts.map +1 -1
  29. package/dist/esm/hooks/useNetwork.js +1 -1
  30. package/dist/esm/hooks/useNetwork.js.map +1 -1
  31. package/dist/esm/index.d.ts +4 -4
  32. package/dist/esm/index.d.ts.map +1 -1
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/tests/IndexerGateway/useGetTokenBalancesByContract.test.js.map +1 -1
  35. package/dist/esm/tests/IndexerGateway/useGetTokenBalancesDetails.test.js.map +1 -1
  36. package/dist/esm/tests/IndexerGateway/useGetTokenBalancesSummary.test.js.map +1 -1
  37. package/dist/esm/utils/helpers.d.ts.map +1 -1
  38. package/dist/esm/utils/helpers.js +2 -0
  39. package/dist/esm/utils/helpers.js.map +1 -1
  40. package/dist/esm/utils/networks.d.ts +83 -0
  41. package/dist/esm/utils/networks.d.ts.map +1 -0
  42. package/dist/esm/utils/networks.js +52 -0
  43. package/dist/esm/utils/networks.js.map +1 -0
  44. package/package.json +15 -18
  45. package/dist/cjs/constants.d.ts +0 -29
  46. package/dist/cjs/constants.d.ts.map +0 -1
  47. package/dist/cjs/constants.js +0 -33
  48. package/dist/cjs/constants.js.map +0 -1
  49. package/dist/cjs/contexts/ConfigContext.d.ts +0 -27
  50. package/dist/cjs/contexts/ConfigContext.d.ts.map +0 -1
  51. package/dist/cjs/contexts/ConfigContext.js +0 -30
  52. package/dist/cjs/contexts/ConfigContext.js.map +0 -1
  53. package/dist/cjs/hooks/API/useAPIClient.d.ts +0 -39
  54. package/dist/cjs/hooks/API/useAPIClient.d.ts.map +0 -1
  55. package/dist/cjs/hooks/API/useAPIClient.js +0 -51
  56. package/dist/cjs/hooks/API/useAPIClient.js.map +0 -1
  57. package/dist/cjs/hooks/API/useGetCoinPrices.d.ts +0 -49
  58. package/dist/cjs/hooks/API/useGetCoinPrices.d.ts.map +0 -1
  59. package/dist/cjs/hooks/API/useGetCoinPrices.js +0 -78
  60. package/dist/cjs/hooks/API/useGetCoinPrices.js.map +0 -1
  61. package/dist/cjs/hooks/API/useGetCollectiblePrices.d.ts +0 -54
  62. package/dist/cjs/hooks/API/useGetCollectiblePrices.d.ts.map +0 -1
  63. package/dist/cjs/hooks/API/useGetCollectiblePrices.js +0 -83
  64. package/dist/cjs/hooks/API/useGetCollectiblePrices.js.map +0 -1
  65. package/dist/cjs/hooks/API/useGetExchangeRate.d.ts +0 -42
  66. package/dist/cjs/hooks/API/useGetExchangeRate.d.ts.map +0 -1
  67. package/dist/cjs/hooks/API/useGetExchangeRate.js +0 -63
  68. package/dist/cjs/hooks/API/useGetExchangeRate.js.map +0 -1
  69. package/dist/cjs/hooks/API/useGetWaasStatus.d.ts +0 -48
  70. package/dist/cjs/hooks/API/useGetWaasStatus.d.ts.map +0 -1
  71. package/dist/cjs/hooks/API/useGetWaasStatus.js +0 -49
  72. package/dist/cjs/hooks/API/useGetWaasStatus.js.map +0 -1
  73. package/dist/cjs/hooks/Builder/useDetectContractVersion.d.ts +0 -30
  74. package/dist/cjs/hooks/Builder/useDetectContractVersion.d.ts.map +0 -1
  75. package/dist/cjs/hooks/Builder/useDetectContractVersion.js +0 -26
  76. package/dist/cjs/hooks/Builder/useDetectContractVersion.js.map +0 -1
  77. package/dist/cjs/hooks/Combination/useGetSwapQuote.d.ts +0 -97
  78. package/dist/cjs/hooks/Combination/useGetSwapQuote.d.ts.map +0 -1
  79. package/dist/cjs/hooks/Combination/useGetSwapQuote.js +0 -123
  80. package/dist/cjs/hooks/Combination/useGetSwapQuote.js.map +0 -1
  81. package/dist/cjs/hooks/Combination/useGetSwapRoutes.d.ts +0 -61
  82. package/dist/cjs/hooks/Combination/useGetSwapRoutes.d.ts.map +0 -1
  83. package/dist/cjs/hooks/Combination/useGetSwapRoutes.js +0 -83
  84. package/dist/cjs/hooks/Combination/useGetSwapRoutes.js.map +0 -1
  85. package/dist/cjs/hooks/Indexer/useGetTransactionHistory.d.ts +0 -97
  86. package/dist/cjs/hooks/Indexer/useGetTransactionHistory.d.ts.map +0 -1
  87. package/dist/cjs/hooks/Indexer/useGetTransactionHistory.js +0 -131
  88. package/dist/cjs/hooks/Indexer/useGetTransactionHistory.js.map +0 -1
  89. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.d.ts +0 -76
  90. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.d.ts.map +0 -1
  91. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.js +0 -115
  92. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.js.map +0 -1
  93. package/dist/cjs/hooks/Indexer/useIndexerClient.d.ts +0 -102
  94. package/dist/cjs/hooks/Indexer/useIndexerClient.d.ts.map +0 -1
  95. package/dist/cjs/hooks/Indexer/useIndexerClient.js +0 -145
  96. package/dist/cjs/hooks/Indexer/useIndexerClient.js.map +0 -1
  97. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts +0 -35
  98. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts.map +0 -1
  99. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.js +0 -55
  100. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.js.map +0 -1
  101. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.d.ts +0 -50
  102. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.d.ts.map +0 -1
  103. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.js +0 -88
  104. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.js.map +0 -1
  105. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts +0 -61
  106. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts.map +0 -1
  107. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.js +0 -85
  108. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.js.map +0 -1
  109. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts +0 -99
  110. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts.map +0 -1
  111. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.js +0 -136
  112. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.js.map +0 -1
  113. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts +0 -74
  114. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts.map +0 -1
  115. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.js +0 -111
  116. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.js.map +0 -1
  117. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.d.ts +0 -29
  118. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.d.ts.map +0 -1
  119. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.js +0 -41
  120. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.js.map +0 -1
  121. package/dist/cjs/hooks/Metadata/useGetContractInfo.d.ts +0 -68
  122. package/dist/cjs/hooks/Metadata/useGetContractInfo.d.ts.map +0 -1
  123. package/dist/cjs/hooks/Metadata/useGetContractInfo.js +0 -96
  124. package/dist/cjs/hooks/Metadata/useGetContractInfo.js.map +0 -1
  125. package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.d.ts +0 -95
  126. package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.d.ts.map +0 -1
  127. package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.js +0 -118
  128. package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.js.map +0 -1
  129. package/dist/cjs/hooks/Metadata/useGetTokenMetadata.d.ts +0 -89
  130. package/dist/cjs/hooks/Metadata/useGetTokenMetadata.d.ts.map +0 -1
  131. package/dist/cjs/hooks/Metadata/useGetTokenMetadata.js +0 -123
  132. package/dist/cjs/hooks/Metadata/useGetTokenMetadata.js.map +0 -1
  133. package/dist/cjs/hooks/Metadata/useMetadataClient.d.ts +0 -39
  134. package/dist/cjs/hooks/Metadata/useMetadataClient.d.ts.map +0 -1
  135. package/dist/cjs/hooks/Metadata/useMetadataClient.js +0 -51
  136. package/dist/cjs/hooks/Metadata/useMetadataClient.js.map +0 -1
  137. package/dist/cjs/hooks/useClearCachedBalances.d.ts +0 -4
  138. package/dist/cjs/hooks/useClearCachedBalances.d.ts.map +0 -1
  139. package/dist/cjs/hooks/useClearCachedBalances.js +0 -17
  140. package/dist/cjs/hooks/useClearCachedBalances.js.map +0 -1
  141. package/dist/cjs/hooks/useClipboard.d.ts +0 -6
  142. package/dist/cjs/hooks/useClipboard.d.ts.map +0 -1
  143. package/dist/cjs/hooks/useClipboard.js +0 -34
  144. package/dist/cjs/hooks/useClipboard.js.map +0 -1
  145. package/dist/cjs/hooks/useConfig.d.ts +0 -47
  146. package/dist/cjs/hooks/useConfig.d.ts.map +0 -1
  147. package/dist/cjs/hooks/useConfig.js +0 -59
  148. package/dist/cjs/hooks/useConfig.js.map +0 -1
  149. package/dist/cjs/hooks/useNetwork.d.ts +0 -2
  150. package/dist/cjs/hooks/useNetwork.d.ts.map +0 -1
  151. package/dist/cjs/hooks/useNetwork.js +0 -9
  152. package/dist/cjs/hooks/useNetwork.js.map +0 -1
  153. package/dist/cjs/index.d.ts +0 -27
  154. package/dist/cjs/index.d.ts.map +0 -1
  155. package/dist/cjs/index.js +0 -67
  156. package/dist/cjs/index.js.map +0 -1
  157. package/dist/cjs/package.json +0 -1
  158. package/dist/cjs/tests/API/useGetCoinPrices.test.d.ts +0 -2
  159. package/dist/cjs/tests/API/useGetCoinPrices.test.d.ts.map +0 -1
  160. package/dist/cjs/tests/API/useGetCoinPrices.test.js +0 -36
  161. package/dist/cjs/tests/API/useGetCoinPrices.test.js.map +0 -1
  162. package/dist/cjs/tests/API/useGetCollectiblePrices.test.d.ts +0 -2
  163. package/dist/cjs/tests/API/useGetCollectiblePrices.test.d.ts.map +0 -1
  164. package/dist/cjs/tests/API/useGetCollectiblePrices.test.js +0 -36
  165. package/dist/cjs/tests/API/useGetCollectiblePrices.test.js.map +0 -1
  166. package/dist/cjs/tests/API/useGetExchangeRate.test.d.ts +0 -2
  167. package/dist/cjs/tests/API/useGetExchangeRate.test.d.ts.map +0 -1
  168. package/dist/cjs/tests/API/useGetExchangeRate.test.js +0 -29
  169. package/dist/cjs/tests/API/useGetExchangeRate.test.js.map +0 -1
  170. package/dist/cjs/tests/Combination/useGetSwapQuote.test.d.ts +0 -2
  171. package/dist/cjs/tests/Combination/useGetSwapQuote.test.d.ts.map +0 -1
  172. package/dist/cjs/tests/Combination/useGetSwapQuote.test.js +0 -57
  173. package/dist/cjs/tests/Combination/useGetSwapQuote.test.js.map +0 -1
  174. package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.d.ts +0 -2
  175. package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.d.ts.map +0 -1
  176. package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.js +0 -35
  177. package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.js.map +0 -1
  178. package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.d.ts +0 -2
  179. package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.d.ts.map +0 -1
  180. package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.js +0 -34
  181. package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.js.map +0 -1
  182. package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.d.ts +0 -2
  183. package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.d.ts.map +0 -1
  184. package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.js +0 -34
  185. package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.js.map +0 -1
  186. package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.d.ts +0 -2
  187. package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.d.ts.map +0 -1
  188. package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.js +0 -35
  189. package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.js.map +0 -1
  190. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.d.ts +0 -2
  191. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.d.ts.map +0 -1
  192. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.js +0 -38
  193. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.js.map +0 -1
  194. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.d.ts +0 -2
  195. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.d.ts.map +0 -1
  196. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.js +0 -38
  197. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.js.map +0 -1
  198. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.d.ts +0 -2
  199. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.d.ts.map +0 -1
  200. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.js +0 -38
  201. package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.js.map +0 -1
  202. package/dist/cjs/tests/Metadata/useGetContractInfo.test.d.ts +0 -2
  203. package/dist/cjs/tests/Metadata/useGetContractInfo.test.d.ts.map +0 -1
  204. package/dist/cjs/tests/Metadata/useGetContractInfo.test.js +0 -33
  205. package/dist/cjs/tests/Metadata/useGetContractInfo.test.js.map +0 -1
  206. package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.d.ts +0 -2
  207. package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.d.ts.map +0 -1
  208. package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.js +0 -39
  209. package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.js.map +0 -1
  210. package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.d.ts +0 -2
  211. package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.d.ts.map +0 -1
  212. package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.js +0 -34
  213. package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.js.map +0 -1
  214. package/dist/cjs/tests/createWrapper.d.ts +0 -7
  215. package/dist/cjs/tests/createWrapper.d.ts.map +0 -1
  216. package/dist/cjs/tests/createWrapper.js +0 -29
  217. package/dist/cjs/tests/createWrapper.js.map +0 -1
  218. package/dist/cjs/tests/fixtures/nativeTokenBalance.d.ts +0 -7
  219. package/dist/cjs/tests/fixtures/nativeTokenBalance.d.ts.map +0 -1
  220. package/dist/cjs/tests/fixtures/nativeTokenBalance.js +0 -10
  221. package/dist/cjs/tests/fixtures/nativeTokenBalance.js.map +0 -1
  222. package/dist/cjs/tests/handlers.d.ts +0 -2
  223. package/dist/cjs/tests/handlers.d.ts.map +0 -1
  224. package/dist/cjs/tests/handlers.js +0 -274
  225. package/dist/cjs/tests/handlers.js.map +0 -1
  226. package/dist/cjs/tests/setup.d.ts +0 -3
  227. package/dist/cjs/tests/setup.d.ts.map +0 -1
  228. package/dist/cjs/tests/setup.js +0 -16
  229. package/dist/cjs/tests/setup.js.map +0 -1
  230. package/dist/cjs/tests/simple.test.d.ts +0 -2
  231. package/dist/cjs/tests/simple.test.d.ts.map +0 -1
  232. package/dist/cjs/tests/simple.test.js +0 -64
  233. package/dist/cjs/tests/simple.test.js.map +0 -1
  234. package/dist/cjs/tests/useConfig.test.d.ts +0 -2
  235. package/dist/cjs/tests/useConfig.test.d.ts.map +0 -1
  236. package/dist/cjs/tests/useConfig.test.js +0 -15
  237. package/dist/cjs/tests/useConfig.test.js.map +0 -1
  238. package/dist/cjs/types/hooks.d.ts +0 -5
  239. package/dist/cjs/types/hooks.d.ts.map +0 -1
  240. package/dist/cjs/types/hooks.js +0 -3
  241. package/dist/cjs/types/hooks.js.map +0 -1
  242. package/dist/cjs/utils/envstring.d.ts +0 -2
  243. package/dist/cjs/utils/envstring.d.ts.map +0 -1
  244. package/dist/cjs/utils/envstring.js +0 -10
  245. package/dist/cjs/utils/envstring.js.map +0 -1
  246. package/dist/cjs/utils/helpers.d.ts +0 -12
  247. package/dist/cjs/utils/helpers.d.ts.map +0 -1
  248. package/dist/cjs/utils/helpers.js +0 -66
  249. package/dist/cjs/utils/helpers.js.map +0 -1
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useIndexerClients = exports.useIndexerClient = void 0;
4
- const indexer_1 = require("@0xsequence/indexer");
5
- const network_1 = require("@0xsequence/network");
6
- const react_1 = require("react");
7
- const envstring_js_1 = require("../../utils/envstring.js");
8
- const useConfig_js_1 = require("../useConfig.js");
9
- const useNetwork_js_1 = require("../useNetwork.js");
10
- /**
11
- * Hook that creates and manages a Sequence Indexer client for a specific chain.
12
- *
13
- * This hook maintains a cached indexer client for the specified chain ID,
14
- * initializing it with the appropriate indexer URL based on the network
15
- * and environment configuration.
16
- *
17
- * Implementation details:
18
- * - Creates a new SequenceIndexer instance for the specified chain ID if it doesn't exist
19
- * - Caches the client in a Map to avoid recreating it unnecessarily
20
- * - Uses projectAccessKey for authentication
21
- * - Constructs appropriate indexer URL based on network and environment
22
- *
23
- * @param chainId - The chain ID to create an indexer client for
24
- * @returns A SequenceIndexer instance for the specified chain
25
- *
26
- * @throws Error if an indexer client cannot be created for the specified chain ID
27
- *
28
- * @example
29
- * ```typescript
30
- * const TokenBalanceChecker = () => {
31
- * const chainId = useChainId()
32
- * const indexerClient = useIndexerClient(chainId)
33
- * const { address } = useConnection()
34
- *
35
- * const checkBalance = async () => {
36
- * // Get native token balance
37
- * const nativeBalance = await indexerClient.getNativeTokenBalance({
38
- * accountAddress: address
39
- * })
40
- *
41
- * // Get token balances
42
- * const tokenBalances = await indexerClient.getTokenBalancesSummary({
43
- * filter: {
44
- * accountAddresses: [address],
45
- * contractStatus: ContractVerificationStatus.ALL,
46
- * omitNativeBalances: true
47
- * }
48
- * })
49
- * }
50
- * }
51
- * ```
52
- *
53
- * @remarks
54
- * - The client is memoized based on projectAccessKey to prevent recreation
55
- * - The client is initialized only once per chain ID
56
- * - The environment configuration determines the indexer URL for the network
57
- * - Throws an error if the chain ID is not supported or client creation fails
58
- * - Used internally by useIndexerClients to manage multiple chain clients
59
- */
60
- const useIndexerClient = (chainId) => {
61
- const { env, projectAccessKey, jwt } = (0, useConfig_js_1.useConfig)();
62
- const indexerClients = (0, react_1.useMemo)(() => {
63
- return new Map();
64
- }, [projectAccessKey, jwt]);
65
- const network = (0, useNetwork_js_1.useNetwork)(chainId);
66
- const indexerUrl = (0, envstring_js_1.envString)(env.indexerUrl, 'indexer', network.name);
67
- if (!indexerClients.has(chainId)) {
68
- indexerClients.set(chainId, new indexer_1.SequenceIndexer(indexerUrl, projectAccessKey, jwt));
69
- }
70
- const indexerClient = indexerClients.get(chainId);
71
- if (!indexerClient) {
72
- throw new Error(`Indexer client not found for chainId: ${chainId}, did you forget to add this Chain?`);
73
- }
74
- return indexerClient;
75
- };
76
- exports.useIndexerClient = useIndexerClient;
77
- /**
78
- * Hook that creates and manages Sequence Indexer clients for multiple chains.
79
- *
80
- * This hook maintains a map of indexer clients, one for each specified chain ID.
81
- * Each client is initialized with the appropriate indexer URL based on the network
82
- * and environment configuration.
83
- *
84
- * Implementation details:
85
- * - Creates a new SequenceIndexer instance for each unique chain ID
86
- * - Caches clients in a Map to avoid recreating them unnecessarily
87
- * - Uses projectAccessKey for authentication
88
- * - Constructs appropriate indexer URLs based on network and environment
89
- *
90
- * @param chainIds - Array of chain IDs to create indexer clients for
91
- * @returns A Map where keys are chain IDs and values are the corresponding SequenceIndexer instances
92
- *
93
- * @throws Error if an indexer client cannot be created for any of the specified chain IDs
94
- *
95
- *
96
- * @example
97
- * ```typescript
98
- * const TransactionFetcher = () => {
99
- * // Get indexer clients for Ethereum mainnet and Polygon
100
- * const indexerClients = useIndexerClients([1, 137])
101
- *
102
- * // Use the clients to fetch data
103
- * const fetchData = async () => {
104
- * // Get Ethereum client
105
- * const ethClient = indexerClients.get(1)
106
- * // Get Polygon client
107
- * const polygonClient = indexerClients.get(137)
108
- *
109
- * // Make parallel requests
110
- * const [ethData, polygonData] = await Promise.all([
111
- * ethClient.getTransactionHistory(...),
112
- * polygonClient.getTransactionHistory(...)
113
- * ])
114
- * }
115
- * }
116
- * ```
117
- *
118
- * @remarks
119
- * - The clients are memoized based on projectAccessKey to prevent recreation
120
- * - Each client is initialized only once per chain ID
121
- * - The environment configuration determines the indexer URL for each network
122
- * - Throws an error if a chain ID is not supported or client creation fails
123
- */
124
- const useIndexerClients = (chainIds) => {
125
- const { env, projectAccessKey, jwt } = (0, useConfig_js_1.useConfig)();
126
- const indexerClients = (0, react_1.useMemo)(() => {
127
- return new Map();
128
- }, [projectAccessKey, jwt]);
129
- const result = new Map();
130
- for (const chainId of chainIds) {
131
- const network = network_1.networks[chainId];
132
- const indexerUrl = (0, envstring_js_1.envString)(env.indexerUrl, 'indexer', network.name);
133
- if (!indexerClients.has(chainId)) {
134
- indexerClients.set(chainId, new indexer_1.SequenceIndexer(indexerUrl, projectAccessKey, jwt));
135
- }
136
- const indexerClient = indexerClients.get(chainId);
137
- if (!indexerClient) {
138
- throw new Error(`Indexer client not found for chainId: ${chainId}, did you forget to add this Chain?`);
139
- }
140
- result.set(chainId, indexerClient);
141
- }
142
- return result;
143
- };
144
- exports.useIndexerClients = useIndexerClients;
145
- //# sourceMappingURL=useIndexerClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useIndexerClient.js","sourceRoot":"","sources":["../../../../src/hooks/Indexer/useIndexerClient.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,iDAAuD;AACvD,iCAA+B;AAE/B,2DAAoD;AACpD,kDAA2C;AAC3C,oDAA6C;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACnD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAA,wBAAS,GAAE,CAAA;IAElD,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,OAAO,IAAI,GAAG,EAA4B,CAAA;IAC5C,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAA;IAE3B,MAAM,OAAO,GAAG,IAAA,0BAAU,EAAC,OAAO,CAAC,CAAA;IACnC,MAAM,UAAU,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAErE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,yBAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAA;IACrF,CAAC;IAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,qCAAqC,CAAC,CAAA;IACxG,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AArBY,QAAA,gBAAgB,oBAqB5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACI,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAE,EAAE;IACtD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAA,wBAAS,GAAE,CAAA;IAElD,MAAM,cAAc,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAClC,OAAO,IAAI,GAAG,EAA4B,CAAA;IAC5C,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAA;IAE3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;IAElD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,kBAAQ,CAAC,OAAkB,CAAC,CAAA;QAC5C,MAAM,UAAU,GAAG,IAAA,wBAAS,EAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAErE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,yBAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAA;QACrF,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,qCAAqC,CAAC,CAAA;QACxG,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA3BY,QAAA,iBAAiB,qBA2B7B"}
@@ -1,35 +0,0 @@
1
- import { type IndexerGateway, type TokenBalance } from '@0xsequence/indexer';
2
- import type { HooksOptions } from '../../types/hooks.js';
3
- /**
4
- * Hook to fetch native token balances (like ETH, POL) across multiple chains for a given address.
5
- * Uses the indexer gateway client to efficiently fetch balances in a single request.
6
- *
7
- * @param getNativeTokenBalanceArgs - Arguments for fetching native token balances
8
- * @param getNativeTokenBalanceArgs.accountAddress - The address to fetch balances for
9
- * @param getNativeTokenBalanceArgs.chainIds - Array of chain IDs to fetch balances from
10
- * @param options - Optional configuration for the query behavior
11
- *
12
- * @returns Query result containing an array of TokenBalance objects
13
- *
14
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetNativeTokenBalance} for more detailed documentation.
15
- *
16
- * @example
17
- * ```tsx
18
- * import { useGetNativeTokenBalance } from '@0xsequence/hooks'
19
- *
20
- * function NativeBalances() {
21
- * const { data: balances } = useGetNativeTokenBalance({
22
- * accountAddress: '0x123...',
23
- * chainIds: [1, 137] // Fetch ETH on Ethereum and MATIC on Polygon
24
- * })
25
- *
26
- * return balances?.map(balance => (
27
- * <div key={balance.chainId}>
28
- * Chain {balance.chainId}: {balance.balance}
29
- * </div>
30
- * ))
31
- * }
32
- * ```
33
- */
34
- export declare const useGetNativeTokenBalance: (args: IndexerGateway.GetNativeTokenBalanceArgs, options?: HooksOptions) => import("@tanstack/react-query").UseQueryResult<TokenBalance[], Error>;
35
- //# sourceMappingURL=useGetNativeTokenBalance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetNativeTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetNativeTokenBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAkBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,cAAc,CAAC,yBAAyB,EAAE,UAAU,YAAY,0EAU9G,CAAA"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useGetNativeTokenBalance = void 0;
4
- const react_query_1 = require("@tanstack/react-query");
5
- const constants_js_1 = require("../../constants.js");
6
- const helpers_js_1 = require("../../utils/helpers.js");
7
- const useIndexerGatewayClient_js_1 = require("./useIndexerGatewayClient.js");
8
- const getNativeTokenBalance = async (indexerGatewayClient, args) => {
9
- const res = await indexerGatewayClient.getNativeTokenBalance(args);
10
- const balances = res.balances.map(balances => (0, helpers_js_1.createNativeTokenBalance)(balances.chainId, balances.result.accountAddress, balances.result.balance));
11
- return balances;
12
- };
13
- /**
14
- * Hook to fetch native token balances (like ETH, POL) across multiple chains for a given address.
15
- * Uses the indexer gateway client to efficiently fetch balances in a single request.
16
- *
17
- * @param getNativeTokenBalanceArgs - Arguments for fetching native token balances
18
- * @param getNativeTokenBalanceArgs.accountAddress - The address to fetch balances for
19
- * @param getNativeTokenBalanceArgs.chainIds - Array of chain IDs to fetch balances from
20
- * @param options - Optional configuration for the query behavior
21
- *
22
- * @returns Query result containing an array of TokenBalance objects
23
- *
24
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetNativeTokenBalance} for more detailed documentation.
25
- *
26
- * @example
27
- * ```tsx
28
- * import { useGetNativeTokenBalance } from '@0xsequence/hooks'
29
- *
30
- * function NativeBalances() {
31
- * const { data: balances } = useGetNativeTokenBalance({
32
- * accountAddress: '0x123...',
33
- * chainIds: [1, 137] // Fetch ETH on Ethereum and MATIC on Polygon
34
- * })
35
- *
36
- * return balances?.map(balance => (
37
- * <div key={balance.chainId}>
38
- * Chain {balance.chainId}: {balance.balance}
39
- * </div>
40
- * ))
41
- * }
42
- * ```
43
- */
44
- const useGetNativeTokenBalance = (args, options) => {
45
- const indexerGatewayClient = (0, useIndexerGatewayClient_js_1.useIndexerGatewayClient)();
46
- return (0, react_query_1.useQuery)({
47
- queryKey: [constants_js_1.QUERY_KEYS.useGetNativeTokenBalance, args, options],
48
- queryFn: async () => await getNativeTokenBalance(indexerGatewayClient, args),
49
- retry: options?.retry ?? false,
50
- staleTime: constants_js_1.time.oneSecond * 30,
51
- enabled: !!args.accountAddress && !options?.disabled
52
- });
53
- };
54
- exports.useGetNativeTokenBalance = useGetNativeTokenBalance;
55
- //# sourceMappingURL=useGetNativeTokenBalance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetNativeTokenBalance.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetNativeTokenBalance.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAEhD,qDAAqD;AAErD,uDAAiE;AAEjE,6EAAsE;AAEtE,MAAM,qBAAqB,GAAG,KAAK,EACjC,oBAA4C,EAC5C,IAA8C,EACrB,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAElE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC3C,IAAA,qCAAwB,EAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CACpG,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACI,MAAM,wBAAwB,GAAG,CAAC,IAA8C,EAAE,OAAsB,EAAE,EAAE;IACjH,MAAM,oBAAoB,GAAG,IAAA,oDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,yBAAU,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC;QAC9D,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,qBAAqB,CAAC,oBAAoB,EAAE,IAAI,CAAC;QAC5E,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK;QAC9B,SAAS,EAAE,mBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,QAAQ;KACrD,CAAC,CAAA;AACJ,CAAC,CAAA;AAVY,QAAA,wBAAwB,4BAUpC"}
@@ -1,50 +0,0 @@
1
- import type { HooksOptions } from '../../types/hooks.js';
2
- export interface GetSingleTokenBalanceArgs {
3
- chainId: number;
4
- accountAddress: string;
5
- contractAddress: string;
6
- tokenId?: string;
7
- hideUnlistedTokens?: boolean;
8
- }
9
- /**
10
- * Hook to fetch the balance of a specific token (native or ERC20) for an account on a specific chain.
11
- * For native tokens, use ZERO_ADDRESS (0x0000...0000) as the contractAddress.
12
- *
13
- * @param args - Arguments for fetching the token balance
14
- * @param args.chainId - The chain ID to fetch the balance from
15
- * @param args.accountAddress - The address to fetch the balance for
16
- * @param args.contractAddress - The token contract address (use ZERO_ADDRESS for native tokens)
17
- * @param options - Optional configuration for the query behavior
18
- * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens
19
- *
20
- * @returns Query result containing the token balance
21
- *
22
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetSingleTokenBalance} for more detailed documentation.
23
- *
24
- * @example
25
- * ```tsx
26
- * import { useGetSingleTokenBalance, ZERO_ADDRESS } from '@0xsequence/hooks'
27
- *
28
- * // Fetch native ETH balance
29
- * function NativeBalance() {
30
- * const { data: ethBalance } = useGetSingleTokenBalance({
31
- * chainId: 1,
32
- * accountAddress: '0x123...',
33
- * contractAddress: ZERO_ADDRESS
34
- * })
35
- * return <div>ETH Balance: {ethBalance?.balance}</div>
36
- * }
37
- *
38
- * // Fetch USDC balance
39
- * function TokenBalance() {
40
- * const { data: usdcBalance } = useGetSingleTokenBalance({
41
- * chainId: 1,
42
- * accountAddress: '0x123...',
43
- * contractAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' // USDC
44
- * })
45
- * return <div>USDC Balance: {usdcBalance?.balance}</div>
46
- * }
47
- * ```
48
- */
49
- export declare const useGetSingleTokenBalance: (args: GetSingleTokenBalanceArgs, options?: HooksOptions) => import("@tanstack/react-query").UseQueryResult<import("@0xsequence/indexer").TokenBalance, Error>;
50
- //# sourceMappingURL=useGetSingleTokenBalance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetSingleTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetSingleTokenBalance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,wBAAwB,GAAI,MAAM,yBAAyB,EAAE,UAAU,YAAY,sGAoB/F,CAAA"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useGetSingleTokenBalance = void 0;
4
- const indexer_1 = require("@0xsequence/indexer");
5
- const react_query_1 = require("@tanstack/react-query");
6
- const constants_js_1 = require("../../constants.js");
7
- const helpers_js_1 = require("../../utils/helpers.js");
8
- const useIndexerGatewayClient_js_1 = require("./useIndexerGatewayClient.js");
9
- const getSingleTokenBalance = async (args, indexerGatewayClient) => {
10
- const balance = await indexerGatewayClient.getTokenBalancesDetails({
11
- chainIds: [args.chainId],
12
- filter: {
13
- accountAddresses: [args.accountAddress],
14
- contractWhitelist: [args.contractAddress],
15
- omitNativeBalances: false,
16
- contractStatus: args.hideUnlistedTokens ? indexer_1.ContractVerificationStatus.VERIFIED : indexer_1.ContractVerificationStatus.ALL
17
- }
18
- });
19
- if ((0, helpers_js_1.compareAddress)(args.contractAddress, constants_js_1.ZERO_ADDRESS)) {
20
- return (0, helpers_js_1.createNativeTokenBalance)(args.chainId, args.accountAddress, balance.nativeBalances[0].results[0].balance);
21
- }
22
- else {
23
- if (args.tokenId) {
24
- return balance.balances[0].results.find(result => result.tokenID === args.tokenId);
25
- }
26
- else {
27
- return balance.balances[0].results[0];
28
- }
29
- }
30
- };
31
- /**
32
- * Hook to fetch the balance of a specific token (native or ERC20) for an account on a specific chain.
33
- * For native tokens, use ZERO_ADDRESS (0x0000...0000) as the contractAddress.
34
- *
35
- * @param args - Arguments for fetching the token balance
36
- * @param args.chainId - The chain ID to fetch the balance from
37
- * @param args.accountAddress - The address to fetch the balance for
38
- * @param args.contractAddress - The token contract address (use ZERO_ADDRESS for native tokens)
39
- * @param options - Optional configuration for the query behavior
40
- * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens
41
- *
42
- * @returns Query result containing the token balance
43
- *
44
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetSingleTokenBalance} for more detailed documentation.
45
- *
46
- * @example
47
- * ```tsx
48
- * import { useGetSingleTokenBalance, ZERO_ADDRESS } from '@0xsequence/hooks'
49
- *
50
- * // Fetch native ETH balance
51
- * function NativeBalance() {
52
- * const { data: ethBalance } = useGetSingleTokenBalance({
53
- * chainId: 1,
54
- * accountAddress: '0x123...',
55
- * contractAddress: ZERO_ADDRESS
56
- * })
57
- * return <div>ETH Balance: {ethBalance?.balance}</div>
58
- * }
59
- *
60
- * // Fetch USDC balance
61
- * function TokenBalance() {
62
- * const { data: usdcBalance } = useGetSingleTokenBalance({
63
- * chainId: 1,
64
- * accountAddress: '0x123...',
65
- * contractAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' // USDC
66
- * })
67
- * return <div>USDC Balance: {usdcBalance?.balance}</div>
68
- * }
69
- * ```
70
- */
71
- const useGetSingleTokenBalance = (args, options) => {
72
- const indexerGatewayClient = (0, useIndexerGatewayClient_js_1.useIndexerGatewayClient)();
73
- return (0, react_query_1.useQuery)({
74
- queryKey: [constants_js_1.QUERY_KEYS.useGetSingleTokenBalance, args, options],
75
- queryFn: async () => {
76
- const tokenBalance = await getSingleTokenBalance(args, indexerGatewayClient);
77
- if (!tokenBalance) {
78
- throw new Error(`Token balance not found for ${args.accountAddress} on chain ${args.chainId} for contract ${args.contractAddress}`);
79
- }
80
- return tokenBalance;
81
- },
82
- retry: options?.retry ?? false,
83
- staleTime: constants_js_1.time.oneSecond * 30,
84
- enabled: !!args.chainId && !!args.accountAddress && !options?.disabled
85
- });
86
- };
87
- exports.useGetSingleTokenBalance = useGetSingleTokenBalance;
88
- //# sourceMappingURL=useGetSingleTokenBalance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetSingleTokenBalance.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetSingleTokenBalance.ts"],"names":[],"mappings":";;;AAAA,iDAA6F;AAC7F,uDAAgD;AAEhD,qDAAmE;AAEnE,uDAAiF;AAEjF,6EAAsE;AAUtE,MAAM,qBAAqB,GAAG,KAAK,EAAE,IAA+B,EAAE,oBAA4C,EAAE,EAAE;IACpH,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,uBAAuB,CAAC;QACjE,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QACxB,MAAM,EAAE;YACN,gBAAgB,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACvC,iBAAiB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACzC,kBAAkB,EAAE,KAAK;YACzB,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,oCAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,oCAA0B,CAAC,GAAG;SAC/G;KACF,CAAC,CAAA;IAEF,IAAI,IAAA,2BAAc,EAAC,IAAI,CAAC,eAAe,EAAE,2BAAY,CAAC,EAAE,CAAC;QACvD,OAAO,IAAA,qCAAwB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAClH,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,CAAA;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACI,MAAM,wBAAwB,GAAG,CAAC,IAA+B,EAAE,OAAsB,EAAE,EAAE;IAClG,MAAM,oBAAoB,GAAG,IAAA,oDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,yBAAU,CAAC,wBAAwB,EAAE,IAAI,EAAE,OAAO,CAAC;QAC9D,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;YAE5E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,CAAC,cAAc,aAAa,IAAI,CAAC,OAAO,iBAAiB,IAAI,CAAC,eAAe,EAAE,CACnH,CAAA;YACH,CAAC;YAED,OAAO,YAAY,CAAA;QACrB,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK;QAC9B,SAAS,EAAE,mBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,QAAQ;KACvE,CAAC,CAAA;AACJ,CAAC,CAAA;AApBY,QAAA,wBAAwB,4BAoBpC"}
@@ -1,61 +0,0 @@
1
- import { type IndexerGateway } from '@0xsequence/indexer';
2
- import type { HooksOptions } from '../../types/hooks.js';
3
- /**
4
- * Hook to fetch token balances by contract address.
5
- * Can be used to fetch multiple token balances in a single request.
6
- *
7
- * @param getTokenBalancesByContractArgs - Arguments for fetching token balances
8
- * @param getTokenBalancesByContractArgs.chainIds - Array of chain IDs to fetch balances from
9
- * @param getTokenBalancesByContractArgs.filter - Filter criteria for the query
10
- * @param getTokenBalancesByContractArgs.filter.contractAddresses - List of token contract addresses to fetch balances for
11
- * @param getTokenBalancesByContractArgs.filter.accountAddresses - Optional list of account addresses to fetch balances for
12
- * @param getTokenBalancesByContractArgs.filter.contractStatus - Optional filter for contract verification status
13
- * @param options - Optional configuration for the query behavior
14
- * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens from the results
15
- * @param options.disabled - If true, disables the query from automatically running
16
- * @param options.retry - If true, retries failed queries
17
- *
18
- * @returns Query result containing an array of TokenBalance objects with the following properties:
19
- * - `contractType`: Type of the token contract (ERC20, ERC721, ERC1155)
20
- * - `contractAddress`: Address of the token contract
21
- * - `accountAddress`: Address of the account holding the tokens
22
- * - `tokenID`: (for ERC721/ERC1155) ID of the token
23
- * - `balance`: Token balance as a string
24
- * - `blockHash`: Hash of the block where this balance was last updated
25
- * - `blockNumber`: Block number where this balance was last updated
26
- * - `chainId`: Chain ID where the token exists
27
- * - `contractInfo`: (optional) Additional token contract information including:
28
- * - `name`: Token name
29
- * - `symbol`: Token symbol
30
- * - `decimals`: Number of decimals (for ERC20)
31
- * - `logoURI`: URL of the token logo
32
- *
33
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetTokenBalancesByContract} for more detailed documentation.
34
- *
35
- * @example
36
- * ```tsx
37
- * function TokenBalances() {
38
- * const { data: balances } = useGetTokenBalancesByContract({
39
- * chainIds: [1], // Ethereum mainnet
40
- * filter: {
41
- * contractAddresses: [
42
- * '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // USDC
43
- * '0xdac17f958d2ee523a2206206994597c13d831ec7' // USDT
44
- * ],
45
- * accountAddresses: ['0x123...']
46
- * }
47
- * })
48
- *
49
- * return balances?.map(balance => (
50
- * <div key={balance.contractAddress}>
51
- * {balance.contractInfo?.symbol}: {balance.balance}
52
- * </div>
53
- * ))
54
- * }
55
- * ```
56
- */
57
- export declare const useGetTokenBalancesByContract: (args: IndexerGateway.GetTokenBalancesByContractArgs, options?: HooksOptions) => import("@tanstack/react-query").UseInfiniteQueryResult<import("@tanstack/react-query").InfiniteData<{
58
- balances: IndexerGateway.TokenBalance[];
59
- page: IndexerGateway.Page;
60
- }, unknown>, Error>;
61
- //# sourceMappingURL=useGetTokenBalancesByContract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetTokenBalancesByContract.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesByContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,cAAc,EAAa,MAAM,qBAAqB,CAAA;AAI5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAgBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,6BAA6B,GAAI,MAAM,cAAc,CAAC,8BAA8B,EAAE,UAAU,YAAY;;;mBAgBxH,CAAA"}
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useGetTokenBalancesByContract = void 0;
4
- const react_query_1 = require("@tanstack/react-query");
5
- const constants_js_1 = require("../../constants.js");
6
- const useIndexerGatewayClient_js_1 = require("./useIndexerGatewayClient.js");
7
- const getTokenBalancesByContract = async (indexerGatewayClient, args) => {
8
- const res = await indexerGatewayClient.getTokenBalancesByContract(args);
9
- return {
10
- balances: res.balances.flatMap(balance => balance.results),
11
- page: res.page
12
- };
13
- };
14
- /**
15
- * Hook to fetch token balances by contract address.
16
- * Can be used to fetch multiple token balances in a single request.
17
- *
18
- * @param getTokenBalancesByContractArgs - Arguments for fetching token balances
19
- * @param getTokenBalancesByContractArgs.chainIds - Array of chain IDs to fetch balances from
20
- * @param getTokenBalancesByContractArgs.filter - Filter criteria for the query
21
- * @param getTokenBalancesByContractArgs.filter.contractAddresses - List of token contract addresses to fetch balances for
22
- * @param getTokenBalancesByContractArgs.filter.accountAddresses - Optional list of account addresses to fetch balances for
23
- * @param getTokenBalancesByContractArgs.filter.contractStatus - Optional filter for contract verification status
24
- * @param options - Optional configuration for the query behavior
25
- * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens from the results
26
- * @param options.disabled - If true, disables the query from automatically running
27
- * @param options.retry - If true, retries failed queries
28
- *
29
- * @returns Query result containing an array of TokenBalance objects with the following properties:
30
- * - `contractType`: Type of the token contract (ERC20, ERC721, ERC1155)
31
- * - `contractAddress`: Address of the token contract
32
- * - `accountAddress`: Address of the account holding the tokens
33
- * - `tokenID`: (for ERC721/ERC1155) ID of the token
34
- * - `balance`: Token balance as a string
35
- * - `blockHash`: Hash of the block where this balance was last updated
36
- * - `blockNumber`: Block number where this balance was last updated
37
- * - `chainId`: Chain ID where the token exists
38
- * - `contractInfo`: (optional) Additional token contract information including:
39
- * - `name`: Token name
40
- * - `symbol`: Token symbol
41
- * - `decimals`: Number of decimals (for ERC20)
42
- * - `logoURI`: URL of the token logo
43
- *
44
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetTokenBalancesByContract} for more detailed documentation.
45
- *
46
- * @example
47
- * ```tsx
48
- * function TokenBalances() {
49
- * const { data: balances } = useGetTokenBalancesByContract({
50
- * chainIds: [1], // Ethereum mainnet
51
- * filter: {
52
- * contractAddresses: [
53
- * '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // USDC
54
- * '0xdac17f958d2ee523a2206206994597c13d831ec7' // USDT
55
- * ],
56
- * accountAddresses: ['0x123...']
57
- * }
58
- * })
59
- *
60
- * return balances?.map(balance => (
61
- * <div key={balance.contractAddress}>
62
- * {balance.contractInfo?.symbol}: {balance.balance}
63
- * </div>
64
- * ))
65
- * }
66
- * ```
67
- */
68
- const useGetTokenBalancesByContract = (args, options) => {
69
- const indexerGatewayClient = (0, useIndexerGatewayClient_js_1.useIndexerGatewayClient)();
70
- return (0, react_query_1.useInfiniteQuery)({
71
- queryKey: [constants_js_1.QUERY_KEYS.useGetTokenBalancesByContract, args, options],
72
- queryFn: ({ pageParam }) => {
73
- return getTokenBalancesByContract(indexerGatewayClient, { ...args, page: pageParam });
74
- },
75
- getNextPageParam: ({ page }) => {
76
- return page?.more ? page : undefined;
77
- },
78
- initialPageParam: { ...args?.page },
79
- retry: options?.retry ?? false,
80
- staleTime: constants_js_1.time.oneSecond * 30,
81
- enabled: args.filter.contractAddresses.length > 0 && !options?.disabled
82
- });
83
- };
84
- exports.useGetTokenBalancesByContract = useGetTokenBalancesByContract;
85
- //# sourceMappingURL=useGetTokenBalancesByContract.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetTokenBalancesByContract.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesByContract.ts"],"names":[],"mappings":";;;AACA,uDAAwD;AAExD,qDAAqD;AAGrD,6EAAsE;AAEtE,MAAM,0BAA0B,GAAG,KAAK,EACtC,oBAA4C,EAC5C,IAAmD,EACnD,EAAE;IACF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAA;IAEvE,OAAO;QACL,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1D,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAA;AACH,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACI,MAAM,6BAA6B,GAAG,CAAC,IAAmD,EAAE,OAAsB,EAAE,EAAE;IAC3H,MAAM,oBAAoB,GAAG,IAAA,oDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,8BAAgB,EAAC;QACtB,QAAQ,EAAE,CAAC,yBAAU,CAAC,6BAA6B,EAAE,IAAI,EAAE,OAAO,CAAC;QACnE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;YACzB,OAAO,0BAA0B,CAAC,oBAAoB,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC7B,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACtC,CAAC;QACD,gBAAgB,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAU;QAC3C,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK;QAC9B,SAAS,EAAE,mBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ;KACxE,CAAC,CAAA;AACJ,CAAC,CAAA;AAhBY,QAAA,6BAA6B,iCAgBzC"}
@@ -1,99 +0,0 @@
1
- import { type IndexerGateway, type TokenBalance } from '@0xsequence/indexer';
2
- import type { HooksOptions } from '../../types/hooks.js';
3
- /**
4
- * Hook to fetch detailed token balances including individual token metadata.
5
- *
6
- * Key differences from other balance hooks:
7
- * - useGetTokenBalancesSummary: Returns basic token info, faster but less detailed
8
- * - useGetTokenBalancesByContract: Only fetches specific contracts
9
- * - useGetSingleTokenBalanceSummary: Fetches a single token balance
10
- *
11
- * This hook is best used when you need full token details, especially for NFTs and collectibles
12
- * where metadata is important (images, attributes, etc).
13
- * Results are sorted by type: native tokens first, then ERC20s, then collectibles.
14
- *
15
- * @param getTokenBalancesDetailsArgs - Arguments for fetching token balances
16
- * @param getTokenBalancesDetailsArgs.chainIds - Array of chain IDs to fetch balances from
17
- * @param getTokenBalancesDetailsArgs.filter - Filter criteria for the query
18
- * @param getTokenBalancesDetailsArgs.filter.accountAddresses - List of account addresses to fetch balances for
19
- * @param getTokenBalancesDetailsArgs.filter.contractWhitelist - Optional list of contracts to include
20
- * @param getTokenBalancesDetailsArgs.filter.contractBlacklist - Optional list of contracts to exclude
21
- * @param getTokenBalancesDetailsArgs.filter.omitNativeBalances - If true, excludes native token balances
22
- * @param getTokenBalancesDetailsArgs.filter.contractStatus - Optional filter for contract verification status
23
- * @param options - Optional configuration for the query behavior
24
- * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens
25
- * @param options.disabled - If true, disables the query from automatically running
26
- * @param options.retry - If true (default), retries failed queries
27
- *
28
- * Query configuration:
29
- * - Marks data as stale after 30 seconds
30
- * - Retries failed requests by default
31
- * - Only enabled when account address is present and not explicitly disabled
32
- *
33
- * @returns Query result containing an array of TokenBalance objects with detailed information:
34
- * - `contractType`: Type of the token contract (NATIVE, ERC20, ERC721, ERC1155)
35
- * - `contractAddress`: Address of the token contract
36
- * - `accountAddress`: Address of the account holding the tokens
37
- * - `tokenID`: (for NFTs) ID of the token
38
- * - `balance`: Token balance as a string
39
- * - `blockHash`: Hash of the block where this balance was last updated
40
- * - `blockNumber`: Block number where this balance was last updated
41
- * - `chainId`: Chain ID where the token exists
42
- * - `contractInfo`: Additional token contract information including:
43
- * - `name`: Token name
44
- * - `symbol`: Token symbol
45
- * - `decimals`: Number of decimals
46
- * - `logoURI`: URL of the token logo
47
- * - `tokenMetadata`: (for NFTs) Detailed token metadata including:
48
- * - `name`: Token name
49
- * - `description`: Token description
50
- * - `image`: Token image URL
51
- * - `attributes`: Array of token attributes
52
- *
53
- * @see {@link https://docs.sequence.xyz/sdk/web/hooks-sdk/hooks/useGetTokenBalancesDetails} for more detailed documentation.
54
- *
55
- * @example
56
- * ```tsx
57
- * import { useGetTokenBalancesDetails } from '@0xsequence/hooks'
58
- *
59
- * // Fetch all token balances with full details
60
- * function TokenList() {
61
- * const { data: tokens } = useGetTokenBalancesDetails({
62
- * chainIds: [1], // Ethereum mainnet
63
- * filter: {
64
- * accountAddresses: ['0x123...'],
65
- * omitNativeBalances: false,
66
- * // Optional: only include specific tokens
67
- * contractWhitelist: ['0x...', '0x...'],
68
- * // Optional: exclude specific tokens
69
- * contractBlacklist: ['0x...']
70
- * }
71
- * })
72
- *
73
- * return tokens?.map(token => (
74
- * <div key={`${token.chainId}-${token.contractAddress}-${token.tokenID}`}>
75
- * {token.contractType === 'ERC721' ? (
76
- * // NFT display with metadata
77
- * <NFTCard
78
- * name={token.tokenMetadata?.name}
79
- * image={token.tokenMetadata?.image}
80
- * attributes={token.tokenMetadata?.attributes}
81
- * />
82
- * ) : (
83
- * // Regular token display
84
- * <TokenRow
85
- * symbol={token.contractInfo?.symbol}
86
- * balance={token.balance}
87
- * decimals={token.contractInfo?.decimals}
88
- * />
89
- * )}
90
- * </div>
91
- * ))
92
- * }
93
- * ```
94
- */
95
- export declare const useGetTokenBalancesDetails: (args: IndexerGateway.GetTokenBalancesDetailsArgs, options?: HooksOptions) => import("@tanstack/react-query").UseInfiniteQueryResult<import("@tanstack/react-query").InfiniteData<{
96
- balances: TokenBalance[];
97
- page: IndexerGateway.Page;
98
- }, unknown>, Error>;
99
- //# sourceMappingURL=useGetTokenBalancesDetails.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGetTokenBalancesDetails.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,cAAc,EAAa,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAI/G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAmCxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,eAAO,MAAM,0BAA0B,GAAI,MAAM,cAAc,CAAC,2BAA2B,EAAE,UAAU,YAAY;;;mBAgBlH,CAAA"}