@0xsequence/hooks 5.1.1 → 5.2.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 (69) hide show
  1. package/dist/cjs/hooks/Combination/useGetSwapQuote.d.ts.map +1 -1
  2. package/dist/cjs/hooks/Combination/useGetSwapQuote.js +7 -1
  3. package/dist/cjs/hooks/Combination/useGetSwapQuote.js.map +1 -1
  4. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.d.ts +7 -2
  5. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.d.ts.map +1 -1
  6. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.js +3 -3
  7. package/dist/cjs/hooks/Indexer/useGetTransactionHistorySummary.js.map +1 -1
  8. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts +29 -1
  9. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts.map +1 -1
  10. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.js +29 -1
  11. package/dist/cjs/hooks/IndexerGateway/useGetNativeTokenBalance.js.map +1 -1
  12. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.d.ts +38 -1
  13. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.d.ts.map +1 -1
  14. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.js +38 -1
  15. package/dist/cjs/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.js.map +1 -1
  16. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts +52 -1
  17. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts.map +1 -1
  18. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.js +52 -1
  19. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesByContract.js.map +1 -1
  20. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts +90 -1
  21. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts.map +1 -1
  22. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.js +90 -1
  23. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesDetails.js.map +1 -1
  24. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts +65 -1
  25. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts.map +1 -1
  26. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.js +65 -1
  27. package/dist/cjs/hooks/IndexerGateway/useGetTokenBalancesSummary.js.map +1 -1
  28. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.d.ts +26 -0
  29. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.d.ts.map +1 -1
  30. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.js +26 -0
  31. package/dist/cjs/hooks/IndexerGateway/useIndexerGatewayClient.js.map +1 -1
  32. package/dist/cjs/tests/handlers.d.ts.map +1 -1
  33. package/dist/cjs/tests/handlers.js +20 -0
  34. package/dist/cjs/tests/handlers.js.map +1 -1
  35. package/dist/esm/hooks/Combination/useGetSwapQuote.d.ts.map +1 -1
  36. package/dist/esm/hooks/Combination/useGetSwapQuote.js +7 -1
  37. package/dist/esm/hooks/Combination/useGetSwapQuote.js.map +1 -1
  38. package/dist/esm/hooks/Indexer/useGetTransactionHistorySummary.d.ts +7 -2
  39. package/dist/esm/hooks/Indexer/useGetTransactionHistorySummary.d.ts.map +1 -1
  40. package/dist/esm/hooks/Indexer/useGetTransactionHistorySummary.js +3 -3
  41. package/dist/esm/hooks/Indexer/useGetTransactionHistorySummary.js.map +1 -1
  42. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts +29 -1
  43. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.d.ts.map +1 -1
  44. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.js +29 -1
  45. package/dist/esm/hooks/IndexerGateway/useGetNativeTokenBalance.js.map +1 -1
  46. package/dist/esm/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.d.ts +38 -1
  47. package/dist/esm/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.d.ts.map +1 -1
  48. package/dist/esm/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.js +38 -1
  49. package/dist/esm/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.js.map +1 -1
  50. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts +52 -1
  51. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.d.ts.map +1 -1
  52. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.js +52 -1
  53. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesByContract.js.map +1 -1
  54. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts +90 -1
  55. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.d.ts.map +1 -1
  56. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.js +90 -1
  57. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesDetails.js.map +1 -1
  58. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts +65 -1
  59. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.d.ts.map +1 -1
  60. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.js +65 -1
  61. package/dist/esm/hooks/IndexerGateway/useGetTokenBalancesSummary.js.map +1 -1
  62. package/dist/esm/hooks/IndexerGateway/useIndexerGatewayClient.d.ts +26 -0
  63. package/dist/esm/hooks/IndexerGateway/useIndexerGatewayClient.d.ts.map +1 -1
  64. package/dist/esm/hooks/IndexerGateway/useIndexerGatewayClient.js +26 -0
  65. package/dist/esm/hooks/IndexerGateway/useIndexerGatewayClient.js.map +1 -1
  66. package/dist/esm/tests/handlers.d.ts.map +1 -1
  67. package/dist/esm/tests/handlers.js +20 -0
  68. package/dist/esm/tests/handlers.js.map +1 -1
  69. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"useGetSwapQuote.d.ts","sourceRoot":"","sources":["../../../../src/hooks/Combination/useGetSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,eAAO,MAAM,eAAe,GAAI,kBAAkB,kBAAkB,EAAE,UAAU,YAAY;;;;;;;;;SA4B3F,CAAA"}
