@covalenthq/client-sdk 0.2.4 → 0.2.5

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # covalent-api-sdk-ts
2
2
 
3
- The Covalent API SDK supported for Typescript.
3
+ The Covalent API SDK supported for TypeScript.
4
4
 
5
5
  The Covalent SDK supports all chains across Mainnets and Testnets. List of supported Networks can be found on our [Supported Networks page](https://www.covalenthq.com/docs/networks/)
6
6
 
@@ -33,6 +33,10 @@ const ApiServices = async () => {
33
33
  }
34
34
  }
35
35
  ```
36
+ Query Parameters for any API endpoint is handled using `typed objects`. To pass in query parameters, developers can define an object that follows the type listed in the `tsdocs` and follow the `tsdocs` for autocomplete suggestions for the supported parameters. Supported parameters can be passed in as any order. For example: a developer wants to set the `quoteCurrency` parameter to `CAD` and `nft` to `true`.
37
+ ```ts
38
+ const resp = await client.BalanceService.getTokenBalancesForWalletAddress("eth-mainnet", "WALLET_ADDRESS", {quoteCurrency: "CAD", nft: true});
39
+ ```
36
40
 
37
41
  > **Creating a unique Covalent API Key**
38
42
  >
@@ -316,6 +316,58 @@ declare class HistoricalBalanceItem {
316
316
  nft_data: NftData[];
317
317
  constructor(data: HistoricalBalanceItem);
318
318
  }
319
+ export interface GetTokenBalancesForWalletAddressQueryParamOpts {
320
+ /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
321
+ quoteCurrency?: Quotes;
322
+ /** * If `true`, NFTs will be included in the response. */
323
+ nft?: boolean;
324
+ /** * If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times. */
325
+ noNftFetch?: boolean;
326
+ /** * If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`. */
327
+ noSpam?: boolean;
328
+ /** * If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs. */
329
+ noNftAssetMetadata?: boolean;
330
+ }
331
+ export interface GetHistoricalPortfolioForWalletAddressQueryParamOpts {
332
+ /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
333
+ quoteCurrency?: Quotes;
334
+ /** * The number of days to return data for. Defaults to 30 days. */
335
+ days?: number;
336
+ }
337
+ export interface GetErc20TransfersForWalletAddressQueryParamOpts {
338
+ /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
339
+ quoteCurrency?: Quotes;
340
+ /** * The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically. */
341
+ contractAddress?: string;
342
+ /** * The block height to start from, defaults to `0`. */
343
+ startingBlock?: number;
344
+ /** * The block height to end at, defaults to current block height. */
345
+ endingBlock?: number;
346
+ }
347
+ export interface GetTokenHoldersV2ForTokenAddressQueryParamOpts {
348
+ /** * Ending block to define a block range. Omitting this parameter defaults to the latest block height. */
349
+ blockHeight?: number;
350
+ /** * Number of items per page. Note: Currently, only values of `100` and `1000` are supported. Omitting this parameter defaults to 100. */
351
+ pageSize?: number;
352
+ /** * 0-indexed page number to begin pagination. */
353
+ pageNumber?: number;
354
+ }
355
+ export interface GetHistoricalTokenBalancesForWalletAddressQueryParamOpts {
356
+ /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
357
+ quoteCurrency?: Quotes;
358
+ /** * If `true`, NFTs will be included in the response. */
359
+ nft?: boolean;
360
+ /** * If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times. */
361
+ noNftFetch?: boolean;
362
+ /** * If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`. */
363
+ noSpam?: boolean;
364
+ /** * If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs. */
365
+ noNftAssetMetadata?: boolean;
366
+ /** * Ending block to define a block range. Omitting this parameter defaults to the latest block height. */
367
+ blockHeight?: number;
368
+ /** * Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date. */
369
+ date?: number;
370
+ }
319
371
  /**
320
372
  * Balances APIs
321
373
  *
@@ -333,57 +385,62 @@ export declare class BalanceService {
333
385
  *
334
386
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
335
387
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
336
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
337
- * @param {boolean} nft - If `true`, NFTs will be included in the response.
338
- * @param {boolean} noNftFetch - If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
339
- * @param {boolean} noSpam - If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
340
- * @param {boolean} noNftAssetMetadata - If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
388
+ * @param {GetTokenBalancesForWalletAddressQueryParamOpts} queryParamOpts
389
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
390
+ * - `nft`: If `true`, NFTs will be included in the response.
391
+ * - `noNftFetch`: If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
392
+ * - `noSpam`: If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
393
+ * - `noNftAssetMetadata`: If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
341
394
  *
342
395
  */
