@covalenthq/client-sdk 0.7.2 → 0.7.3

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.
@@ -5,9 +5,9 @@ import { NftService } from "./NftService";
5
5
  import { PricingService } from "./PricingService";
6
6
  import { TransactionService } from "./TransactionService";
7
7
  import { XykService } from "./XykService";
8
- export type Chain = "btc-mainnet" | "eth-mainnet" | "matic-mainnet" | "bsc-mainnet" | "avalanche-mainnet" | "optimism-mainnet" | "fantom-mainnet" | "moonbeam-mainnet" | "moonbeam-moonriver" | "rsk-mainnet" | "arbitrum-mainnet" | "palm-mainnet" | "klaytn-mainnet" | "heco-mainnet" | "nervos-godwoken-mainnet" | "axie-mainnet" | "evmos-mainnet" | "astar-mainnet" | "iotex-mainnet" | "harmony-mainnet" | "cronos-mainnet" | "aurora-mainnet" | "emerald-paratime-mainnet" | "boba-mainnet" | "eth-goerli" | "matic-mumbai" | "avalanche-testnet" | "bsc-testnet" | "moonbeam-moonbase-alpha" | "rsk-testnet" | "arbitrum-goerli" | "fantom-testnet" | "palm-testnet" | "heco-testnet" | "nervos-godwoken-testnet" | "evmos-testnet" | "astar-shiden" | "iotex-testnet" | "harmony-testnet" | "aurora-testnet" | "scroll-sepolia-testnet" | "covalent-internal-network-v1" | "defi-kingdoms-mainnet" | "swimmer-mainnet" | "boba-avalanche-mainnet" | "boba-bobabeam-mainnet" | "boba-bnb-mainnet" | "boba-rinkeby-testnet" | "boba-bobabase-testnet" | "boba-bnb-testnet" | "boba-avalanche-testnet" | "klaytn-testnet" | "gather-mainnet" | "gather-testnet" | "skale-calypso" | "skale-mainnet" | "skale-razor" | "avalanche-dexalot-mainnet" | "skale-omnus" | "avalanche-dexalot-testnet" | "astar-shibuya" | "cronos-testnet" | "defi-kingdoms-testnet" | "metis-mainnet" | "metis-stardust" | "milkomeda-a1-mainnet" | "milkomeda-a1-devnet" | "milkomeda-c1-mainnet" | "milkomeda-c1-devnet" | "swimmer-testnet" | "solana-mainnet" | "skale-europa" | "meter-mainnet" | "meter-testnet" | "skale-exorde" | "boba-goerli" | "neon-testnet" | "skale-staging-uum" | "skale-staging-lcc" | "arbitrum-nova-mainnet" | "canto-mainnet" | "bittorrent-mainnet" | "bittorrent-testnet" | "flarenetworks-flare-mainnet" | "flarenetworks-flare-testnet" | "flarenetworks-canary-mainnet" | "flarenetworks-canary-testnet" | "kcc-mainnet" | "kcc-testnet" | "polygon-zkevm-testnet" | "linea-testnet" | "base-testnet" | "mantle-testnet" | "scroll-alpha-testnet" | "oasys-mainnet" | "oasys-testnet" | "findora-mainnet" | "findora-forge-testnet" | "sx-mainnet" | "oasis-sapphire-mainnet" | "oasis-sapphire-testnet" | "optimism-goerli" | "polygon-zkevm-mainnet" | "horizen-yuma-testnet" | "clv-parachain" | "energi-mainnet" | "energi-testnet" | "horizen-gobi-testnet" | "eth-sepolia" | "skale-nebula" | "skale-battleground" | "avalanche-meld-testnet" | "gunzilla-testnet" | "ultron-mainnet" | "ultron-testnet" | "zora-mainnet" | "zora-testnet" | "neon-mainnet" | "avalanche-shrapnel-mainnet" | "base-mainnet" | "mantle-mainnet" | "avalanche-loco-legends-mainnet" | "linea-mainnet" | "horizen-eon-mainnet" | "avalanche-numbers" | "avalanche-dos" | "avalanche-step-network" | "avalanche-xplus" | "avalanche-xanachain" | "avalanche-meld-mainnet" | "opside-public-zkevm" | "opside-law-chain" | "avalanche-shrapnel-testnet" | "avalanche-loco-legends-testnet" | "opside-cb-zkevm" | "opside-pre-alpha-testnet" | "opside-era7" | "opside-xthrill" | "zksync-mainnet" | "metis-testnet" | "zksync-testnet" | "avalanche-blitz-testnet" | "avalanche-d-chain-testnet" | "avalanche-green-dot-testnet" | "avalanche-mintara-testnet" | "avalanche-beam-testnet" | "bnb-meta-apes-mainnet" | "bnb-antimatter-mainnet" | "bnb-antimatter-testnet" | "bnb-opbnb-testnet" | "opside-debox" | "opside-jackbot" | "opside-odx-zkevm-testnet" | "opside-readon-content-testnet" | "opside-relation" | "opside-soquest-zkevm" | "opside-vip3" | "opside-zkmeta" | "avalanche-pulsar-testnet" | "avalanche-uptn" | "bnb-fncy-mainnet" | "zetachain-testnet" | "kinto-testnet" | "mode-testnet" | "loot-mainnet" | "bnb-fncy-testnet" | "manta-testnet" | "pgn-mainnet" | "pgn-testnet" | "gnosis-mainnet" | "gnosis-testnet" | "rollux-mainnet" | "rollux-testnet" | "taiko-jolnir-testnet" | "optimism-sepolia" | "bnb-opbnb-mainnet" | "telos-mainnet" | "telos-testnet";
8
+ export type Chain = "btc-mainnet" | "eth-mainnet" | "matic-mainnet" | "bsc-mainnet" | "avalanche-mainnet" | "optimism-mainnet" | "fantom-mainnet" | "moonbeam-mainnet" | "moonbeam-moonriver" | "rsk-mainnet" | "arbitrum-mainnet" | "palm-mainnet" | "klaytn-mainnet" | "heco-mainnet" | "nervos-godwoken-mainnet" | "axie-mainnet" | "evmos-mainnet" | "astar-mainnet" | "iotex-mainnet" | "harmony-mainnet" | "cronos-mainnet" | "aurora-mainnet" | "emerald-paratime-mainnet" | "boba-mainnet" | "eth-goerli" | "matic-mumbai" | "avalanche-testnet" | "bsc-testnet" | "moonbeam-moonbase-alpha" | "rsk-testnet" | "arbitrum-goerli" | "fantom-testnet" | "palm-testnet" | "heco-testnet" | "nervos-godwoken-testnet" | "evmos-testnet" | "astar-shiden" | "iotex-testnet" | "harmony-testnet" | "aurora-testnet" | "scroll-l2-testnet" | "scroll-sepolia-testnet" | "covalent-internal-network-v1" | "defi-kingdoms-mainnet" | "swimmer-mainnet" | "boba-avalanche-mainnet" | "boba-bobabeam-mainnet" | "boba-bnb-mainnet" | "boba-rinkeby-testnet" | "boba-bobabase-testnet" | "boba-bnb-testnet" | "boba-avalanche-testnet" | "klaytn-testnet" | "gather-mainnet" | "gather-testnet" | "skale-calypso" | "skale-mainnet" | "skale-razor" | "avalanche-dexalot-mainnet" | "skale-omnus" | "avalanche-dexalot-testnet" | "astar-shibuya" | "cronos-testnet" | "defi-kingdoms-testnet" | "metis-mainnet" | "metis-stardust" | "milkomeda-a1-mainnet" | "milkomeda-a1-devnet" | "milkomeda-c1-mainnet" | "milkomeda-c1-devnet" | "swimmer-testnet" | "solana-mainnet" | "skale-europa" | "meter-mainnet" | "meter-testnet" | "skale-exorde" | "boba-goerli" | "neon-testnet" | "skale-staging-uum" | "skale-staging-lcc" | "arbitrum-nova-mainnet" | "canto-mainnet" | "bittorrent-mainnet" | "bittorrent-testnet" | "flarenetworks-flare-mainnet" | "flarenetworks-flare-testnet" | "flarenetworks-canary-mainnet" | "flarenetworks-canary-testnet" | "kcc-mainnet" | "kcc-testnet" | "polygon-zkevm-testnet" | "linea-testnet" | "base-testnet" | "mantle-testnet" | "scroll-alpha-testnet" | "oasys-mainnet" | "oasys-testnet" | "findora-mainnet" | "findora-forge-testnet" | "sx-mainnet" | "oasis-sapphire-mainnet" | "oasis-sapphire-testnet" | "optimism-goerli" | "polygon-zkevm-mainnet" | "horizen-yuma-testnet" | "clv-parachain" | "energi-mainnet" | "energi-testnet" | "horizen-gobi-testnet" | "eth-sepolia" | "skale-nebula" | "skale-battleground" | "avalanche-meld-testnet" | "gunzilla-testnet" | "ultron-mainnet" | "ultron-testnet" | "zora-mainnet" | "zora-testnet" | "neon-mainnet" | "avalanche-shrapnel-mainnet" | "base-mainnet" | "mantle-mainnet" | "avalanche-loco-legends-mainnet" | "linea-mainnet" | "horizen-eon-mainnet" | "avalanche-numbers" | "avalanche-dos" | "avalanche-step-network" | "avalanche-xplus" | "avalanche-xanachain" | "avalanche-meld-mainnet" | "opside-public-zkevm" | "opside-law-chain" | "avalanche-shrapnel-testnet" | "avalanche-loco-legends-testnet" | "opside-cb-zkevm" | "opside-pre-alpha-testnet" | "opside-era7" | "opside-xthrill" | "zksync-mainnet" | "metis-testnet" | "zksync-testnet" | "avalanche-blitz-testnet" | "avalanche-d-chain-testnet" | "avalanche-green-dot-testnet" | "avalanche-mintara-testnet" | "avalanche-beam-testnet" | "bnb-meta-apes-mainnet" | "bnb-antimatter-mainnet" | "bnb-antimatter-testnet" | "bnb-opbnb-testnet" | "opside-debox" | "opside-jackbot" | "opside-odx-zkevm-testnet" | "opside-readon-content-testnet" | "opside-relation" | "opside-soquest-zkevm" | "opside-vip3" | "opside-zkmeta" | "avalanche-pulsar-testnet" | "avalanche-uptn" | "bnb-fncy-mainnet" | "zetachain-testnet" | "kinto-testnet" | "mode-testnet" | "loot-mainnet" | "bnb-fncy-testnet" | "manta-testnet" | "pgn-mainnet" | "pgn-testnet" | "gnosis-mainnet" | "gnosis-testnet" | "rollux-mainnet" | "rollux-testnet" | "taiko-jolnir-testnet" | "optimism-sepolia" | "bnb-opbnb-mainnet" | "telos-mainnet" | "telos-testnet" | "avalanche-hubble-exchange-testnet" | "avalanche-miho-testnet" | "avalanche-bulletin-testnet" | "avalanche-kiwi-testnet" | "avalanche-hero-testnet" | "avalanche-avacloud-testnet" | "avalanche-thirdweb-testnet" | "avalanche-mondrian-testnet" | "avalanche-conduit-testnet" | "avalanche-nmac-testnet" | "avalanche-orderly-testnet" | "avalanche-amplify-testnet" | "avalanche-mirai-testnet" | "avalanche-wagmi-testnet" | "avalanche-playa3ull-testnet" | "avalanche-beam-mainnet" | "scroll-mainnet" | "eth-holesky";
9
9
  export type Quote = "USD" | "CAD" | "EUR" | "SGD" | "INR" | "JPY" | "VND" | "CNY" | "KRW" | "RUB" | "TRY" | "NGN" | "ARS" | "AUD" | "CHF" | "GBP";