1
+ {"version":3,"file":"useGetSwapQuote.d.ts","sourceRoot":"","sources":["../../../../src/hooks/Combination/useGetSwapQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,eAAO,MAAM,eAAe,GAAI,kBAAkB,kBAAkB,EAAE,UAAU,YAAY;;;;;;;;;SAkC3F,CAAA"}
@@ -102,7 +102,13 @@ const useGetSwapQuote = (getSwapQuoteArgs, options) => {
102
102
  },
103
103
  retry: options?.retry ?? true,
104
104
  staleTime: constants_1.time.oneMinute * 1,
105
- enabled: !options?.disabled || !getSwapQuoteArgs.userAddress || !getSwapQuoteArgs.chainId || !getSwapQuoteArgs.buyCurrencyAddress
105
+ enabled: !options?.disabled &&
106
+ !!getSwapQuoteArgs.userAddress &&
107
+ !!getSwapQuoteArgs.buyCurrencyAddress &&
108
+ !!getSwapQuoteArgs.sellCurrencyAddress &&
109
+ getSwapQuoteArgs.buyAmount !== '0' &&
110
+ !!getSwapQuoteArgs.chainId &&
111
+ !!getSwapQuoteArgs.includeApprove
106
112
  });
107
113
  };
108
114
  exports.useGetSwapQuote = useGetSwapQuote;
