@matterlabs/hardhat-zksync-solc
Version:
Hardhat plugin to compile smart contracts for the ZKsync network
70 lines • 1.96 kB
TypeScript
import { Artifact, CompilerInput } from 'hardhat/types';
export interface ZkSolcConfig {
version: string;
compilerSource?: 'binary' | 'docker';
settings: {
compilerPath?: string;
missingLibrariesPath?: string;
areLibrariesMissing?: boolean;
linkLibraries?: LinkLibraries;
optimizer?: {
enabled?: boolean;
[key: string]: any;
};
metadata?: {
bytecodeHash?: 'none';
useLiteralContent?: boolean;
};
libraries?: {
[file: string]: {
[library: string]: string;
};
};
experimental?: {
dockerImage?: string;
tag?: string;
};
isSystem?: boolean;
enableEraVMExtensions?: boolean;
forceEvmla?: boolean;
forceEVMLA?: boolean;
contractsToCompile?: string[];
forceContractsToCompile?: string[];
debugOutputDir?: string;
suppressedWarnings?: string[];
suppressedErrors?: string[];
LLVMOptions?: string[];
codegen?: string;
};
}
export interface ZkSyncCompilerInput extends CompilerInput {
suppressedWarnings?: string[];
suppressedErrors?: string[];
}
export interface CompilerOutputSelection {
[file: string]: {
[contract: string]: string[];
};
}
/**
* Description of the factory dependencies of a contract.
* Dependencies are contracts that can be deployed by this contract via `CREATE` operation.
*/
export interface FactoryDeps {
[contractId: string]: string;
}
export interface ZkSyncArtifact extends Artifact {
factoryDeps: FactoryDeps;
}
export interface MissingLibrary {
contractName: string;
contractPath: string;
missingLibraries: string[];
}
export interface LinkLibraries {
contractZbinPath: string;
libraries?: {
[libraryName: string]: string;
};
}
//# sourceMappingURL=types.d.ts.map