343
- getTokenBalancesForWalletAddress(chainName: Chains, walletAddress: string, quoteCurrency?: Quotes, nft?: boolean, noNftFetch?: boolean, noSpam?: boolean, noNftAssetMetadata?: boolean): Promise<Response<BalancesResponse>>;
396
+ getTokenBalancesForWalletAddress(chainName: Chains, walletAddress: string, queryParamOpts?: GetTokenBalancesForWalletAddressQueryParamOpts): Promise<Response<BalancesResponse>>;
344
397
  /**
345
398
  *
346
399
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
347
400
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
348
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
349
- * @param {number} days - The number of days to return data for. Defaults to 30 days.
401
+ * @param {GetHistoricalPortfolioForWalletAddressQueryParamOpts} queryParamOpts
402
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
403
+ * - `days`: The number of days to return data for. Defaults to 30 days.
350
404
  *
351
405
  */
352
- getHistoricalPortfolioForWalletAddress(chainName: Chains, walletAddress: string, quoteCurrency?: Quotes, days?: number): Promise<Response<PortfolioResponse>>;
406
+ getHistoricalPortfolioForWalletAddress(chainName: Chains, walletAddress: string, queryParamOpts?: GetHistoricalPortfolioForWalletAddressQueryParamOpts): Promise<Response<PortfolioResponse>>;
353
407
  /**
354
408
  *
355
409
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
356
410
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
357
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
358
- * @param {string} contractAddress - The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
359
- * @param {number} startingBlock - The block height to start from, defaults to `0`.
360
- * @param {number} endingBlock - The block height to end at, defaults to current block height.
411
+ * @param {GetErc20TransfersForWalletAddressQueryParamOpts} queryParamOpts
412
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
413
+ * - `contractAddress`: The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
414
+ * - `startingBlock`: The block height to start from, defaults to `0`.
415
+ * - `endingBlock`: The block height to end at, defaults to current block height.
361
416
  *
362
417
  */
363
- getErc20TransfersForWalletAddress(chainName: Chains, walletAddress: string, quoteCurrency?: Quotes, contractAddress?: string, startingBlock?: number, endingBlock?: number): Promise<Response<Erc20TransfersResponse>>;
418
+ getErc20TransfersForWalletAddress(chainName: Chains, walletAddress: string, queryParamOpts?: GetErc20TransfersForWalletAddressQueryParamOpts): Promise<Response<Erc20TransfersResponse>>;
364
419
  /**
365
420
  *
366
421
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
367
422
  * @param {string} tokenAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
368
- * @param {number} blockHeight - Ending block to define a block range. Omitting this parameter defaults to the latest block height.
369
- * @param {number} pageSize - Number of items per page. Note: Currently, only values of `100` and `1000` are supported. Omitting this parameter defaults to 100.
370
- * @param {number} pageNumber - 0-indexed page number to begin pagination.
423
+ * @param {GetTokenHoldersV2ForTokenAddressQueryParamOpts} queryParamOpts
424
+ * - `blockHeight`: Ending block to define a block range. Omitting this parameter defaults to the latest block height.
425
+ * - `pageSize`: Number of items per page. Note: Currently, only values of `100` and `1000` are supported. Omitting this parameter defaults to 100.
426
+ * - `pageNumber`: 0-indexed page number to begin pagination.
371
427
  *
372
428
  */
