import { MastercopyArtifact } from "../types"; /** * Extracts and stores current Mastercopy result from current contract build, and stores it in the artifacts file. * * It is recommended to provide `compilerInput`, as the internal code will include all generated sources in the verification, rather than just the sources reached by the current contract through graph traversal. * * @param {Object} params - The function parameters. * @param {string} params.contractVersion - The version of the contract. * @param {string} params.contractName - The name of the contract. * @param {Object} params.constructorArgs - The constructor arguments. * @param {any[]} params.constructorArgs.types - The types of the constructor arguments. * @param {any[]} params.constructorArgs.values - The values of the constructor arguments. * @param {string} params.salt - A 32-byte value used for mastercopy deployment. * @param {string} [params.factory=erc2470FactoryAddress] - The address of the factory contract used to deploy the mastercopy. Optional. * @param {any} [params.compilerInput] - The minimal compiler input. Optional. * @param {string} [params.buildDirPath=defaultBuildDir()] - The path to the build directory. Optional. * @param {string} [params.mastercopyArtifactsFile=defaultMastercopyArtifactsFile()] - The path to the mastercopy artifacts file. Optional. */ export default function writeMastercopyFromBuild({ contractVersion, contractName, compilerInput: minimalCompilerInput, factory, constructorArgs, salt, buildDirPath, mastercopyArtifactsFile, }: { contractVersion: string; contractName: string; factory?: string; constructorArgs: { types: any[]; values: any[]; }; salt: string; compilerInput?: any; buildDirPath?: string; mastercopyArtifactsFile?: string; }): MastercopyArtifact;