@0xsequence/hooks 6.0.0-beta.3 → 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.
- package/LICENSE +1 -1
- package/dist/esm/contexts/ConfigContext.d.ts +2 -0
- package/dist/esm/contexts/ConfigContext.d.ts.map +1 -1
- package/dist/esm/contexts/ConfigContext.js +2 -0
- package/dist/esm/contexts/ConfigContext.js.map +1 -1
- package/dist/esm/hooks/Indexer/useGetTransactionHistory.d.ts +2 -0
- package/dist/esm/hooks/Indexer/useGetTransactionHistory.d.ts.map +1 -1
- package/dist/esm/hooks/Indexer/useIndexerClient.d.ts +2 -2
- package/dist/esm/hooks/Indexer/useIndexerClient.d.ts.map +1 -1
- package/dist/esm/hooks/Indexer/useIndexerClient.js +1 -1
- package/dist/esm/hooks/Indexer/useIndexerClient.js.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts +2 -1
- package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.js.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts +2 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.js.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts +2 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.js.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts +2 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts.map +1 -1
- package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.js.map +1 -1
- package/dist/esm/hooks/Metadata/useGetContractInfo.d.ts.map +1 -1
- package/dist/esm/hooks/Metadata/useGetContractInfo.js +1 -1
- package/dist/esm/hooks/Metadata/useGetContractInfo.js.map +1 -1
- package/dist/esm/hooks/useNetwork.d.ts +1 -1
- package/dist/esm/hooks/useNetwork.d.ts.map +1 -1
- package/dist/esm/hooks/useNetwork.js +1 -1
- package/dist/esm/hooks/useNetwork.js.map +1 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tests/IndexerGateway/useGetTokenBalancesByContract.test.js.map +1 -1
- package/dist/esm/tests/IndexerGateway/useGetTokenBalancesDetails.test.js.map +1 -1
- package/dist/esm/tests/IndexerGateway/useGetTokenBalancesSummary.test.js.map +1 -1
- package/dist/esm/utils/helpers.d.ts.map +1 -1
- package/dist/esm/utils/helpers.js +2 -0
- package/dist/esm/utils/helpers.js.map +1 -1
- package/dist/esm/utils/networks.d.ts +83 -0
- package/dist/esm/utils/networks.d.ts.map +1 -0
- package/dist/esm/utils/networks.js +52 -0
- package/dist/esm/utils/networks.js.map +1 -0
- package/package.json +15 -18
- package/dist/cjs/constants.d.ts +0 -29
- package/dist/cjs/constants.d.ts.map +0 -1
- package/dist/cjs/constants.js +0 -33
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/contexts/ConfigContext.d.ts +0 -27
- package/dist/cjs/contexts/ConfigContext.d.ts.map +0 -1
- package/dist/cjs/contexts/ConfigContext.js +0 -30
- package/dist/cjs/contexts/ConfigContext.js.map +0 -1
- package/dist/cjs/hooks/API/useAPIClient.d.ts +0 -39
- package/dist/cjs/hooks/API/useAPIClient.d.ts.map +0 -1
- package/dist/cjs/hooks/API/useAPIClient.js +0 -51
- package/dist/cjs/hooks/API/useAPIClient.js.map +0 -1
- package/dist/cjs/hooks/API/useGetCoinPrices.d.ts +0 -49
- package/dist/cjs/hooks/API/useGetCoinPrices.d.ts.map +0 -1
- package/dist/cjs/hooks/API/useGetCoinPrices.js +0 -78
- package/dist/cjs/hooks/API/useGetCoinPrices.js.map +0 -1
- package/dist/cjs/hooks/API/useGetCollectiblePrices.d.ts +0 -54
- package/dist/cjs/hooks/API/useGetCollectiblePrices.d.ts.map +0 -1
- package/dist/cjs/hooks/API/useGetCollectiblePrices.js +0 -83
- package/dist/cjs/hooks/API/useGetCollectiblePrices.js.map +0 -1
- package/dist/cjs/hooks/API/useGetExchangeRate.d.ts +0 -42
- package/dist/cjs/hooks/API/useGetExchangeRate.d.ts.map +0 -1
- package/dist/cjs/hooks/API/useGetExchangeRate.js +0 -63
- package/dist/cjs/hooks/API/useGetExchangeRate.js.map +0 -1
- package/dist/cjs/hooks/API/useGetWaasStatus.d.ts +0 -48
- package/dist/cjs/hooks/API/useGetWaasStatus.d.ts.map +0 -1
- package/dist/cjs/hooks/API/useGetWaasStatus.js +0 -49
- package/dist/cjs/hooks/API/useGetWaasStatus.js.map +0 -1
- package/dist/cjs/hooks/Builder/useDetectContractVersion.d.ts +0 -30
- package/dist/cjs/hooks/Builder/useDetectContractVersion.d.ts.map +0 -1
- package/dist/cjs/hooks/Builder/useDetectContractVersion.js +0 -26
- package/dist/cjs/hooks/Builder/useDetectContractVersion.js.map +0 -1
- package/dist/cjs/hooks/Combination/useGetSwapQuote.d.ts +0 -97
- package/dist/cjs/hooks/Combination/useGetSwapQuote.d.ts.map +0 -1
- package/dist/cjs/hooks/Combination/useGetSwapQuote.js +0 -123
- package/dist/cjs/hooks/Combination/useGetSwapQuote.js.map +0 -1
- package/dist/cjs/hooks/Combination/useGetSwapRoutes.d.ts +0 -61
- package/dist/cjs/hooks/Combination/useGetSwapRoutes.d.ts.map +0 -1
- package/dist/cjs/hooks/Combination/useGetSwapRoutes.js +0 -83
- package/dist/cjs/hooks/Combination/useGetSwapRoutes.js.map +0 -1
- package/dist/cjs/hooks/Indexer/useGetTransactionHistory.d.ts +0 -97
- package/dist/cjs/hooks/Indexer/useGetTransactionHistory.d.ts.map +0 -1
- package/dist/cjs/hooks/Indexer/useGetTransactionHistory.js +0 -131
- package/dist/cjs/hooks/Indexer/useGetTransactionHistory.js.map +0 -1
- package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.d.ts +0 -76
- package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.d.ts.map +0 -1
- package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.js +0 -115
- package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.js.map +0 -1
- package/dist/cjs/hooks/Indexer/useIndexerClient.d.ts +0 -102
- package/dist/cjs/hooks/Indexer/useIndexerClient.d.ts.map +0 -1
- package/dist/cjs/hooks/Indexer/useIndexerClient.js +0 -145
- package/dist/cjs/hooks/Indexer/useIndexerClient.js.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts +0 -35
- package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.js +0 -55
- package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.js.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.d.ts +0 -50
- package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.d.ts.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.js +0 -88
- package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalance.js.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts +0 -61
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.js +0 -85
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.js.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts +0 -99
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.js +0 -136
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.js.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts +0 -74
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.js +0 -111
- package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.js.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.d.ts +0 -29
- package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.d.ts.map +0 -1
- package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.js +0 -41
- package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.js.map +0 -1
- package/dist/cjs/hooks/Metadata/useGetContractInfo.d.ts +0 -68
- package/dist/cjs/hooks/Metadata/useGetContractInfo.d.ts.map +0 -1
- package/dist/cjs/hooks/Metadata/useGetContractInfo.js +0 -96
- package/dist/cjs/hooks/Metadata/useGetContractInfo.js.map +0 -1
- package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.d.ts +0 -95
- package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.d.ts.map +0 -1
- package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.js +0 -118
- package/dist/cjs/hooks/Metadata/useGetMultipleContractsInfo.js.map +0 -1
- package/dist/cjs/hooks/Metadata/useGetTokenMetadata.d.ts +0 -89
- package/dist/cjs/hooks/Metadata/useGetTokenMetadata.d.ts.map +0 -1
- package/dist/cjs/hooks/Metadata/useGetTokenMetadata.js +0 -123
- package/dist/cjs/hooks/Metadata/useGetTokenMetadata.js.map +0 -1
- package/dist/cjs/hooks/Metadata/useMetadataClient.d.ts +0 -39
- package/dist/cjs/hooks/Metadata/useMetadataClient.d.ts.map +0 -1
- package/dist/cjs/hooks/Metadata/useMetadataClient.js +0 -51
- package/dist/cjs/hooks/Metadata/useMetadataClient.js.map +0 -1
- package/dist/cjs/hooks/useClearCachedBalances.d.ts +0 -4
- package/dist/cjs/hooks/useClearCachedBalances.d.ts.map +0 -1
- package/dist/cjs/hooks/useClearCachedBalances.js +0 -17
- package/dist/cjs/hooks/useClearCachedBalances.js.map +0 -1
- package/dist/cjs/hooks/useClipboard.d.ts +0 -6
- package/dist/cjs/hooks/useClipboard.d.ts.map +0 -1
- package/dist/cjs/hooks/useClipboard.js +0 -34
- package/dist/cjs/hooks/useClipboard.js.map +0 -1
- package/dist/cjs/hooks/useConfig.d.ts +0 -47
- package/dist/cjs/hooks/useConfig.d.ts.map +0 -1
- package/dist/cjs/hooks/useConfig.js +0 -59
- package/dist/cjs/hooks/useConfig.js.map +0 -1
- package/dist/cjs/hooks/useNetwork.d.ts +0 -2
- package/dist/cjs/hooks/useNetwork.d.ts.map +0 -1
- package/dist/cjs/hooks/useNetwork.js +0 -9
- package/dist/cjs/hooks/useNetwork.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -27
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -67
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/tests/API/useGetCoinPrices.test.d.ts +0 -2
- package/dist/cjs/tests/API/useGetCoinPrices.test.d.ts.map +0 -1
- package/dist/cjs/tests/API/useGetCoinPrices.test.js +0 -36
- package/dist/cjs/tests/API/useGetCoinPrices.test.js.map +0 -1
- package/dist/cjs/tests/API/useGetCollectiblePrices.test.d.ts +0 -2
- package/dist/cjs/tests/API/useGetCollectiblePrices.test.d.ts.map +0 -1
- package/dist/cjs/tests/API/useGetCollectiblePrices.test.js +0 -36
- package/dist/cjs/tests/API/useGetCollectiblePrices.test.js.map +0 -1
- package/dist/cjs/tests/API/useGetExchangeRate.test.d.ts +0 -2
- package/dist/cjs/tests/API/useGetExchangeRate.test.d.ts.map +0 -1
- package/dist/cjs/tests/API/useGetExchangeRate.test.js +0 -29
- package/dist/cjs/tests/API/useGetExchangeRate.test.js.map +0 -1
- package/dist/cjs/tests/Combination/useGetSwapQuote.test.d.ts +0 -2
- package/dist/cjs/tests/Combination/useGetSwapQuote.test.d.ts.map +0 -1
- package/dist/cjs/tests/Combination/useGetSwapQuote.test.js +0 -57
- package/dist/cjs/tests/Combination/useGetSwapQuote.test.js.map +0 -1
- package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.d.ts +0 -2
- package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.d.ts.map +0 -1
- package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.js +0 -35
- package/dist/cjs/tests/Indexer/useGetTransactionHistory.test.js.map +0 -1
- package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.d.ts +0 -2
- package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.d.ts.map +0 -1
- package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.js +0 -34
- package/dist/cjs/tests/Indexer/useGetTransactionHistorySummary.test.js.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.d.ts +0 -2
- package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.d.ts.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.js +0 -34
- package/dist/cjs/tests/IndexerGateway/useGetNativeTokenBalance.test.js.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.d.ts +0 -2
- package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.d.ts.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.js +0 -35
- package/dist/cjs/tests/IndexerGateway/useGetSingleTokenBalanceSummary.test.js.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.d.ts +0 -2
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.d.ts.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.js +0 -38
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesByContract.test.js.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.d.ts +0 -2
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.d.ts.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.js +0 -38
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesDetails.test.js.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.d.ts +0 -2
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.d.ts.map +0 -1
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.js +0 -38
- package/dist/cjs/tests/IndexerGateway/useGetTokenBalancesSummary.test.js.map +0 -1
- package/dist/cjs/tests/Metadata/useGetContractInfo.test.d.ts +0 -2
- package/dist/cjs/tests/Metadata/useGetContractInfo.test.d.ts.map +0 -1
- package/dist/cjs/tests/Metadata/useGetContractInfo.test.js +0 -33
- package/dist/cjs/tests/Metadata/useGetContractInfo.test.js.map +0 -1
- package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.d.ts +0 -2
- package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.d.ts.map +0 -1
- package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.js +0 -39
- package/dist/cjs/tests/Metadata/useGetMultipleContractsInfo.test.js.map +0 -1
- package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.d.ts +0 -2
- package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.d.ts.map +0 -1
- package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.js +0 -34
- package/dist/cjs/tests/Metadata/useGetTokenMetadata.test.js.map +0 -1
- package/dist/cjs/tests/createWrapper.d.ts +0 -7
- package/dist/cjs/tests/createWrapper.d.ts.map +0 -1
- package/dist/cjs/tests/createWrapper.js +0 -29
- package/dist/cjs/tests/createWrapper.js.map +0 -1
- package/dist/cjs/tests/fixtures/nativeTokenBalance.d.ts +0 -7
- package/dist/cjs/tests/fixtures/nativeTokenBalance.d.ts.map +0 -1
- package/dist/cjs/tests/fixtures/nativeTokenBalance.js +0 -10
- package/dist/cjs/tests/fixtures/nativeTokenBalance.js.map +0 -1
- package/dist/cjs/tests/handlers.d.ts +0 -2
- package/dist/cjs/tests/handlers.d.ts.map +0 -1
- package/dist/cjs/tests/handlers.js +0 -274
- package/dist/cjs/tests/handlers.js.map +0 -1
- package/dist/cjs/tests/setup.d.ts +0 -3
- package/dist/cjs/tests/setup.d.ts.map +0 -1
- package/dist/cjs/tests/setup.js +0 -16
- package/dist/cjs/tests/setup.js.map +0 -1
- package/dist/cjs/tests/simple.test.d.ts +0 -2
- package/dist/cjs/tests/simple.test.d.ts.map +0 -1
- package/dist/cjs/tests/simple.test.js +0 -64
- package/dist/cjs/tests/simple.test.js.map +0 -1
- package/dist/cjs/tests/useConfig.test.d.ts +0 -2
- package/dist/cjs/tests/useConfig.test.d.ts.map +0 -1
- package/dist/cjs/tests/useConfig.test.js +0 -15
- package/dist/cjs/tests/useConfig.test.js.map +0 -1
- package/dist/cjs/types/hooks.d.ts +0 -5
- package/dist/cjs/types/hooks.d.ts.map +0 -1
- package/dist/cjs/types/hooks.js +0 -3
- package/dist/cjs/types/hooks.js.map +0 -1
- package/dist/cjs/utils/envstring.d.ts +0 -2
- package/dist/cjs/utils/envstring.d.ts.map +0 -1
- package/dist/cjs/utils/envstring.js +0 -10
- package/dist/cjs/utils/envstring.js.map +0 -1
- package/dist/cjs/utils/helpers.d.ts +0 -12
- package/dist/cjs/utils/helpers.d.ts.map +0 -1
- package/dist/cjs/utils/helpers.js +0 -66
- 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"}
|