@mavrykdynamics/taquito
Version:
High level functionality that builds upon the other packages in the Mavryk Typescript Library Suite.
101 lines (100 loc) • 4.49 kB
TypeScript
import { RpcClientInterface } from '@mavrykdynamics/taquito-rpc';
import { Protocols } from './constants';
import { Forger } from '@mavrykdynamics/taquito-local-forging';
import { Injector } from './injector/interface';
import { Signer } from './signer/interface';
import { OperationFactory } from './wallet/operation-factory';
import { RpcMvProvider } from './mv/rpc-mv-provider';
import { RPCEstimateProvider } from './estimate/rpc-estimate-provider';
import { RpcContractProvider } from './contract/rpc-contract-provider';
import { RPCBatchProvider } from './batch/rpc-batch-provider';
import { Wallet, WalletProvider } from './wallet';
import { ParserProvider } from './parser/interface';
import { Packer } from './packer/interface';
import { BehaviorSubject } from 'rxjs';
import { GlobalConstantsProvider } from './global-constants/interface-global-constants-provider';
import { MvReadProvider } from './read-provider/interface';
import { SubscribeProvider } from './subscribe/interface';
import { PrepareProvider } from './prepare/prepare-provider';
export interface TaquitoProvider<T, K extends Array<any>> {
new (context: Context, ...rest: K): T;
}
export interface ConfigConfirmation {
confirmationPollingTimeoutSecond: number;
defaultConfirmationCount: number;
}
export declare const defaultConfigConfirmation: ConfigConfirmation;
/**
* @description Encapsulate common service used throughout different part of the library
*/
export declare class Context {
private _rpc;
private _signer;
private _proto?;
readonly _config: BehaviorSubject<{
confirmationPollingTimeoutSecond: number;
defaultConfirmationCount: number;
}>;
private _rpcClient;
private _forger;
private _parser;
private _injector;
private _walletProvider;
readonly operationFactory: OperationFactory;
private _packer;
private providerDecorator;
private _globalConstantsProvider;
private _readProvider;
private _stream;
readonly mv: RpcMvProvider;
readonly estimate: RPCEstimateProvider;
readonly contract: RpcContractProvider;
readonly prepare: PrepareProvider;
readonly batch: RPCBatchProvider;
readonly wallet: Wallet;
constructor(_rpc: RpcClientInterface | string, _signer?: Signer, _proto?: Protocols | undefined, _config?: BehaviorSubject<{
confirmationPollingTimeoutSecond: number;
defaultConfirmationCount: number;
}>, forger?: Forger, injector?: Injector, packer?: Packer, wallet?: WalletProvider, parser?: ParserProvider, globalConstantsProvider?: GlobalConstantsProvider, readProvider?: MvReadProvider, stream?: SubscribeProvider);
get config(): ConfigConfirmation;
set config(value: ConfigConfirmation);
setPartialConfig(value: Partial<ConfigConfirmation>): void;
get rpc(): RpcClientInterface;
set rpc(value: RpcClientInterface);
get injector(): Injector;
set injector(value: Injector);
get forger(): Forger;
set forger(value: Forger);
get signer(): Signer;
set signer(value: Signer);
get walletProvider(): WalletProvider;
set walletProvider(value: WalletProvider);
set proto(value: Protocols | undefined);
get proto(): Protocols | undefined;
get parser(): ParserProvider;
set parser(value: ParserProvider);
get packer(): Packer;
set packer(value: Packer);
get globalConstantsProvider(): GlobalConstantsProvider;
set globalConstantsProvider(value: GlobalConstantsProvider);
get readProvider(): MvReadProvider;
set readProvider(value: MvReadProvider);
get stream(): SubscribeProvider;
set stream(value: SubscribeProvider);
isAnyProtocolActive(protocol?: string[]): Promise<boolean>;
isAnySignerConfigured(): boolean;
/**
* @description Create a copy of the current context. Useful when you have long running operation and you do not want a context change to affect the operation
*/
clone(): Context;
/**
* @description Allows extensions set on the MavrykToolkit to inject logic into the context
*/
registerProviderDecorator(fx: (context: Context) => Context): void;
/**
* @description Applies the decorators on a cloned instance of the context and returned this cloned instance.
* The decorators are functions that inject logic into the context.
* They are provided by the extensions set on the MavrykToolkit by calling the registerProviderDecorator method.
*/
withExtensions: () => Context;
}