UNPKG

lisk-framework

Version:

Lisk blockchain application platform

30 lines (29 loc) 1.18 kB
import { APIClient } from '@liskhq/lisk-api-client'; import { Logger } from '../logger'; import { ApplicationConfigForPlugin, PluginConfig, SchemaWithDefault } from '../types'; import { BasePluginEndpoint } from './base_plugin_endpoint'; export interface PluginInitContext<T = Record<string, unknown>> { logger: Logger; config: PluginConfig & T; appConfig: ApplicationConfigForPlugin; } export declare const getPluginExportPath: (pluginInstance: BasePlugin) => string | undefined; export declare const validatePluginSpec: (pluginInstance: BasePlugin) => void; export declare abstract class BasePlugin<T = Record<string, unknown>> { readonly configSchema?: SchemaWithDefault; endpoint?: BasePluginEndpoint; protected logger: Logger; private _apiClient; private _config; private _appConfig; get name(): string; get config(): T; get appConfig(): ApplicationConfigForPlugin; get dataPath(): string; get events(): string[]; get apiClient(): APIClient; init(context: PluginInitContext): Promise<void>; abstract get nodeModulePath(): string; abstract load(): Promise<void>; abstract unload(): Promise<void>; }