UNPKG

@openzeppelin/hardhat-upgrades

Version:

[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/upgrades-plugins/hardhat-upgrades) [![NPM Package](https://img.shields.io/npm/v/@openzeppelin/hardhat-upgrades.svg)](https://www.npmjs.org/package/@openzeppelin/h

65 lines • 2.81 kB
import type { BuildInfo, ArtifactManager } from 'hardhat/types/artifacts'; import type { CompilerInput } from 'hardhat/types/solidity'; /** * Combined build info with output, compatible with legacy format expectations. * This matches the structure expected by code that was written for Hardhat 2. * The output field contains at minimum the contracts property, but may have other * properties depending on the compiler output format. */ export interface CombinedBuildInfo { _format: string; id: string; solcVersion: string; solcLongVersion: string; input: CompilerInput; output: { contracts: { [inputSourceName: string]: { [contractName: string]: any; }; }; [key: string]: any; }; } /** * Gets the BuildInfo for a given contract name or fully qualified name. * * This utility uses the public API of Hardhat's ArtifactManager to retrieve * the full BuildInfo object, which includes compilation details, compiler version, * and all contract artifacts from a compilation unit. * * @param artifactManager - The ArtifactManager instance from hre.artifacts * @param contractNameOrFullyQualifiedName - Contract name or fully qualified name (e.g., "MyContract" or "contracts/MyContract.sol:MyContract") * @returns The BuildInfo object or undefined if not found * * @example * ```typescript * const buildInfo = await getBuildInfo(hre.artifacts, 'MyContract'); * if (buildInfo) { * console.log('Solidity version:', buildInfo.solcVersion); * console.log('Input:', buildInfo.input); * } * ``` */ export declare function getBuildInfo(artifactManager: ArtifactManager, contractNameOrFullyQualifiedName: string): Promise<BuildInfo | undefined>; /** * Gets the combined BuildInfo with output for a given contract name or fully qualified name. * * In Hardhat 3, build info and output are stored separately. This utility combines them * into a single object for backwards compatibility with code expecting the Hardhat 2 format. * * @param artifactManager - The ArtifactManager instance from hre.artifacts * @param contractNameOrFullyQualifiedName - Contract name or fully qualified name (e.g., "MyContract" or "contracts/MyContract.sol:MyContract") * @returns The combined BuildInfo with output, or undefined if not found * * @example * ```typescript * const buildInfo = await getCombinedBuildInfo(hre.artifacts, 'MyContract'); * if (buildInfo) { * console.log('Solidity version:', buildInfo.solcVersion); * console.log('Contracts:', Object.keys(buildInfo.output.contracts)); * } * ``` */ export declare function getCombinedBuildInfo(artifactManager: ArtifactManager, contractNameOrFullyQualifiedName: string): Promise<CombinedBuildInfo | undefined>; //# sourceMappingURL=artifacts.d.ts.map