10
- export declare const userAgent = "com.covalenthq.sdk.typescript/0.7.2";
10
+ export declare const userAgent = "com.covalenthq.sdk.typescript/0.7.3";
11
11
  export declare class Response<T> {
12
12
  data: T;
13
13
  error: boolean;
@@ -431,6 +431,31 @@ declare class TransactionsResponse {
431
431
  prev(): Promise<Response<TransactionsResponse>>;
432
432
  next(): Promise<Response<TransactionsResponse>>;
433
433
  }
434
+ declare class TransactionsTimeBucketResponse {
435
+ private _debug;
436
+ private _apiKey;
437
+ private _threadCount;
438
+ private _urlParams;
439
+ /** * The requested address. */
440
+ address: string;
441
+ /** * The timestamp when the response was generated. Useful to show data staleness to users. */
442
+ updated_at: Date;
443
+ /** * The requested quote currency eg: `USD`. */
444
+ quote_currency: string;
445
+ /** * The requested chain ID eg: `1`. */
446
+ chain_id: number;
447
+ /** * The requested chain name eg: `eth-mainnet`. */
448
+ chain_name: string;
449
+ complete: boolean;
450
+ /** * The current bucket of the response. */
451
+ current_bucket: number;
452
+ links: PaginationLinks;
453
+ /** * List of response items. */
454
+ items: Transaction[];
455
+ constructor(data: TransactionsTimeBucketResponse, _debug: boolean, _apiKey: string, _threadCount: number, _urlParams: URLSearchParams);
456
+ prev(): Promise<Response<TransactionsTimeBucketResponse>>;
457
+ next(): Promise<Response<TransactionsTimeBucketResponse>>;
458
+ }
434
459
  export interface GetTransactionQueryParamOpts {
435
460
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
436
461
  quoteCurrency?: Quote;
@@ -473,6 +498,14 @@ export interface GetTransactionsForAddressV3QueryParamOpts {
473
498
  /** * Include safe details. */
474
499
  withSafe?: boolean;
475
500
  }
501
+ export interface GetTimeBucketTransactionsForAddressQueryParamOpts {
502
+ /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
503
+ quoteCurrency?: Quote;
504
+ /** * Omit log events. */
505
+ noLogs?: boolean;
506
+ /** * Include safe details. */
507
+ withSafe?: boolean;
508
+ }
476
509
  export declare class TransactionService {
477
510
  private apiKey;
478
511
  private debug;
@@ -559,5 +592,17 @@ export declare class TransactionService {
559
592
  *
560
593
  */
561
594
  getTransactionsForAddressV3(chainName: Chain | Chains, walletAddress: string, page: number, queryParamOpts?: GetTransactionsForAddressV3QueryParamOpts): Promise<Response<TransactionsResponse>>;
595
+ /**
596
+ *
597
+ * @param {string} chainName - The chain name eg: `eth-mainnet`.
598
+ * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
599
+ * @param {number} timeBucket - The 0-indexed 15-minute time bucket. E.g. 27 Feb 2023 05:23 GMT = 1677475383 (Unix time). 1677475383/900=1863861 timeBucket.
600
+ * @param {GetTimeBucketTransactionsForAddressQueryParamOpts} queryParamOpts
601
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
602
+ * - `noLogs`: Omit log events.
603
+ * - `withSafe`: Include safe details.
604
+ *
605
+ */
606
+ getTimeBucketTransactionsForAddress(chainName: Chain | Chains, walletAddress: string, timeBucket: number, queryParamOpts?: GetTimeBucketTransactionsForAddressQueryParamOpts): Promise<Response<TransactionsTimeBucketResponse>>;
562
607
  }
563
608
  export {};
@@ -176,5 +176,23 @@ export declare enum Chains {
176
176
  OPTIMISM_SEPOLIA = "optimism-sepolia",
177
177
  BNB_OPBNB_MAINNET = "bnb-opbnb-mainnet",
178
178
  TELOS_MAINNET = "telos-mainnet",
179
- TELOS_TESTNET = "telos-testnet"
179
+ TELOS_TESTNET = "telos-testnet",
180
+ AVALANCHE_HUBBLE_EXCHANGE_TESTNET = "avalanche-hubble-exchange-testnet",
181
+ AVALANCHE_MIHO_TESTNET = "avalanche-miho-testnet",
182
+ AVALANCHE_BULLETIN_TESTNET = "avalanche-bulletin-testnet",
183
+ AVALANCHE_KIWI_TESTNET = "avalanche-kiwi-testnet",
184
+ AVALANCHE_HERO_TESTNET = "avalanche-hero-testnet",
185
+ AVALANCHE_AVACLOUD_TESTNET = "avalanche-avacloud-testnet",
186
+ AVALANCHE_THIRDWEB_TESTNET = "avalanche-thirdweb-testnet",
187
+ AVALANCHE_MONDRIAN_TESTNET = "avalanche-mondrian-testnet",
188
+ AVALANCHE_CONDUIT_TESTNET = "avalanche-conduit-testnet",
189
+ AVALANCHE_NMAC_TESTNET = "avalanche-nmac-testnet",
190
+ AVALANCHE_ORDERLY_TESTNET = "avalanche-orderly-testnet",
191
+ AVALANCHE_AMPLIFY_TESTNET = "avalanche-amplify-testnet",
192
+ AVALANCHE_MIRAI_TESTNET = "avalanche-mirai-testnet",
193
+ AVALANCHE_WAGMI_TESTNET = "avalanche-wagmi-testnet",
194
+ AVALANCHE_PLAYA3ULL_TESTNET = "avalanche-playa3ull-testnet",
195
+ AVALANCHE_BEAM_MAINNET = "avalanche-beam-mainnet",
196
+ SCROLL_MAINNET = "scroll-mainnet",
197
+ ETH_HOLESKY = "eth-holesky"
180
198
  }
@@ -284,6 +284,24 @@ export interface PaginationLinks {
284
284
  /** * URL link to the previous page. */
285
285
  next: string;
286
286
  }
287
+ export interface TransactionsTimeBucketResponse {
288
+ /** * The requested address. */
289
+ address: string;
290
+ /** * The timestamp when the response was generated. Useful to show data staleness to users. */
291
+ updated_at: Date;
292
+ /** * The requested quote currency eg: `USD`. */
293
+ quote_currency: string;
294
+ /** * The requested chain ID eg: `1`. */
295
+ chain_id: number;
296
+ /** * The requested chain name eg: `eth-mainnet`. */
297
+ chain_name: string;
298
+ complete: boolean;
299
+ /** * The current bucket of the response. */
300
+ current_bucket: number;
301
+ links: PaginationLinks;
302
+ /** * List of response items. */
303
+ items: Transaction[];
304
+ }
287
305
  export interface TransactionsBlockResponse {
288
306
  /** * The timestamp when the response was generated. Useful to show data staleness to users. */
289
307
  updated_at: Date;
@@ -5,9 +5,9 @@ import { NftService } from "./NftService";
5
5
  import { PricingService } from "./PricingService";
6
6
  import { TransactionService } from "./TransactionService";
7
7
  import { XykService } from "./XykService";
8
- export type Chain = "btc-mainnet" | "eth-mainnet" | "matic-mainnet" | "bsc-mainnet" | "avalanche-mainnet" | "optimism-mainnet" | "fantom-mainnet" | "moonbeam-mainnet" | "moonbeam-moonriver" | "rsk-mainnet" | "arbitrum-mainnet" | "palm-mainnet" | "klaytn-mainnet" | "heco-mainnet" | "nervos-godwoken-mainnet" | "axie-mainnet" | "evmos-mainnet" | "astar-mainnet" | "iotex-mainnet" | "harmony-mainnet" | "cronos-mainnet" | "aurora-mainnet" | "emerald-paratime-mainnet" | "boba-mainnet" | "eth-goerli" | "matic-mumbai" | "avalanche-testnet" | "bsc-testnet" | "moonbeam-moonbase-alpha" | "rsk-testnet" | "arbitrum-goerli" | "fantom-testnet" | "palm-testnet" | "heco-testnet" | "nervos-godwoken-testnet" | "evmos-testnet" | "astar-shiden" | "iotex-testnet" | "harmony-testnet" | "aurora-testnet" | "scroll-sepolia-testnet" | "covalent-internal-network-v1" | "defi-kingdoms-mainnet" | "swimmer-mainnet" | "boba-avalanche-mainnet" | "boba-bobabeam-mainnet" | "boba-bnb-mainnet" | "boba-rinkeby-testnet" | "boba-bobabase-testnet" | "boba-bnb-testnet" | "boba-avalanche-testnet" | "klaytn-testnet" | "gather-mainnet" | "gather-testnet" | "skale-calypso" | "skale-mainnet" | "skale-razor" | "avalanche-dexalot-mainnet" | "skale-omnus" | "avalanche-dexalot-testnet" | "astar-shibuya" | "cronos-testnet" | "defi-kingdoms-testnet" | "metis-mainnet" | "metis-stardust" | "milkomeda-a1-mainnet" | "milkomeda-a1-devnet" | "milkomeda-c1-mainnet" | "milkomeda-c1-devnet" | "swimmer-testnet" | "solana-mainnet" | "skale-europa" | "meter-mainnet" | "meter-testnet" | "skale-exorde" | "boba-goerli" | "neon-testnet" | "skale-staging-uum" | "skale-staging-lcc" | "arbitrum-nova-mainnet" | "canto-mainnet" | "bittorrent-mainnet" | "bittorrent-testnet" | "flarenetworks-flare-mainnet" | "flarenetworks-flare-testnet" | "flarenetworks-canary-mainnet" | "flarenetworks-canary-testnet" | "kcc-mainnet" | "kcc-testnet" | "polygon-zkevm-testnet" | "linea-testnet" | "base-testnet" | "mantle-testnet" | "scroll-alpha-testnet" | "oasys-mainnet" | "oasys-testnet" | "findora-mainnet" | "findora-forge-testnet" | "sx-mainnet" | "oasis-sapphire-mainnet" | "oasis-sapphire-testnet" | "optimism-goerli" | "polygon-zkevm-mainnet" | "horizen-yuma-testnet" | "clv-parachain" | "energi-mainnet" | "energi-testnet" | "horizen-gobi-testnet" | "eth-sepolia" | "skale-nebula" | "skale-battleground" | "avalanche-meld-testnet" | "gunzilla-testnet" | "ultron-mainnet" | "ultron-testnet" | "zora-mainnet" | "zora-testnet" | "neon-mainnet" | "avalanche-shrapnel-mainnet" | "base-mainnet" | "mantle-mainnet" | "avalanche-loco-legends-mainnet" | "linea-mainnet" | "horizen-eon-mainnet" | "avalanche-numbers" | "avalanche-dos" | "avalanche-step-network" | "avalanche-xplus" | "avalanche-xanachain" | "avalanche-meld-mainnet" | "opside-public-zkevm" | "opside-law-chain" | "avalanche-shrapnel-testnet" | "avalanche-loco-legends-testnet" | "opside-cb-zkevm" | "opside-pre-alpha-testnet" | "opside-era7" | "opside-xthrill" | "zksync-mainnet" | "metis-testnet" | "zksync-testnet" | "avalanche-blitz-testnet" | "avalanche-d-chain-testnet" | "avalanche-green-dot-testnet" | "avalanche-mintara-testnet" | "avalanche-beam-testnet" | "bnb-meta-apes-mainnet" | "bnb-antimatter-mainnet" | "bnb-antimatter-testnet" | "bnb-opbnb-testnet" | "opside-debox" | "opside-jackbot" | "opside-odx-zkevm-testnet" | "opside-readon-content-testnet" | "opside-relation" | "opside-soquest-zkevm" | "opside-vip3" | "opside-zkmeta" | "avalanche-pulsar-testnet" | "avalanche-uptn" | "bnb-fncy-mainnet" | "zetachain-testnet" | "kinto-testnet" | "mode-testnet" | "loot-mainnet" | "bnb-fncy-testnet" | "manta-testnet" | "pgn-mainnet" | "pgn-testnet" | "gnosis-mainnet" | "gnosis-testnet" | "rollux-mainnet" | "rollux-testnet" | "taiko-jolnir-testnet" | "optimism-sepolia" | "bnb-opbnb-mainnet" | "telos-mainnet" | "telos-testnet";
8
+ export type Chain = "btc-mainnet" | "eth-mainnet" | "matic-mainnet" | "bsc-mainnet" | "avalanche-mainnet" | "optimism-mainnet" | "fantom-mainnet" | "moonbeam-mainnet" | "moonbeam-moonriver" | "rsk-mainnet" | "arbitrum-mainnet" | "palm-mainnet" | "klaytn-mainnet" | "heco-mainnet" | "nervos-godwoken-mainnet" | "axie-mainnet" | "evmos-mainnet" | "astar-mainnet" | "iotex-mainnet" | "harmony-mainnet" | "cronos-mainnet" | "aurora-mainnet" | "emerald-paratime-mainnet" | "boba-mainnet" | "eth-goerli" | "matic-mumbai" | "avalanche-testnet" | "bsc-testnet" | "moonbeam-moonbase-alpha" | "rsk-testnet" | "arbitrum-goerli" | "fantom-testnet" | "palm-testnet" | "heco-testnet" | "nervos-godwoken-testnet" | "evmos-testnet" | "astar-shiden" | "iotex-testnet" | "harmony-testnet" | "aurora-testnet" | "scroll-l2-testnet" | "scroll-sepolia-testnet" | "covalent-internal-network-v1" | "defi-kingdoms-mainnet" | "swimmer-mainnet" | "boba-avalanche-mainnet" | "boba-bobabeam-mainnet" | "boba-bnb-mainnet" | "boba-rinkeby-testnet" | "boba-bobabase-testnet" | "boba-bnb-testnet" | "boba-avalanche-testnet" | "klaytn-testnet" | "gather-mainnet" | "gather-testnet" | "skale-calypso" | "skale-mainnet" | "skale-razor" | "avalanche-dexalot-mainnet" | "skale-omnus" | "avalanche-dexalot-testnet" | "astar-shibuya" | "cronos-testnet" | "defi-kingdoms-testnet" | "metis-mainnet" | "metis-stardust" | "milkomeda-a1-mainnet" | "milkomeda-a1-devnet" | "milkomeda-c1-mainnet" | "milkomeda-c1-devnet" | "swimmer-testnet" | "solana-mainnet" | "skale-europa" | "meter-mainnet" | "meter-testnet" | "skale-exorde" | "boba-goerli" | "neon-testnet" | "skale-staging-uum" | "skale-staging-lcc" | "arbitrum-nova-mainnet" | "canto-mainnet" | "bittorrent-mainnet" | "bittorrent-testnet" | "flarenetworks-flare-mainnet" | "flarenetworks-flare-testnet" | "flarenetworks-canary-mainnet" | "flarenetworks-canary-testnet" | "kcc-mainnet" | "kcc-testnet" | "polygon-zkevm-testnet" | "linea-testnet" | "base-testnet" | "mantle-testnet" | "scroll-alpha-testnet" | "oasys-mainnet" | "oasys-testnet" | "findora-mainnet" | "findora-forge-testnet" | "sx-mainnet" | "oasis-sapphire-mainnet" | "oasis-sapphire-testnet" | "optimism-goerli" | "polygon-zkevm-mainnet" | "horizen-yuma-testnet" | "clv-parachain" | "energi-mainnet" | "energi-testnet" | "horizen-gobi-testnet" | "eth-sepolia" | "skale-nebula" | "skale-battleground" | "avalanche-meld-testnet" | "gunzilla-testnet" | "ultron-mainnet" | "ultron-testnet" | "zora-mainnet" | "zora-testnet" | "neon-mainnet" | "avalanche-shrapnel-mainnet" | "base-mainnet" | "mantle-mainnet" | "avalanche-loco-legends-mainnet" | "linea-mainnet" | "horizen-eon-mainnet" | "avalanche-numbers" | "avalanche-dos" | "avalanche-step-network" | "avalanche-xplus" | "avalanche-xanachain" | "avalanche-meld-mainnet" | "opside-public-zkevm" | "opside-law-chain" | "avalanche-shrapnel-testnet" | "avalanche-loco-legends-testnet" | "opside-cb-zkevm" | "opside-pre-alpha-testnet" | "opside-era7" | "opside-xthrill" | "zksync-mainnet" | "metis-testnet" | "zksync-testnet" | "avalanche-blitz-testnet" | "avalanche-d-chain-testnet" | "avalanche-green-dot-testnet" | "avalanche-mintara-testnet" | "avalanche-beam-testnet" | "bnb-meta-apes-mainnet" | "bnb-antimatter-mainnet" | "bnb-antimatter-testnet" | "bnb-opbnb-testnet" | "opside-debox" | "opside-jackbot" | "opside-odx-zkevm-testnet" | "opside-readon-content-testnet" | "opside-relation" | "opside-soquest-zkevm" | "opside-vip3" | "opside-zkmeta" | "avalanche-pulsar-testnet" | "avalanche-uptn" | "bnb-fncy-mainnet" | "zetachain-testnet" | "kinto-testnet" | "mode-testnet" | "loot-mainnet" | "bnb-fncy-testnet" | "manta-testnet" | "pgn-mainnet" | "pgn-testnet" | "gnosis-mainnet" | "gnosis-testnet" | "rollux-mainnet" | "rollux-testnet" | "taiko-jolnir-testnet" | "optimism-sepolia" | "bnb-opbnb-mainnet" | "telos-mainnet" | "telos-testnet" | "avalanche-hubble-exchange-testnet" | "avalanche-miho-testnet" | "avalanche-bulletin-testnet" | "avalanche-kiwi-testnet" | "avalanche-hero-testnet" | "avalanche-avacloud-testnet" | "avalanche-thirdweb-testnet" | "avalanche-mondrian-testnet" | "avalanche-conduit-testnet" | "avalanche-nmac-testnet" | "avalanche-orderly-testnet" | "avalanche-amplify-testnet" | "avalanche-mirai-testnet" | "avalanche-wagmi-testnet" | "avalanche-playa3ull-testnet" | "avalanche-beam-mainnet" | "scroll-mainnet" | "eth-holesky";
9
9
  export type Quote = "USD" | "CAD" | "EUR" | "SGD" | "INR" | "JPY" | "VND" | "CNY" | "KRW" | "RUB" | "TRY" | "NGN" | "ARS" | "AUD" | "CHF" | "GBP";
10
- export declare const userAgent = "com.covalenthq.sdk.typescript/0.7.2";
10
+ export declare const userAgent = "com.covalenthq.sdk.typescript/0.7.3";
11
11
  export declare class Response<T> {
12
12
  data: T;
13
13
  error: boolean;
@@ -6,7 +6,7 @@ import { PricingService } from "./PricingService";
6
6
  import { TransactionService } from "./TransactionService";
7
7
  import { XykService } from "./XykService";
8
8
  import { ApiKeyValidator } from "../util/ApiKeyValidator";
9
- export const userAgent = "com.covalenthq.sdk.typescript/0.7.2";
9
+ export const userAgent = "com.covalenthq.sdk.typescript/0.7.3";
10
10
  export class Response {
11
11
  }
12
12
  /**
@@ -431,6 +431,31 @@ declare class TransactionsResponse {
431
431
  prev(): Promise<Response<TransactionsResponse>>;
432
432
  next(): Promise<Response<TransactionsResponse>>;
433
433
  }
434
+ declare class TransactionsTimeBucketResponse {
435
+ private _debug;
436
+ private _apiKey;
437
+ private _threadCount;
438
+ private _urlParams;
439
+ /** * The requested address. */
440
+ address: string;
441
+ /** * The timestamp when the response was generated. Useful to show data staleness to users. */
442
+ updated_at: Date;
443
+ /** * The requested quote currency eg: `USD`. */
444
+ quote_currency: string;
445
+ /** * The requested chain ID eg: `1`. */
446
+ chain_id: number;
447
+ /** * The requested chain name eg: `eth-mainnet`. */
448
+ chain_name: string;
449
+ complete: boolean;
450
+ /** * The current bucket of the response. */
451
+ current_bucket: number;
452
+ links: PaginationLinks;
453
+ /** * List of response items. */
454
+ items: Transaction[];
455
+ constructor(data: TransactionsTimeBucketResponse, _debug: boolean, _apiKey: string, _threadCount: number, _urlParams: URLSearchParams);
456
+ prev(): Promise<Response<TransactionsTimeBucketResponse>>;
457
+ next(): Promise<Response<TransactionsTimeBucketResponse>>;
458
+ }
434
459
  export interface GetTransactionQueryParamOpts {
435
460
  /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
436
461
  quoteCurrency?: Quote;
@@ -473,6 +498,14 @@ export interface GetTransactionsForAddressV3QueryParamOpts {
473
498
  /** * Include safe details. */
474
499
  withSafe?: boolean;
475
500
  }
501
+ export interface GetTimeBucketTransactionsForAddressQueryParamOpts {
502
+ /** * The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`. */
503
+ quoteCurrency?: Quote;
504
+ /** * Omit log events. */
505
+ noLogs?: boolean;
506
+ /** * Include safe details. */
507
+ withSafe?: boolean;
508
+ }
476
509
  export declare class TransactionService {
477
510
  private apiKey;
478
511
  private debug;
@@ -559,5 +592,17 @@ export declare class TransactionService {
559
592
  *
560
593
  */
561
594
  getTransactionsForAddressV3(chainName: Chain | Chains, walletAddress: string, page: number, queryParamOpts?: GetTransactionsForAddressV3QueryParamOpts): Promise<Response<TransactionsResponse>>;
595
+ /**
596
+ *
597
+ * @param {string} chainName - The chain name eg: `eth-mainnet`.
598
+ * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
599
+ * @param {number} timeBucket - The 0-indexed 15-minute time bucket. E.g. 27 Feb 2023 05:23 GMT = 1677475383 (Unix time). 1677475383/900=1863861 timeBucket.
600
+ * @param {GetTimeBucketTransactionsForAddressQueryParamOpts} queryParamOpts
601
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
602
+ * - `noLogs`: Omit log events.
603
+ * - `withSafe`: Include safe details.
604
+ *
605
+ */
606
+ getTimeBucketTransactionsForAddress(chainName: Chain | Chains, walletAddress: string, timeBucket: number, queryParamOpts?: GetTimeBucketTransactionsForAddressQueryParamOpts): Promise<Response<TransactionsTimeBucketResponse>>;
562
607
  }
563
608
  export {};
@@ -550,6 +550,155 @@ class TransactionsResponse {
550
550
  }
551
551
  }
552
552
  }
553
+ class TransactionsTimeBucketResponse {
554
+ constructor(data, _debug, _apiKey, _threadCount, _urlParams) {
555
+ this._debug = _debug;
556
+ this._apiKey = _apiKey;
557
+ this._threadCount = _threadCount;
558
+ this._urlParams = _urlParams;
559
+ this.address = data.address;
560
+ this.updated_at = data.updated_at && data.updated_at !== null ? parseISO(data.updated_at.toString()) : null;
561
+ this.quote_currency = data.quote_currency;
562
+ this.chain_id = data.chain_id;
563
+ this.chain_name = data.chain_name;
564
+ this.complete = data.complete;
565
+ this.current_bucket = data.current_bucket;
566
+ this.links = data.links && data.links !== null ? new PaginationLinks(data.links) : null;
567
+ this.items = data.items && data.items !== null ? data.items.map((itemData) => new Transaction(itemData)) : null;
568
+ }
569
+ async prev() {
570
+ let success = false;
571
+ let data;
572
+ let response;
573
+ const backoff = new ExponentialBackoff(this._apiKey, this._debug);
574
+ const LIMIT = pLimit(this._threadCount);
575
+ while (!success) {
576
+ try {
577
+ let startTime;
578
+ if (this._debug) {
579
+ startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
580
+ }
581
+ if (this.links.prev === null) {
582
+ success = true;
583
+ return {
584
+ data: null,
585
+ error: true,
586
+ error_code: 400,
587
+ error_message: "Invalid URL: URL link cannot be null"
588
+ };
589
+ }
590
+ response = await LIMIT(() => fetch(`${this.links.prev}?${this._urlParams}`, {
591
+ headers: {
592
+ "Authorization": `Bearer ${this._apiKey}`,
593
+ "X-Requested-With": userAgent
594
+ }
595
+ }));
596
+ debugOutput(response.url, response.status ?? 429, startTime);
597
+ if (response.status === null || response.status === 429) {
598
+ try {
599
+ data = await LIMIT(() => backoff.backOff(response.url));
600
+ }
601
+ catch (error) {
602
+ success = true;
603
+ return {
604
+ data: null,
605
+ error: true,
606
+ error_code: response.status ?? 429,
607
+ error_message: error.message
608
+ };
609
+ }
610
+ }
611
+ else {
612
+ data = await response.json();
613
+ }
614
+ const dataClass = new TransactionsTimeBucketResponse(data.data, this._debug, this._apiKey, this._threadCount, this._urlParams);
615
+ checkAndModifyResponse(dataClass);
616
+ success = true;
617
+ return {
618
+ data: dataClass,
619
+ error: data.error,
620
+ error_code: data ? data.error_code : response.status,
621
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
622
+ };
623
+ }
624
+ catch (error) {
625
+ success = true;
626
+ return {
627
+ data: null,
628
+ error: true,
629
+ error_code: data ? data.error_code : response.status,
630
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
631
+ };
632
+ }
633
+ }
634
+ }
635
+ async next() {
636
+ let success = false;
637
+ let data;
638
+ let response;
639
+ const backoff = new ExponentialBackoff(this._apiKey, this._debug);
640
+ const LIMIT = pLimit(this._threadCount);
641
+ while (!success) {
642
+ try {
643
+ let startTime;
644
+ if (this._debug) {
645
+ startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
646
+ }
647
+ if (this.links.next === null) {
648
+ success = true;
649
+ return {
650
+ data: null,
651
+ error: true,
652
+ error_code: 400,
653
+ error_message: "Invalid URL: URL link cannot be null"
654
+ };
655
+ }
656
+ response = await LIMIT(() => fetch(`${this.links.next}?${this._urlParams}`, {
657
+ headers: {
658
+ "Authorization": `Bearer ${this._apiKey}`,
659
+ "X-Requested-With": userAgent
660
+ }
661
+ }));
662
+ debugOutput(response.url, response.status ?? 429, startTime);
663
+ if (response.status === null || response.status === 429) {
664
+ try {
665
+ data = await LIMIT(() => backoff.backOff(response.url));
666
+ }
667
+ catch (error) {
668
+ success = true;
669
+ return {
670
+ data: null,
671
+ error: true,
672
+ error_code: response.status ?? 429,
673
+ error_message: error.message
674
+ };
675
+ }
676
+ }
677
+ else {
678
+ data = await response.json();
679
+ }
680
+ const dataClass = new TransactionsTimeBucketResponse(data.data, this._debug, this._apiKey, this._threadCount, this._urlParams);
681
+ checkAndModifyResponse(dataClass);
682
+ success = true;
683
+ return {
684
+ data: dataClass,
685
+ error: data.error,
686
+ error_code: data ? data.error_code : response.status,
687
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
688
+ };
689
+ }
690
+ catch (error) {
691
+ success = true;
692
+ return {
693
+ data: null,
694
+ error: true,
695
+ error_code: data ? data.error_code : response.status,
696
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
697
+ };
698
+ }
699
+ }
700
+ }
701
+ }
553
702
  /**
554
703
  * Transactions APIs
555
704
  *
@@ -1054,12 +1203,12 @@ export class TransactionService {
1054
1203
  if (this.debug) {
1055
1204
  startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
1056
1205
  }
1057
- response = await fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/transactions_v3/page/${page}/?${urlParams}`, {
1206
+ response = await this.LIMIT(() => fetch(`https://api.covalenthq.com/v1/${chainName}/address/${walletAddress}/transactions_v3/page/${page}/?${urlParams}`, {
1058
1207
  headers: {
1059
1208
  "Authorization": `Bearer ${this.apiKey}`,
1060
1209
  "X-Requested-With": userAgent
1061
1210
  }
1062
- });
1211
+ }));
1063
1212
  debugOutput(response.url, response.status ?? 429, startTime);
1064
1213
  if (response.status === null || response.status === 429) {
1065
1214
  try {
@@ -1099,5 +1248,90 @@ export class TransactionService {
1099
1248
  }
1100
1249
  }
1101
1250
  }
1251
+ /**
1252
+ *
1253
+ * @param {string} chainName - The chain name eg: `eth-mainnet`.
1254
+ * @param {string} walletAddress - The requested address. Passing in an `ENS`, `RNS`, `Lens Handle`, or an `Unstoppable Domain` resolves automatically.
1255
+ * @param {number} timeBucket - The 0-indexed 15-minute time bucket. E.g. 27 Feb 2023 05:23 GMT = 1677475383 (Unix time). 1677475383/900=1863861 timeBucket.
1256
+ * @param {GetTimeBucketTransactionsForAddressQueryParamOpts} queryParamOpts
1257
+ * - `quoteCurrency`: The currency to convert. Supports `USD`, `CAD`, `EUR`, `SGD`, `INR`, `JPY`, `VND`, `CNY`, `KRW`, `RUB`, `TRY`, `NGN`, `ARS`, `AUD`, `CHF`, and `GBP`.
1258
+ * - `noLogs`: Omit log events.
1259
+ * - `withSafe`: Include safe details.
1260
+ *
1261
+ */
1262
+ async getTimeBucketTransactionsForAddress(chainName, walletAddress, timeBucket, queryParamOpts) {
1263
+ let success = false;
1264
+ let data;
1265
+ let response;
1266
+ const backoff = new ExponentialBackoff(this.apiKey, this.debug);
1267
+ while (!success) {
1268
+ try {
1269
+ const urlParams = new URLSearchParams();
1270
+ if (!this.is_key_valid) {
1271
+ return {
1272
+ data: null,
1273
+ error: true,
1274
+ error_code: 401,
1275
+ error_message: ApiKeyValidator.INVALID_API_KEY_MESSAGE
1276
+ };
1277
+ }
1278
+ if (queryParamOpts?.quoteCurrency !== undefined) {
1279
+ urlParams.append("quote-currency", queryParamOpts?.quoteCurrency.toString());
1280
+ }
1281
+ if (queryParamOpts?.noLogs !== undefined) {
1282
+ urlParams.append("no-logs", queryParamOpts?.noLogs.toString());
1283
+ }
1284
+ if (queryParamOpts?.withSafe !== undefined) {
1285
+ urlParams.append("with-safe", queryParamOpts?.withSafe.toString());
1286
+ }
1287
+ let startTime;
1288
+ if (this.debug) {
1289
+ startTime = typeof performance !== 'undefined' ? performance.now() : process.hrtime();
1290
+ }
1291
+ response = await this.LIMIT(() => fetch(`https://api.covalenthq.com/v1/${chainName}/bulk/transactions/${walletAddress}/${timeBucket}/?${urlParams}`, {
1292
+ headers: {
1293
+ "Authorization": `Bearer ${this.apiKey}`,
1294
+ "X-Requested-With": userAgent
1295
+ }
1296
+ }));
1297
+ debugOutput(response.url, response.status ?? 429, startTime);
1298
+ if (response.status === null || response.status === 429) {
1299
+ try {
1300
+ data = await this.LIMIT(() => backoff.backOff(response.url));
1301
+ }
1302
+ catch (error) {
1303
+ success = true;
1304
+ return {
1305
+ data: null,
1306
+ error: true,
1307
+ error_code: response.status ?? 429,
1308
+ error_message: error.message
1309
+ };
1310
+ }
1311
+ }
1312
+ else {
1313
+ data = await response.json();
1314
+ }
1315
+ const dataClass = new TransactionsTimeBucketResponse(data.data, this.debug, this.apiKey, this.threadCount, urlParams);
1316
+ checkAndModifyResponse(dataClass);
1317
+ success = true;
1318
+ return {
1319
+ data: dataClass,
1320
+ error: data.error,
1321
+ error_code: data ? data.error_code : response.status,
1322
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1323
+ };
1324
+ }
1325
+ catch (error) {
1326
+ success = true;
1327
+ return {
1328
+ data: null,
1329
+ error: true,
1330
+ error_code: data ? data.error_code : response.status,
1331
+ error_message: data ? data.error_message : response.status === 500 ? "Internal server error" : "401 Authorization Required"
1332
+ };
1333
+ }
1334
+ }
1335
+ }
1102
1336
  }
1103
1337
  //# sourceMappingURL=TransactionService.js.map