UNPKG

zksync-cli

Version:

CLI tool that simplifies the process of developing applications and interacting with the ZKsync network

55 lines (54 loc) 2.04 kB
import type { L2Chain } from "../../../data/chains.js"; import type { LogEntry } from "../../../utils/formatters.js"; import type { ConfigHandler } from "../ModulesConfigHandler.js"; export declare enum ModuleCategory { Node = "node", Dapp = "dapp", Explorer = "explorer", Service = "service", Other = "other" } export type DefaultModuleFields = { name: string; description: string; category: ModuleCategory; }; export declare const modulesPath: string; export declare const createModulesFolder: () => void; type ModuleConfigDefault = Record<string, unknown>; declare abstract class Module<TModuleConfig = ModuleConfigDefault> { configHandler: ConfigHandler; name: DefaultModuleFields["name"]; description: DefaultModuleFields["description"]; category: DefaultModuleFields["category"]; package: { name: string; version: string; symlinked: boolean; }; isNodeSupported(_: NodeInfo): boolean | Promise<boolean>; abstract isInstalled(): Promise<boolean>; abstract install(): Promise<void>; abstract isRunning(): Promise<boolean>; get startAfterNode(): boolean; abstract start(): Promise<void>; getStartupInfo(): LogEntry[] | Promise<LogEntry[]>; getLogs(): Promise<void | string[]>; get version(): string | undefined; getLatestVersion(): Promise<string | undefined>; update(): Promise<void>; abstract stop(): Promise<void>; abstract clean(): Promise<void>; get dataDirPath(): string; get configPath(): string; get moduleConfig(): TModuleConfig; setModuleConfig(config: TModuleConfig): void; removeDataDir(): void; constructor(data: DefaultModuleFields, configHandler: ConfigHandler); } export default Module; export type NodeInfo = L2Chain; export declare abstract class ModuleNode<TModuleConfig = ModuleConfigDefault> extends Module<TModuleConfig> { abstract get nodeInfo(): NodeInfo; constructor(data: Omit<DefaultModuleFields, "category">, modulesConfigHandler: ConfigHandler); }