@@ -1 +1 @@
1
- {"version":3,"file":"useGetSwapQuote.js","sourceRoot":"","sources":["../../../../src/hooks/Combination/useGetSwapQuote.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAEhD,+CAAgE;AAEhE,iDAAoD;AACpD,sDAAkD;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACI,MAAM,eAAe,GAAG,CAAC,gBAAoC,EAAE,OAAsB,EAAE,EAAE;IAC9F,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAA;IAEhC,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,CAAC;QACjE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;gBACzC,GAAG,gBAAgB;gBACnB,kBAAkB,EAAE,IAAA,wBAAc,EAAC,gBAAgB,CAAC,kBAAkB,EAAE,wBAAY,CAAC;oBACnF,CAAC,CAAC,wBAAY;oBACd,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;gBACvC,mBAAmB,EAAE,IAAA,wBAAc,EAAC,gBAAgB,CAAC,mBAAmB,EAAE,wBAAY,CAAC;oBACrF,CAAC,CAAC,wBAAY;oBACd,CAAC,CAAC,gBAAgB,CAAC,mBAAmB;aACzC,CAAC,CAAA;YAEF,OAAO;gBACL,GAAG,GAAG,CAAC,SAAS;gBAChB,eAAe,EAAE,IAAA,wBAAc,EAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAY,CAAC;oBAC1E,CAAC,CAAC,wBAAY;oBACd,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe;aAClC,CAAA;QACH,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,CAAC;QAC7B,OAAO,EACL,CAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;KAC3H,CAAC,CAAA;AACJ,CAAC,CAAA;AA5BY,QAAA,eAAe,mBA4B3B"}
1
+ {"version":3,"file":"useGetSwapQuote.js","sourceRoot":"","sources":["../../../../src/hooks/Combination/useGetSwapQuote.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAEhD,+CAAgE;AAEhE,iDAAoD;AACpD,sDAAkD;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACI,MAAM,eAAe,GAAG,CAAC,gBAAoC,EAAE,OAAsB,EAAE,EAAE;IAC9F,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAA;IAEhC,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,CAAC;QACjE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC;gBACzC,GAAG,gBAAgB;gBACnB,kBAAkB,EAAE,IAAA,wBAAc,EAAC,gBAAgB,CAAC,kBAAkB,EAAE,wBAAY,CAAC;oBACnF,CAAC,CAAC,wBAAY;oBACd,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;gBACvC,mBAAmB,EAAE,IAAA,wBAAc,EAAC,gBAAgB,CAAC,mBAAmB,EAAE,wBAAY,CAAC;oBACrF,CAAC,CAAC,wBAAY;oBACd,CAAC,CAAC,gBAAgB,CAAC,mBAAmB;aACzC,CAAC,CAAA;YAEF,OAAO;gBACL,GAAG,GAAG,CAAC,SAAS;gBAChB,eAAe,EAAE,IAAA,wBAAc,EAAC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAY,CAAC;oBAC1E,CAAC,CAAC,wBAAY;oBACd,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe;aAClC,CAAA;QACH,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,CAAC;QAC7B,OAAO,EACL,CAAC,OAAO,EAAE,QAAQ;YAClB,CAAC,CAAC,gBAAgB,CAAC,WAAW;YAC9B,CAAC,CAAC,gBAAgB,CAAC,kBAAkB;YACrC,CAAC,CAAC,gBAAgB,CAAC,mBAAmB;YACtC,gBAAgB,CAAC,SAAS,KAAK,GAAG;YAClC,CAAC,CAAC,gBAAgB,CAAC,OAAO;YAC1B,CAAC,CAAC,gBAAgB,CAAC,cAAc;KACpC,CAAC,CAAA;AACJ,CAAC,CAAA;AAlCY,QAAA,eAAe,mBAkC3B"}
@@ -1,9 +1,14 @@
1
1
  import { Transaction } from '@0xsequence/indexer';
2
2
  import { HooksOptions } from '../../types';
3
- export interface GetTransactionHistorySummaryArgs {
3
+ export type GetTransactionHistorySummaryArgs = {
4
4
  accountAddress: string;
5
+ accountAddresses?: never;
5
6
  chainIds: number[];
6
- }
7
+ } | {
8
+ accountAddress?: never;
9
+ accountAddresses: string[];
10
+ chainIds: number[];
11
+ };
7
12
  /**
8
13
  * A hook that retrieves a comprehensive transaction history summary across multiple chains for a given account address.
9
14
  * The transactions are ordered by timestamp (newest first) and include detailed transfer information.
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTransactionHistorySummary.d.ts","sourceRoot":"","sources":["../../../../src/hooks/Indexer/useGetTransactionHistorySummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAKlE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,WAAW,gCAAgC;IAC/C,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,eAAO,MAAM,+BAA+B,GAC1C,kCAAkC,gCAAgC,EAClE,UAAU,YAAY,yEAiBvB,CAAA"}
1
+ {"version":3,"file":"useGetTransactionHistorySummary.d.ts","sourceRoot":"","sources":["../../../../src/hooks/Indexer/useGetTransactionHistorySummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAKlE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,MAAM,gCAAgC,GACxC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACxE;IAAE,cAAc,CAAC,EAAE,KAAK,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAoC9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,eAAO,MAAM,+BAA+B,GAC1C,kCAAkC,gCAAgC,EAClE,UAAU,YAAY,yEAiBvB,CAAA"}
@@ -5,10 +5,10 @@ const react_query_1 = require("@tanstack/react-query");
5
5
  const viem_1 = require("viem");
6
6
  const constants_1 = require("../../constants");
7
7
  const useIndexerClient_1 = require("./useIndexerClient");
8
- const getTransactionHistorySummary = async (indexerClients, { accountAddress }) => {
8
+ const getTransactionHistorySummary = async (indexerClients, { accountAddress, accountAddresses }) => {
9
9
  const histories = await Promise.all(Array.from(indexerClients.values()).map(indexerClient => indexerClient.getTransactionHistory({
10
10
  filter: {
11
- accountAddress
11
+ accountAddresses: accountAddresses || [accountAddress]
12
12
  },
13
13
  includeMetadata: true
14
14
  })));
@@ -107,7 +107,7 @@ const useGetTransactionHistorySummary = (getTransactionHistorySummaryArgs, optio
107
107
  staleTime: constants_1.time.oneSecond * 30,
108
108
  refetchOnMount: true,
109
109
  enabled: getTransactionHistorySummaryArgs.chainIds.length > 0 &&
110
- !!getTransactionHistorySummaryArgs.accountAddress &&
110
+ !!(getTransactionHistorySummaryArgs.accountAddress || (getTransactionHistorySummaryArgs.accountAddresses?.length ?? 0)) &&
111
111
  !options?.disabled
112
112
  });
113
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTransactionHistorySummary.js","sourceRoot":"","sources":["../../../../src/hooks/Indexer/useGetTransactionHistorySummary.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAChD,+BAAiC;AAEjC,+CAAkD;AAGlD,yDAAsD;AAOtD,MAAM,4BAA4B,GAAG,KAAK,EACxC,cAA4C,EAC5C,EAAE,cAAc,EAAoC,EAC5B,EAAE;IAC1B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CACtD,aAAa,CAAC,qBAAqB,CAAC;QAClC,MAAM,EAAE;YACN,cAAc;SACf;QACD,eAAe,EAAE,IAAI;KACtB,CAAC,CACH,CACF,CAAA;IAED,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAA;IACnF,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;QAClD,OAAO,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3D,GAAG,WAAW;QACd,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjD,GAAG,QAAQ;YACX,IAAI,EAAE,IAAA,iBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,EAAE,EAAE,IAAA,iBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;KACJ,CAAC,CAAC,CAAA;IAEH,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACI,MAAM,+BAA+B,GAAG,CAC7C,gCAAkE,EAClE,OAAsB,EACtB,EAAE;IACF,MAAM,cAAc,GAAG,IAAA,oCAAiB,EAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAA;IAEnF,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,+BAA+B,EAAE,gCAAgC,EAAE,OAAO,CAAC;QACjG,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,4BAA4B,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAA;QAC7F,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,cAAc,EAAE,IAAI;QACpB,OAAO,EACL,gCAAgC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC,gCAAgC,CAAC,cAAc;YACjD,CAAC,OAAO,EAAE,QAAQ;KACrB,CAAC,CAAA;AACJ,CAAC,CAAA;AAnBY,QAAA,+BAA+B,mCAmB3C"}
1
+ {"version":3,"file":"useGetTransactionHistorySummary.js","sourceRoot":"","sources":["../../../../src/hooks/Indexer/useGetTransactionHistorySummary.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAChD,+BAAiC;AAEjC,+CAAkD;AAGlD,yDAAsD;AAMtD,MAAM,4BAA4B,GAAG,KAAK,EACxC,cAA4C,EAC5C,EAAE,cAAc,EAAE,gBAAgB,EAAoC,EAC9C,EAAE;IAC1B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CACtD,aAAa,CAAC,qBAAqB,CAAC;QAClC,MAAM,EAAE;YACN,gBAAgB,EAAE,gBAAgB,IAAI,CAAC,cAAc,CAAC;SACvD;QACD,eAAe,EAAE,IAAI;KACtB,CAAC,CACH,CACF,CAAA;IAED,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAA;IACnF,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;QAClD,OAAO,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3D,GAAG,WAAW;QACd,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjD,GAAG,QAAQ;YACX,IAAI,EAAE,IAAA,iBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC;YAC/B,EAAE,EAAE,IAAA,iBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;KACJ,CAAC,CAAC,CAAA;IAEH,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACI,MAAM,+BAA+B,GAAG,CAC7C,gCAAkE,EAClE,OAAsB,EACtB,EAAE;IACF,MAAM,cAAc,GAAG,IAAA,oCAAiB,EAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAA;IAEnF,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,+BAA+B,EAAE,gCAAgC,EAAE,OAAO,CAAC;QACjG,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,4BAA4B,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAA;QAC7F,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,cAAc,EAAE,IAAI;QACpB,OAAO,EACL,gCAAgC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC,CAAC,gCAAgC,CAAC,cAAc,IAAI,CAAC,gCAAgC,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;YACvH,CAAC,OAAO,EAAE,QAAQ;KACrB,CAAC,CAAA;AACJ,CAAC,CAAA;AAnBY,QAAA,+BAA+B,mCAmB3C"}
@@ -1,7 +1,35 @@
1
1
  import { IndexerGateway, TokenBalance } from '@0xsequence/indexer';
2
2
  import { HooksOptions } from '../../types';
3
3
  /**
4
- * @description Gets the native token balance for a list of given networks or chainIds
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/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
+ * ```
5
33
  */
6
34
  export declare const useGetNativeTokenBalance: (getNativeTokenBalanceArgs: IndexerGateway.GetNativeTokenBalanceArgs, options?: HooksOptions) => import("@tanstack/react-query").UseQueryResult<TokenBalance[], Error>;
7
35
  //# sourceMappingURL=useGetNativeTokenBalance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetNativeTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetNativeTokenBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAI1F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAkB1C;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,2BAA2B,cAAc,CAAC,yBAAyB,EACnE,UAAU,YAAY,0EAWvB,CAAA"}
1
+ {"version":3,"file":"useGetNativeTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetNativeTokenBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAI1F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAkB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,wBAAwB,GACnC,2BAA2B,cAAc,CAAC,yBAAyB,EACnE,UAAU,YAAY,0EAWvB,CAAA"}
@@ -11,7 +11,35 @@ const getNativeTokenBalance = async (indexerGatewayClient, getNativeTokenBalance
11
11
  return balances;
12
12
  };
13
13
  /**
14
- * @description Gets the native token balance for a list of given networks or chainIds
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/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
+ * ```
15
43
  */
16
44
  const useGetNativeTokenBalance = (getNativeTokenBalanceArgs, options) => {
17
45
  const indexerGatewayClient = (0, useIndexerGatewayClient_1.useIndexerGatewayClient)();
@@ -1 +1 @@
1
- {"version":3,"file":"useGetNativeTokenBalance.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetNativeTokenBalance.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAEhD,+CAAkD;AAElD,iDAA8D;AAE9D,uEAAmE;AAEnE,MAAM,qBAAqB,GAAG,KAAK,EACjC,oBAA4C,EAC5C,yBAAmE,EAC1C,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAA;IAEvF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC3C,IAAA,kCAAwB,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;;GAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,yBAAmE,EACnE,OAAsB,EACtB,EAAE;IACF,MAAM,oBAAoB,GAAG,IAAA,iDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,CAAC;QACnF,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,qBAAqB,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;QACjG,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,yBAAyB,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,QAAQ;KAC1E,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,wBAAwB,4BAapC"}
1
+ {"version":3,"file":"useGetNativeTokenBalance.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetNativeTokenBalance.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAEhD,+CAAkD;AAElD,iDAA8D;AAE9D,uEAAmE;AAEnE,MAAM,qBAAqB,GAAG,KAAK,EACjC,oBAA4C,EAC5C,yBAAmE,EAC1C,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,CAAA;IAEvF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAC3C,IAAA,kCAAwB,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,CACtC,yBAAmE,EACnE,OAAsB,EACtB,EAAE;IACF,MAAM,oBAAoB,GAAG,IAAA,iDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,CAAC;QACnF,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,qBAAqB,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;QACjG,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,yBAAyB,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,QAAQ;KAC1E,CAAC,CAAA;AACJ,CAAC,CAAA;AAbY,QAAA,wBAAwB,4BAapC"}
@@ -5,7 +5,44 @@ export interface GetSingleTokenBalanceSummaryArgs {
5
5
  contractAddress: string;
6
6
  }
7
7
  /**
8
- * @description Gets the single token balance summary for a given chainId and contractAddress
8
+ * Hook to fetch the balance of a specific token (native or ERC20) for an account on a specific chain.
9
+ * For native tokens, use ZERO_ADDRESS (0x0000...0000) as the contractAddress.
10
+ *
11
+ * @param args - Arguments for fetching the token balance
12
+ * @param args.chainId - The chain ID to fetch the balance from
13
+ * @param args.accountAddress - The address to fetch the balance for
14
+ * @param args.contractAddress - The token contract address (use ZERO_ADDRESS for native tokens)
15
+ * @param options - Optional configuration for the query behavior
16
+ * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens
17
+ *
18
+ * @returns Query result containing the token balance
19
+ *
20
+ * @see {@link https://docs.sequence.xyz/sdk/web/hooks/useGetSingleTokenBalanceSummary} for more detailed documentation.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * import { useGetSingleTokenBalanceSummary, ZERO_ADDRESS } from '@0xsequence/hooks'
25
+ *
26
+ * // Fetch native ETH balance
27
+ * function NativeBalance() {
28
+ * const { data: ethBalance } = useGetSingleTokenBalanceSummary({
29
+ * chainId: 1,
30
+ * accountAddress: '0x123...',
31
+ * contractAddress: ZERO_ADDRESS
32
+ * })
33
+ * return <div>ETH Balance: {ethBalance?.balance}</div>
34
+ * }
35
+ *
36
+ * // Fetch USDC balance
37
+ * function TokenBalance() {
38
+ * const { data: usdcBalance } = useGetSingleTokenBalanceSummary({
39
+ * chainId: 1,
40
+ * accountAddress: '0x123...',
41
+ * contractAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' // USDC
42
+ * })
43
+ * return <div>USDC Balance: {usdcBalance?.balance}</div>
44
+ * }
45
+ * ```
9
46
  */
10
47
  export declare const useGetSingleTokenBalanceSummary: (args: GetSingleTokenBalanceSummaryArgs, options?: BalanceHookOptions) => import("@tanstack/react-query").UseQueryResult<import("@0xsequence/indexer").TokenBalance, Error>;
11
48
  //# sourceMappingURL=useGetSingleTokenBalanceSummary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetSingleTokenBalanceSummary.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAKhD,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;CACxB;AA+BD;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,MAAM,gCAAgC,EAAE,UAAU,kBAAkB,sGAYnH,CAAA"}
1
+ {"version":3,"file":"useGetSingleTokenBalanceSummary.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAKhD,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;CACxB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,+BAA+B,GAAI,MAAM,gCAAgC,EAAE,UAAU,kBAAkB,sGAYnH,CAAA"}
@@ -28,7 +28,44 @@ const getSingleTokenBalanceSummary = async (args, indexerGatewayClient, hideColl
28
28
  }
29
29
  };
30
30
  /**
31
- * @description Gets the single token balance summary for a given chainId and contractAddress
31
+ * Hook to fetch the balance of a specific token (native or ERC20) for an account on a specific chain.
32
+ * For native tokens, use ZERO_ADDRESS (0x0000...0000) as the contractAddress.
33
+ *
34
+ * @param args - Arguments for fetching the token balance
35
+ * @param args.chainId - The chain ID to fetch the balance from
36
+ * @param args.accountAddress - The address to fetch the balance for
37
+ * @param args.contractAddress - The token contract address (use ZERO_ADDRESS for native tokens)
38
+ * @param options - Optional configuration for the query behavior
39
+ * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens
40
+ *
41
+ * @returns Query result containing the token balance
42
+ *
43
+ * @see {@link https://docs.sequence.xyz/sdk/web/hooks/useGetSingleTokenBalanceSummary} for more detailed documentation.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * import { useGetSingleTokenBalanceSummary, ZERO_ADDRESS } from '@0xsequence/hooks'
48
+ *
49
+ * // Fetch native ETH balance
50
+ * function NativeBalance() {
51
+ * const { data: ethBalance } = useGetSingleTokenBalanceSummary({
52
+ * chainId: 1,
53
+ * accountAddress: '0x123...',
54
+ * contractAddress: ZERO_ADDRESS
55
+ * })
56
+ * return <div>ETH Balance: {ethBalance?.balance}</div>
57
+ * }
58
+ *
59
+ * // Fetch USDC balance
60
+ * function TokenBalance() {
61
+ * const { data: usdcBalance } = useGetSingleTokenBalanceSummary({
62
+ * chainId: 1,
63
+ * accountAddress: '0x123...',
64
+ * contractAddress: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48' // USDC
65
+ * })
66
+ * return <div>USDC Balance: {usdcBalance?.balance}</div>
67
+ * }
68
+ * ```
32
69
  */
33
70
  const useGetSingleTokenBalanceSummary = (args, options) => {
34
71
  const indexerGatewayClient = (0, useIndexerGatewayClient_1.useIndexerGatewayClient)();
@@ -1 +1 @@
1
- {"version":3,"file":"useGetSingleTokenBalanceSummary.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.ts"],"names":[],"mappings":";;;AAAA,iDAA0E;AAC1E,uDAAgD;AAEhD,+CAAgE;AAEhE,iDAA8E;AAE9E,uEAAmE;AAQnE,MAAM,4BAA4B,GAAG,KAAK,EACxC,IAAsC,EACtC,oBAA4C,EAC5C,gBAAyB,EACzB,EAAE;IACF,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;SAC1B;KACF,CAAC,CAAA;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,OAAO,CACtG,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAA,wBAAc,EAAC,IAAI,CAAC,eAAe,EAAE,wBAAY,CAAC,EAAE,CAAC;QACvD,OAAO,IAAA,kCAAwB,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,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACI,MAAM,+BAA+B,GAAG,CAAC,IAAsC,EAAE,OAA4B,EAAE,EAAE;IACtH,MAAM,oBAAoB,GAAG,IAAA,iDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,+BAA+B,EAAE,IAAI,EAAE,OAAO,CAAC;QACrE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC,CAAA;QAC3G,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,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;AAZY,QAAA,+BAA+B,mCAY3C"}
1
+ {"version":3,"file":"useGetSingleTokenBalanceSummary.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetSingleTokenBalanceSummary.ts"],"names":[],"mappings":";;;AAAA,iDAA0E;AAC1E,uDAAgD;AAEhD,+CAAgE;AAEhE,iDAA8E;AAE9E,uEAAmE;AAQnE,MAAM,4BAA4B,GAAG,KAAK,EACxC,IAAsC,EACtC,oBAA4C,EAC5C,gBAAyB,EACzB,EAAE;IACF,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;SAC1B;KACF,CAAC,CAAA;IAEF,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5C,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,OAAO,CACtG,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAA,wBAAc,EAAC,IAAI,CAAC,eAAe,EAAE,wBAAY,CAAC,EAAE,CAAC;QACvD,OAAO,IAAA,kCAAwB,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,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;AACH,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACI,MAAM,+BAA+B,GAAG,CAAC,IAAsC,EAAE,OAA4B,EAAE,EAAE;IACtH,MAAM,oBAAoB,GAAG,IAAA,iDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,+BAA+B,EAAE,IAAI,EAAE,OAAO,CAAC;QACrE,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC,CAAA;QAC3G,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,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;AAZY,QAAA,+BAA+B,mCAY3C"}
@@ -1,7 +1,58 @@
1
1
  import { IndexerGateway, TokenBalance } from '@0xsequence/indexer';
2
2
  import { BalanceHookOptions } from '../../types';
3
3
  /**
4
- * @description Gets the token balances for a given list of contractAddresses
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/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
+ * ```
5
56
  */
6
57
  export declare const useGetTokenBalancesByContract: (getTokenBalancesByContractArgs: IndexerGateway.GetTokenBalancesByContractArgs, options?: BalanceHookOptions) => import("@tanstack/react-query").UseQueryResult<TokenBalance[], Error>;
7
58
  //# sourceMappingURL=useGetTokenBalancesByContract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTokenBalancesByContract.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesByContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAsBhD;;GAEG;AACH,eAAO,MAAM,6BAA6B,GACxC,gCAAgC,cAAc,CAAC,8BAA8B,EAC7E,UAAU,kBAAkB,0EAiB7B,CAAA"}
1
+ {"version":3,"file":"useGetTokenBalancesByContract.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesByContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAsBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,6BAA6B,GACxC,gCAAgC,cAAc,CAAC,8BAA8B,EAC7E,UAAU,kBAAkB,0EAiB7B,CAAA"}
@@ -15,7 +15,58 @@ const getTokenBalancesByContract = async (indexerGatewayClient, getTokenBalances
15
15
  return res.balances.flatMap(balance => balance.results);
16
16
  };
17
17
  /**
18
- * @description Gets the token balances for a given list of contractAddresses
18
+ * Hook to fetch token balances by contract address.
19
+ * Can be used to fetch multiple token balances in a single request.
20
+ *
21
+ * @param getTokenBalancesByContractArgs - Arguments for fetching token balances
22
+ * @param getTokenBalancesByContractArgs.chainIds - Array of chain IDs to fetch balances from
23
+ * @param getTokenBalancesByContractArgs.filter - Filter criteria for the query
24
+ * @param getTokenBalancesByContractArgs.filter.contractAddresses - List of token contract addresses to fetch balances for
25
+ * @param getTokenBalancesByContractArgs.filter.accountAddresses - Optional list of account addresses to fetch balances for
26
+ * @param getTokenBalancesByContractArgs.filter.contractStatus - Optional filter for contract verification status
27
+ * @param options - Optional configuration for the query behavior
28
+ * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens from the results
29
+ * @param options.disabled - If true, disables the query from automatically running
30
+ * @param options.retry - If true, retries failed queries
31
+ *
32
+ * @returns Query result containing an array of TokenBalance objects with the following properties:
33
+ * - `contractType`: Type of the token contract (ERC20, ERC721, ERC1155)
34
+ * - `contractAddress`: Address of the token contract
35
+ * - `accountAddress`: Address of the account holding the tokens
36
+ * - `tokenID`: (for ERC721/ERC1155) ID of the token
37
+ * - `balance`: Token balance as a string
38
+ * - `blockHash`: Hash of the block where this balance was last updated
39
+ * - `blockNumber`: Block number where this balance was last updated
40
+ * - `chainId`: Chain ID where the token exists
41
+ * - `contractInfo`: (optional) Additional token contract information including:
42
+ * - `name`: Token name
43
+ * - `symbol`: Token symbol
44
+ * - `decimals`: Number of decimals (for ERC20)
45
+ * - `logoURI`: URL of the token logo
46
+ *
47
+ * @see {@link https://docs.sequence.xyz/sdk/web/hooks/useGetTokenBalancesByContract} for more detailed documentation.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * function TokenBalances() {
52
+ * const { data: balances } = useGetTokenBalancesByContract({
53
+ * chainIds: [1], // Ethereum mainnet
54
+ * filter: {
55
+ * contractAddresses: [
56
+ * '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', // USDC
57
+ * '0xdac17f958d2ee523a2206206994597c13d831ec7' // USDT
58
+ * ],
59
+ * accountAddresses: ['0x123...']
60
+ * }
61
+ * })
62
+ *
63
+ * return balances?.map(balance => (
64
+ * <div key={balance.contractAddress}>
65
+ * {balance.contractInfo?.symbol}: {balance.balance}
66
+ * </div>
67
+ * ))
68
+ * }
69
+ * ```
19
70
  */
20
71
  const useGetTokenBalancesByContract = (getTokenBalancesByContractArgs, options) => {
21
72
  const indexerGatewayClient = (0, useIndexerGatewayClient_1.useIndexerGatewayClient)();
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTokenBalancesByContract.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesByContract.ts"],"names":[],"mappings":";;;AAAA,iDAAwG;AACxG,uDAAgD;AAEhD,+CAAkD;AAGlD,uEAAmE;AAEnE,MAAM,0BAA0B,GAAG,KAAK,EACtC,oBAA4C,EAC5C,8BAA6E,EAC7E,gBAAyB,EACA,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,0BAA0B,CAAC,8BAA8B,CAAC,CAAA;IAEjG,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxC,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,OAAO,CACtG,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC,CAAA;AAED;;GAEG;AACI,MAAM,6BAA6B,GAAG,CAC3C,8BAA6E,EAC7E,OAA4B,EAC5B,EAAE;IACF,MAAM,oBAAoB,GAAG,IAAA,iDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,6BAA6B,EAAE,8BAA8B,EAAE,OAAO,CAAC;QAC7F,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,0BAA0B,CACrC,oBAAoB,EACpB,8BAA8B,EAC9B,OAAO,EAAE,gBAAgB,IAAI,KAAK,CACnC,CAAA;QACH,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,8BAA8B,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ;KAC7F,CAAC,CAAA;AACJ,CAAC,CAAA;AAnBY,QAAA,6BAA6B,iCAmBzC"}
1
+ {"version":3,"file":"useGetTokenBalancesByContract.js","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesByContract.ts"],"names":[],"mappings":";;;AAAA,iDAAwG;AACxG,uDAAgD;AAEhD,+CAAkD;AAGlD,uEAAmE;AAEnE,MAAM,0BAA0B,GAAG,KAAK,EACtC,oBAA4C,EAC5C,8BAA6E,EAC7E,gBAAyB,EACA,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,0BAA0B,CAAC,8BAA8B,CAAC,CAAA;IAEjG,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxC,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,sBAAY,CAAC,OAAO,CACtG,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACI,MAAM,6BAA6B,GAAG,CAC3C,8BAA6E,EAC7E,OAA4B,EAC5B,EAAE;IACF,MAAM,oBAAoB,GAAG,IAAA,iDAAuB,GAAE,CAAA;IAEtD,OAAO,IAAA,sBAAQ,EAAC;QACd,QAAQ,EAAE,CAAC,sBAAU,CAAC,6BAA6B,EAAE,8BAA8B,EAAE,OAAO,CAAC;QAC7F,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO,MAAM,0BAA0B,CACrC,oBAAoB,EACpB,8BAA8B,EAC9B,OAAO,EAAE,gBAAgB,IAAI,KAAK,CACnC,CAAA;QACH,CAAC;QACD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;QAC7B,SAAS,EAAE,gBAAI,CAAC,SAAS,GAAG,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,8BAA8B,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ;KAC7F,CAAC,CAAA;AACJ,CAAC,CAAA;AAnBY,QAAA,6BAA6B,iCAmBzC"}
@@ -1,7 +1,96 @@
1
1
  import { IndexerGateway, TokenBalance } from '@0xsequence/indexer';
2
2
  import { BalanceHookOptions } from '../../types';
3
3
  /**
4
- * @description Gets token balances, with individual token details
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/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
+ * ```
5
94
  */
6
95
  export declare const useGetTokenBalancesDetails: (getTokenBalancesDetailsArgs: IndexerGateway.GetTokenBalancesDetailsArgs, options?: BalanceHookOptions) => import("@tanstack/react-query").UseQueryResult<TokenBalance[], Error>;
7
96
  //# sourceMappingURL=useGetTokenBalancesDetails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGetTokenBalancesDetails.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAqChD;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,6BAA6B,cAAc,CAAC,2BAA2B,EACvE,UAAU,kBAAkB,0EAa7B,CAAA"}
1
+ {"version":3,"file":"useGetTokenBalancesDetails.d.ts","sourceRoot":"","sources":["../../../../src/hooks/IndexerGateway/useGetTokenBalancesDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAA0B,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAqChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2FG;AACH,eAAO,MAAM,0BAA0B,GACrC,6BAA6B,cAAc,CAAC,2BAA2B,EACvE,UAAU,kBAAkB,0EAa7B,CAAA"}
@@ -24,7 +24,96 @@ const getTokenBalancesDetails = async (getTokenBalancesDetailsArgs, indexerGatew
24
24
  }
25
25
  };
26
26
  /**
27
- * @description Gets token balances, with individual token details
27
+ * Hook to fetch detailed token balances including individual token metadata.
28
+ *
29
+ * Key differences from other balance hooks:
30
+ * - useGetTokenBalancesSummary: Returns basic token info, faster but less detailed
31
+ * - useGetTokenBalancesByContract: Only fetches specific contracts
32
+ * - useGetSingleTokenBalanceSummary: Fetches a single token balance
33
+ *
34
+ * This hook is best used when you need full token details, especially for NFTs and collectibles
35
+ * where metadata is important (images, attributes, etc).
36
+ * Results are sorted by type: native tokens first, then ERC20s, then collectibles.
37
+ *
38
+ * @param getTokenBalancesDetailsArgs - Arguments for fetching token balances
39
+ * @param getTokenBalancesDetailsArgs.chainIds - Array of chain IDs to fetch balances from
40
+ * @param getTokenBalancesDetailsArgs.filter - Filter criteria for the query
41
+ * @param getTokenBalancesDetailsArgs.filter.accountAddresses - List of account addresses to fetch balances for
42
+ * @param getTokenBalancesDetailsArgs.filter.contractWhitelist - Optional list of contracts to include
43
+ * @param getTokenBalancesDetailsArgs.filter.contractBlacklist - Optional list of contracts to exclude
44
+ * @param getTokenBalancesDetailsArgs.filter.omitNativeBalances - If true, excludes native token balances
45
+ * @param getTokenBalancesDetailsArgs.filter.contractStatus - Optional filter for contract verification status
46
+ * @param options - Optional configuration for the query behavior
47
+ * @param options.hideCollectibles - If true, filters out ERC721 and ERC1155 tokens
48
+ * @param options.disabled - If true, disables the query from automatically running
49
+ * @param options.retry - If true (default), retries failed queries
50
+ *
51
+ * Query configuration:
52
+ * - Marks data as stale after 30 seconds
53
+ * - Retries failed requests by default
54
+ * - Only enabled when account address is present and not explicitly disabled
55
+ *
56
+ * @returns Query result containing an array of TokenBalance objects with detailed information:
57
+ * - `contractType`: Type of the token contract (NATIVE, ERC20, ERC721, ERC1155)
58
+ * - `contractAddress`: Address of the token contract
59
+ * - `accountAddress`: Address of the account holding the tokens
60
+ * - `tokenID`: (for NFTs) ID of the token
61
+ * - `balance`: Token balance as a string
62
+ * - `blockHash`: Hash of the block where this balance was last updated
63
+ * - `blockNumber`: Block number where this balance was last updated
64
+ * - `chainId`: Chain ID where the token exists
65
+ * - `contractInfo`: Additional token contract information including:
66
+ * - `name`: Token name
67
+ * - `symbol`: Token symbol
68
+ * - `decimals`: Number of decimals
69
+ * - `logoURI`: URL of the token logo
70
+ * - `tokenMetadata`: (for NFTs) Detailed token metadata including:
71
+ * - `name`: Token name
72
+ * - `description`: Token description
73
+ * - `image`: Token image URL
74
+ * - `attributes`: Array of token attributes
75
+ *
76
+ * @see {@link https://docs.sequence.xyz/sdk/web/hooks/useGetTokenBalancesDetails} for more detailed documentation.
77
+ *
78
+ * @example
79
+ * ```tsx
80
+ * import { useGetTokenBalancesDetails } from '@0xsequence/hooks'
81
+ *
82
+ * // Fetch all token balances with full details
83
+ * function TokenList() {
84
+ * const { data: tokens } = useGetTokenBalancesDetails({
85
+ * chainIds: [1], // Ethereum mainnet
86
+ * filter: {
87
+ * accountAddresses: ['0x123...'],
88
+ * omitNativeBalances: false,
89
+ * // Optional: only include specific tokens
90
+ * contractWhitelist: ['0x...', '0x...'],
91
+ * // Optional: exclude specific tokens
92
+ * contractBlacklist: ['0x...']
93
+ * }
94
+ * })
95
+ *
96
+ * return tokens?.map(token => (
97
+ * <div key={`${token.chainId}-${token.contractAddress}-${token.tokenID}`}>
98
+ * {token.contractType === 'ERC721' ? (
99
+ * // NFT display with metadata
100
+ * <NFTCard
101
+ * name={token.tokenMetadata?.name}
102
+ * image={token.tokenMetadata?.image}
103
+ * attributes={token.tokenMetadata?.attributes}
104
+ * />
105
+ * ) : (
106
+ * // Regular token display
107
+ * <TokenRow
108
+ * symbol={token.contractInfo?.symbol}
109
+ * balance={token.balance}
110
+ * decimals={token.contractInfo?.decimals}
111
+ * />
112
+ * )}
113
+ * </div>
114
+ * ))
115
+ * }
116
+ * ```
28
117
  */
29
118
  const useGetTokenBalancesDetails = (getTokenBalancesDetailsArgs, options) => {
30
119
  const indexerGatewayClient = (0, useIndexerGatewayClient_1.useIndexerGatewayClient)();