@matterlabs/hardhat-zksync-solc
Version:
Hardhat plugin to compile smart contracts for the ZKsync network
36 lines • 1.59 kB
TypeScript
import { HardhatDocker, Image } from '@nomiclabs/hardhat-docker';
import { CompilerInput } from 'hardhat/types';
import { LinkLibraries, ZkSolcConfig } from '../types';
export declare function compile(zksolcConfig: ZkSolcConfig, input: CompilerInput, solcPath?: string): Promise<any>;
export declare function link(zksolcConfig: ZkSolcConfig, linkLibraries: LinkLibraries): Promise<any>;
export interface ICompiler {
compile(input: CompilerInput, config: ZkSolcConfig): Promise<any>;
}
export interface ILinker {
link(config: ZkSolcConfig, linkLibraries: LinkLibraries): Promise<any>;
}
export declare class BinaryCompiler implements ICompiler {
solcPath: string;
constructor(solcPath: string);
compile(input: CompilerInput, config: ZkSolcConfig): Promise<any>;
}
/**
* Dedicated linker for binary builds.
* Linking does not require the local `solc` binary, only the `zksolc` executable
* referenced by `config.settings.compilerPath`, therefore no constructor arguments.
*/
export declare class BinaryLinker implements ILinker {
link(config: ZkSolcConfig, linkLibraries: LinkLibraries): Promise<any>;
}
export declare class DockerCompiler implements ICompiler {
dockerCompilerImage: Image;
docker: HardhatDocker;
protected constructor(dockerCompilerImage: Image, docker: HardhatDocker);
static initialize(config: ZkSolcConfig): Promise<DockerCompiler>;
compile(input: CompilerInput, config: ZkSolcConfig): Promise<any>;
solcVersion(): Promise<{
version: string;
longVersion: string;
}>;
}
//# sourceMappingURL=index.d.ts.map