UNPKG

hardhat

Version:

Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.

65 lines 3.48 kB
import type { UnsafeHardhatRuntimeEnvironmentOptions } from "./types.js"; import type { ArtifactManager } from "../../types/artifacts.js"; import type { HardhatUserConfig, HardhatConfig } from "../../types/config.js"; import type { GlobalOptions } from "../../types/global-options.js"; import type { HardhatUserConfigValidationError, HookManager } from "../../types/hooks.js"; import type { HardhatRuntimeEnvironment } from "../../types/hre.js"; import type { NetworkManager } from "../../types/network.js"; import type { HardhatPlugin } from "../../types/plugins.js"; import type { SolidityBuildSystem } from "../../types/solidity/build-system.js"; import type { TaskManager } from "../../types/tasks.js"; import type { UserInterruptionManager } from "../../types/user-interruptions.js"; import type { CoverageManager } from "../builtin-plugins/coverage/types.js"; import type { GasAnalyticsManager } from "../builtin-plugins/gas-analytics/types.js"; export declare class HardhatRuntimeEnvironmentImplementation implements HardhatRuntimeEnvironment { readonly userConfig: HardhatUserConfig; readonly config: HardhatConfig; readonly hooks: HookManager; readonly interruptions: UserInterruptionManager; readonly globalOptions: GlobalOptions; readonly versions: { readonly hardhat: string; readonly edr: string; }; network: NetworkManager; artifacts: ArtifactManager; solidity: SolidityBuildSystem; _coverage: CoverageManager; _gasAnalytics: GasAnalyticsManager; static create(inputUserConfig: HardhatUserConfig, userProvidedGlobalOptions: Partial<GlobalOptions>, projectRoot?: string, unsafeOptions?: UnsafeHardhatRuntimeEnvironmentOptions): Promise<HardhatRuntimeEnvironmentImplementation>; readonly tasks: TaskManager; private constructor(); } /** * Resolves the project root of a Hardhat project based on the config file or * another path within the project. If not provided, it will be resolved from * the current working directory. * * @param absolutePathWithinProject An absolute path within the project, usually * the config file. */ export declare function resolveProjectRoot(absolutePathWithinProject: string | undefined): Promise<string>; /** * Runs the provided Hardhat user config through the resolution process, * invoking relevant plugin hooks (both internal and external) to extend * and transform the config into a full HardhatConfig. * * @param hooks - The HookManager used to run config extension and validation * hooks. * @param inputUserConfig - The initial user provided Hardhat config object. * @param resolvedProjectRoot - The project root path. * @param userProvidedConfigPath - The user provided Hardhat config file path. * @param resolvedPlugins - The list of plugins, we do not want the plugins * overwriting them so we re-add them to the final HardhatConfig. * @returns Either an object containing the resolved HardhatConfig and the * extended version of the user config, or a list of validation errors. */ export declare function resolveUserConfigToHardhatConfig(inputUserConfig: HardhatUserConfig, hooks: HookManager, resolvedProjectRoot: string, userProvidedConfigPath: string | undefined, resolvedPlugins: HardhatPlugin[]): Promise<{ success: true; config: HardhatConfig; extendedUserConfig: HardhatUserConfig; } | { success: false; userConfigValidationErrors: HardhatUserConfigValidationError[]; }>; //# sourceMappingURL=hre.d.ts.map