373
- getTokenHoldersV2ForTokenAddress(chainName: Chains, tokenAddress: string, blockHeight?: number, pageSize?: number, pageNumber?: number): Promise<Response<TokenHoldersResponse>>;
429
+ getTokenHoldersV2ForTokenAddress(chainName: Chains, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): Promise<Response<TokenHoldersResponse>>;
374
430
  /**
375
431
  *
376
432
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
377
433
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
378
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
379
- * @param {boolean} nft - If `true`, NFTs will be included in the response.
380
- * @param {boolean} noNftFetch - If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
381
- * @param {boolean} noSpam - If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
382
- * @param {boolean} noNftAssetMetadata - If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
383
- * @param {number} blockHeight - Ending block to define a block range. Omitting this parameter defaults to the latest block height.
384
- * @param {number} date - Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date.
434
+ * @param {GetHistoricalTokenBalancesForWalletAddressQueryParamOpts} queryParamOpts
435
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
436
+ * - `nft`: If `true`, NFTs will be included in the response.
437
+ * - `noNftFetch`: If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
438
+ * - `noSpam`: If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
439
+ * - `noNftAssetMetadata`: If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
440
+ * - `blockHeight`: Ending block to define a block range. Omitting this parameter defaults to the latest block height.
441
+ * - `date`: Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date.
385
442
  *
386
443
  */
387
- getHistoricalTokenBalancesForWalletAddress(chainName: Chains, walletAddress: string, quoteCurrency?: Quotes, nft?: boolean, noNftFetch?: boolean, noSpam?: boolean, noNftAssetMetadata?: boolean, blockHeight?: number, date?: number): Promise<Response<HistoricalBalancesResponse>>;
444
+ getHistoricalTokenBalancesForWalletAddress(chainName: Chains, walletAddress: string, queryParamOpts?: GetHistoricalTokenBalancesForWalletAddressQueryParamOpts): Promise<Response<HistoricalBalancesResponse>>;
388
445
  }
389
446
  export {};
