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
TypeScript
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);
}