alchemy-sdk
Version:
Extended Ethers.js SDK for Alchemy APIs
60 lines (59 loc) • 2.5 kB
TypeScript
import { AlchemySettings } from '../types/types';
import { AlchemyConfig } from './alchemy-config';
import { CoreNamespace } from './core-namespace';
import { DebugNamespace } from './debug-namespace';
import { NftNamespace } from './nft-namespace';
import { NotifyNamespace } from './notify-namespace';
import { PricesNamespace } from './prices-namespace';
import { TransactNamespace } from './transact-namespace';
import { WebSocketNamespace } from './websocket-namespace';
/**
* The Alchemy SDK client. This class is the main entry point into Alchemy's
* APIs and separates functionality into different namespaces.
*
* Each SDK instance is associated with a specific network and API key. To use a
* different network or API key, create a new instance of {@link Alchemy}.
*
* @public
*/
export declare class Alchemy {
/**
* The `core` namespace contains the core eth json-rpc calls and Alchemy's
* Enhanced APIs.
*/
readonly core: CoreNamespace;
/** The `nft` namespace contains methods for Alchemy's NFT API. */
readonly nft: NftNamespace;
/** The `ws` namespace contains methods for using WebSockets and creating subscriptions. */
readonly ws: WebSocketNamespace;
/**
* The `transact` namespace contains methods for sending transactions and
* checking on the state of submitted transasctions.
*/
readonly transact: TransactNamespace;
/**
* Holds the setting information for the instance of the Alchemy SDK client
* and allows access to the underlying providers.
*/
readonly config: AlchemyConfig;
/**
* The `notify` namespace contains methods for creating and managing webhooks
* as part of the Notify API.
*/
readonly notify: NotifyNamespace;
/**
* The `debug` namespace contains methods for inspecting and debugging
* transactions.
*/
readonly debug: DebugNamespace;
/** The `prices` namespace contains methods for getting token price data. */
readonly prices: PricesNamespace;
/**
* @param {string} [settings.apiKey] - The API key to use for Alchemy
* @param {Network} [settings.network] - The network to use for Alchemy
* @param {number} [settings.maxRetries] - The maximum number of retries to attempt
* @param {number} [settings.requestTimeout] - The timeout after which request should fail
* @public
*/
constructor(settings?: AlchemySettings);
}