@@ -245,14 +245,15 @@ class BalanceService {
245
245
  *
246
246
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
247
247
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
248
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
249
- * @param {boolean} nft - If `true`, NFTs will be included in the response.
250
- * @param {boolean} noNftFetch - If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
251
- * @param {boolean} noSpam - If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
252
- * @param {boolean} noNftAssetMetadata - If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
248
+ * @param {GetTokenBalancesForWalletAddressQueryParamOpts} queryParamOpts
249
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
250
+ * - `nft`: If `true`, NFTs will be included in the response.
251
+ * - `noNftFetch`: If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
252
+ * - `noSpam`: If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
253
+ * - `noNftAssetMetadata`: If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
253
254
  *
254
255
  */
255
- async getTokenBalancesForWalletAddress(chainName, walletAddress, quoteCurrency, nft, noNftFetch, noSpam, noNftAssetMetadata) {
256
+ async getTokenBalancesForWalletAddress(chainName, walletAddress, queryParamOpts) {
256
257
  let success = false;
257
258
  let data;
258
259
  let response;
@@ -260,20 +261,20 @@ class BalanceService {
260
261
  while (!success) {
261
262
  try {
262
263
  const urlParams = new URLSearchParams();
263
- if (quoteCurrency !== undefined) {
264
- urlParams.append("quote-currency", quoteCurrency.toString());
264
+ if (queryParamOpts?.quoteCurrency !== undefined) {
265
+ urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
265
266
  }
266
- if (nft !== undefined) {
267
- urlParams.append("nft", nft.toString());
267
+ if (queryParamOpts?.nft !== undefined) {
268
+ urlParams.append("nft", queryParamOpts?.nft.toString());
268
269
  }
269
- if (noNftFetch !== undefined) {
270
- urlParams.append("no-nft-fetch", noNftFetch.toString());
270
+ if (queryParamOpts?.noNftFetch !== undefined) {
271
+ urlParams.append("no-nft-fetch", queryParamOpts?.noNftFetch.toString());
271
272
  }
272
- if (noSpam !== undefined) {
273
- urlParams.append("no-spam", noSpam.toString());
273
+ if (queryParamOpts?.noSpam !== undefined) {
274
+ urlParams.append("no-spam", queryParamOpts?.noSpam.toString());
274
275
  }
275
- if (noNftAssetMetadata !== undefined) {
276
- urlParams.append("no-nft-asset-metadata", noNftAssetMetadata.toString());
276
+ if (queryParamOpts?.noNftAssetMetadata !== undefined) {
277
+ urlParams.append("no-nft-asset-metadata", queryParamOpts?.noNftAssetMetadata.toString());
277
278
  }
278
279
  response = await fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/balances_v2/?${urlParams}`, {
279
280
  headers: {
@@ -323,11 +324,12 @@ class BalanceService {
323
324
  *
324
325
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
325
326
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
326
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
327
- * @param {number} days - The number of days to return data for. Defaults to 30 days.
327
+ * @param {GetHistoricalPortfolioForWalletAddressQueryParamOpts} queryParamOpts
328
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
329
+ * - `days`: The number of days to return data for. Defaults to 30 days.
328
330
  *
329
331
  */
330
- async getHistoricalPortfolioForWalletAddress(chainName, walletAddress, quoteCurrency, days) {
332
+ async getHistoricalPortfolioForWalletAddress(chainName, walletAddress, queryParamOpts) {
331
333
  let success = false;
332
334
  let data;
333
335
  let response;
@@ -335,11 +337,11 @@ class BalanceService {
335
337
  while (!success) {
336
338
  try {
337
339
  const urlParams = new URLSearchParams();
338
- if (quoteCurrency !== undefined) {
339
- urlParams.append("quote-currency", quoteCurrency.toString());
340
+ if (queryParamOpts?.quoteCurrency !== undefined) {
341
+ urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
340
342
  }
341
- if (days !== undefined) {
342
- urlParams.append("days", days.toString());
343
+ if (queryParamOpts?.days !== undefined) {
344
+ urlParams.append("days", queryParamOpts?.days.toString());
343
345
  }
344
346
  response = await fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/portfolio_v2/?${urlParams}`, {
345
347
  headers: {
@@ -389,13 +391,14 @@ class BalanceService {
389
391
  *
390
392
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
391
393
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
392
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
393
- * @param {string} contractAddress - The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
394
- * @param {number} startingBlock - The block height to start from, defaults to `0`.
395
- * @param {number} endingBlock - The block height to end at, defaults to current block height.
394
+ * @param {GetErc20TransfersForWalletAddressQueryParamOpts} queryParamOpts
395
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
396
+ * - `contractAddress`: The requested contract address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
397
+ * - `startingBlock`: The block height to start from, defaults to `0`.
398
+ * - `endingBlock`: The block height to end at, defaults to current block height.
396
399
  *
397
400
  */
398
- async getErc20TransfersForWalletAddress(chainName, walletAddress, quoteCurrency, contractAddress, startingBlock, endingBlock) {
401
+ async getErc20TransfersForWalletAddress(chainName, walletAddress, queryParamOpts) {
399
402
  let success = false;
400
403
  let data;
401
404
  let response;
@@ -403,17 +406,17 @@ class BalanceService {
403
406
  while (!success) {
404
407
  try {
405
408
  const urlParams = new URLSearchParams();
406
- if (quoteCurrency !== undefined) {
407
- urlParams.append("quote-currency", quoteCurrency.toString());
409
+ if (queryParamOpts?.quoteCurrency !== undefined) {
410
+ urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
408
411
  }
409
- if (contractAddress !== undefined) {
410
- urlParams.append("contract-address", contractAddress.toString());
412
+ if (queryParamOpts?.contractAddress !== undefined) {
413
+ urlParams.append("contract-address", queryParamOpts?.contractAddress.toString());
411
414
  }
412
- if (startingBlock !== undefined) {
413
- urlParams.append("starting-block", startingBlock.toString());
415
+ if (queryParamOpts?.startingBlock !== undefined) {
416
+ urlParams.append("starting-block", queryParamOpts?.startingBlock.toString());
414
417
  }
415
- if (endingBlock !== undefined) {
416
- urlParams.append("ending-block", endingBlock.toString());
418
+ if (queryParamOpts?.endingBlock !== undefined) {
419
+ urlParams.append("ending-block", queryParamOpts?.endingBlock.toString());
417
420
  }
418
421
  response = await fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/transfers_v2/?${urlParams}`, {
419
422
  headers: {
@@ -463,12 +466,13 @@ class BalanceService {
463
466
  *
464
467
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
465
468
  * @param {string} tokenAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
466
- * @param {number} blockHeight - Ending block to define a block range. Omitting this parameter defaults to the latest block height.
467
- * @param {number} pageSize - Number of items per page. Note: Currently, only values of `100` and `1000` are supported. Omitting this parameter defaults to 100.
468
- * @param {number} pageNumber - 0-indexed page number to begin pagination.
469
+ * @param {GetTokenHoldersV2ForTokenAddressQueryParamOpts} queryParamOpts
470
+ * - `blockHeight`: Ending block to define a block range. Omitting this parameter defaults to the latest block height.
471
+ * - `pageSize`: Number of items per page. Note: Currently, only values of `100` and `1000` are supported. Omitting this parameter defaults to 100.
472
+ * - `pageNumber`: 0-indexed page number to begin pagination.
469
473
  *
470
474
  */
471
- async getTokenHoldersV2ForTokenAddress(chainName, tokenAddress, blockHeight, pageSize, pageNumber) {
475
+ async getTokenHoldersV2ForTokenAddress(chainName, tokenAddress, queryParamOpts) {
472
476
  let success = false;
473
477
  let data;
474
478
  let response;
@@ -476,14 +480,14 @@ class BalanceService {
476
480
  while (!success) {
477
481
  try {
478
482
  const urlParams = new URLSearchParams();
479
- if (blockHeight !== undefined) {
480
- urlParams.append("block-height", blockHeight.toString());
483
+ if (queryParamOpts?.blockHeight !== undefined) {
484
+ urlParams.append("block-height", queryParamOpts?.blockHeight.toString());
481
485
  }
482
- if (pageSize !== undefined) {
483
- urlParams.append("page-size", pageSize.toString());
486
+ if (queryParamOpts?.pageSize !== undefined) {
487
+ urlParams.append("page-size", queryParamOpts?.pageSize.toString());
484
488
  }
485
- if (pageNumber !== undefined) {
486
- urlParams.append("page-number", pageNumber.toString());
489
+ if (queryParamOpts?.pageNumber !== undefined) {
490
+ urlParams.append("page-number", queryParamOpts?.pageNumber.toString());
487
491
  }
488
492
  response = await fetch(`https://api.covalenthq.com/v1/${chainName}/tokens/${tokenAddress}/token_holders_v2/?${urlParams}`, {
489
493
  headers: {
@@ -533,16 +537,17 @@ class BalanceService {
533
537
  *
534
538
  * @param {string} chainName - The chain name eg: `eth-mainnet`.
535
539
  * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
536
- * @param {string} quoteCurrency - The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
537
- * @param {boolean} nft - If `true`, NFTs will be included in the response.
538
- * @param {boolean} noNftFetch - If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
539
- * @param {boolean} noSpam - If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
540
- * @param {boolean} noNftAssetMetadata - If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
541
- * @param {number} blockHeight - Ending block to define a block range. Omitting this parameter defaults to the latest block height.
542
- * @param {number} date - Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date.
540
+ * @param {GetHistoricalTokenBalancesForWalletAddressQueryParamOpts} queryParamOpts
541
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
542
+ * - `nft`: If `true`, NFTs will be included in the response.
543
+ * - `noNftFetch`: If `true`, only NFTs that have been cached will be included in the response. Helpful for faster response times.
544
+ * - `noSpam`: If `true`, the suspected spam tokens are removed. Supports `eth-mainnet` and `matic-mainnet`.
545
+ * - `noNftAssetMetadata`: If `true`, the response shape is limited to a list of collections and token ids, omitting metadata and asset information. Helpful for faster response times and wallets holding a large number of NFTs.
546
+ * - `blockHeight`: Ending block to define a block range. Omitting this parameter defaults to the latest block height.
547
+ * - `date`: Ending date to define a block range (YYYY-MM-DD). Omitting this parameter defaults to the current date.
543
548
  *
544
549
  */
545
- async getHistoricalTokenBalancesForWalletAddress(chainName, walletAddress, quoteCurrency, nft, noNftFetch, noSpam, noNftAssetMetadata, blockHeight, date) {
550
+ async getHistoricalTokenBalancesForWalletAddress(chainName, walletAddress, queryParamOpts) {
546
551
  let success = false;
547
552
  let data;
548
553
  let response;
@@ -550,26 +555,26 @@ class BalanceService {
550
555
  while (!success) {
551
556
  try {
552
557
  const urlParams = new URLSearchParams();
553
- if (quoteCurrency !== undefined) {
554
- urlParams.append("quote-currency", quoteCurrency.toString());
558
+ if (queryParamOpts?.quoteCurrency !== undefined) {
559
+ urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
555
560
  }
556
- if (nft !== undefined) {
557
- urlParams.append("nft", nft.toString());
561
+ if (queryParamOpts?.nft !== undefined) {
562
+ urlParams.append("nft", queryParamOpts?.nft.toString());
558
563
  }
559
- if (noNftFetch !== undefined) {
560
- urlParams.append("no-nft-fetch", noNftFetch.toString());
564
+ if (queryParamOpts?.noNftFetch !== undefined) {
565
+ urlParams.append("no-nft-fetch", queryParamOpts?.noNftFetch.toString());
561
566
  }
562
- if (noSpam !== undefined) {
563
- urlParams.append("no-spam", noSpam.toString());
567
+ if (queryParamOpts?.noSpam !== undefined) {
568
+ urlParams.append("no-spam", queryParamOpts?.noSpam.toString());
564
569
  }
565
- if (noNftAssetMetadata !== undefined) {
566
- urlParams.append("no-nft-asset-metadata", noNftAssetMetadata.toString());
570
+ if (queryParamOpts?.noNftAssetMetadata !== undefined) {
571
+ urlParams.append("no-nft-asset-metadata", queryParamOpts?.noNftAssetMetadata.toString());
567
572
  }
568
- if (blockHeight !== undefined) {
569
- urlParams.append("block-height", blockHeight.toString());
573
+ if (queryParamOpts?.blockHeight !== undefined) {
574
+ urlParams.append("block-height", queryParamOpts?.blockHeight.toString());
570
575
  }
571
- if (date !== undefined) {
572
- urlParams.append("date", date.toString());
576
+ if (queryParamOpts?.date !== undefined) {
577
+ urlParams.append("date", queryParamOpts?.date.toString());
573
578
  }
574
579
  response = await fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/historical_balances/?${urlParams}`, {
575
580
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceService.js","sourceRoot":"","sources":["../../src/services/BalanceService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BalanceService.js","sourceRoot":"","sources":["../../src/services/BalanceService.ts"],"names":[],"mappings":"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"}