@tatumio/tatum
Version:
Tatum JS SDK
34 lines (33 loc) • 1.4 kB
TypeScript
import { ITatumSdkContainer, TatumSdkExtension } from '../extensions';
import { WalletProvider } from '../walletProvider';
import { TatumConfig } from './tatum.dto';
/**
* Works as an entrypoint to interact with extension of choice.
* @param type - Extension type imported to the SDK instance
*/
export interface ITatumSdkChain {
extension<T extends TatumSdkExtension>(type: new (tatumSdkContainer: ITatumSdkContainer, ...args: any[]) => T): T;
}
export declare abstract class TatumSdkChain implements ITatumSdkChain {
readonly id: string;
walletProvider: WalletProvider;
protected constructor(id: string);
extension<T extends TatumSdkExtension>(type: new (tatumSdkContainer: ITatumSdkContainer, ...args: any[]) => T): T;
destroy(): Promise<void>;
private destroyExtension;
}
export declare class TatumSDK {
/**
* Initialize Tatum SDK. This method must be called before any other method.
* Default configuration is used if no configuration is provided.
* @param config
*/
static init<T extends ITatumSdkChain>(config: TatumConfig): Promise<T>;
private static builtInExtensions;
private static addBuiltInExtensions;
private static configureExtensions;
private static addExtension;
private static checkIfNetworkSupportedInExtension;
private static generateRandomString;
private static shouldEvictNodesOnFailure;
}