diff --git a/packages/hardhat-zksync-solc/src/types.ts b/packages/hardhat-zksync-solc/src/types.ts index 75762ec98..cf304ba60 100644 --- a/packages/hardhat-zksync-solc/src/types.ts +++ b/packages/hardhat-zksync-solc/src/types.ts @@ -46,10 +46,14 @@ export interface ZkSolcConfig { forceContractsToCompile?: string[]; // Dump all IR (Yul, EVMLA, LLVM IR, assembly) to files in the specified directory. Only for testing and debugging. debugOutputDir?: string; - // Suppress specified warnings. Currently supported: txorigin, sendtransfer + // Suppress specified warnings. Currently supported: txorigin suppressedWarnings?: string[]; - // Suppress specified errors. Currently supported: txorigin, sendtransfer + // Suppress specified errors. Currently supported: assemblycreate, sendtransfer suppressedErrors?: string[]; + // Optional, zksolc: extra LLVM settings. + LLVMOptions?: string[]; + // Can be "evmla" or "yul".In contract to solc, zksolc uses "Yul" codegen by default for solc v0.8.0 and newer. + codegen?: string; }; } diff --git a/packages/hardhat-zksync-solc/src/utils.ts b/packages/hardhat-zksync-solc/src/utils.ts index 1b0841094..51460a5a1 100644 --- a/packages/hardhat-zksync-solc/src/utils.ts +++ b/packages/hardhat-zksync-solc/src/utils.ts @@ -124,6 +124,8 @@ export function updateBreakableCompilerConfig( compiler.settings.detectMissingLibraries = false; compiler.settings.forceEVMLA = zksolc.settings.forceEVMLA; compiler.settings.enableEraVMExtensions = zksolc.settings.enableEraVMExtensions; + compiler.settings.codegen = zksolc.settings.codegen; + compiler.settings.LLVMOptions = zksolc.settings.LLVMOptions; } solcUpdaters