UNPKG

hardhat

Version:

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

115 lines 5.05 kB
import type { SolidityBuildSystem } from "../../../types/solidity/build-system.js"; import type { CompilerInput } from "../../../types/solidity.js"; import "../../../types/config.js"; declare module "../../../types/config.js" { type SolidityUserConfig = string | string[] | SingleVersionSolidityUserConfig | MultiVersionSolidityUserConfig | BuildProfilesSolidityUserConfig; interface SolcUserConfig { version: string; settings?: any; path?: string; } interface SingleVersionSolcUserConfig extends SolcUserConfig { isolated?: boolean; preferWasm?: boolean; } interface MultiVersionSolcUserConfig { isolated?: boolean; preferWasm?: boolean; compilers: SolcUserConfig[]; overrides?: Record<string, SolcUserConfig>; } interface CommonSolidityUserConfig { npmFilesToBuild?: string[]; } interface SingleVersionSolidityUserConfig extends SingleVersionSolcUserConfig, CommonSolidityUserConfig { } interface MultiVersionSolidityUserConfig extends MultiVersionSolcUserConfig, CommonSolidityUserConfig { } interface BuildProfilesSolidityUserConfig extends CommonSolidityUserConfig { profiles: Record<string, SingleVersionSolcUserConfig | MultiVersionSolcUserConfig>; } interface HardhatUserConfig { solidity?: SolidityUserConfig; } interface SolcConfig { version: string; settings: any; path?: string; } interface SolidityBuildProfileConfig { isolated: boolean; preferWasm: boolean; compilers: SolcConfig[]; overrides: Record<string, SolcConfig>; } interface SolidityConfig { profiles: Record<string, SolidityBuildProfileConfig>; npmFilesToBuild: string[]; } interface HardhatConfig { solidity: SolidityConfig; } interface SourcePathsUserConfig { solidity?: string | string[]; } interface SourcePathsConfig { solidity: string[]; } } import "../../../types/hre.js"; declare module "../../../types/hre.js" { interface HardhatRuntimeEnvironment { solidity: SolidityBuildSystem; } } import "../../../types/global-options.js"; declare module "../../../types/global-options.js" { interface GlobalOptions { buildProfile: string; } } import "../../../types/hooks.js"; declare module "../../../types/hooks.js" { interface HardhatHooks { solidity: SolidityHooks; } interface SolidityHooks { /** * Hook triggered during the cleanup process of Solidity compilation artifacts. * This hook runs after unused artifacts and build-info files have been removed. * * @param context The hook context. * @param artifactPaths The file paths of artifacts that remain after cleanup. * @param next A function to call the next handler for this hook, or the * default implementation if no more handlers exist. */ onCleanUpArtifacts: (context: HookContext, artifactPaths: string[], next: (nextContext: HookContext, artifactPaths: string[]) => Promise<void>) => Promise<void>; /** * Hook triggered within the compilation job when its' solc input is first constructed. * * @param context The hook context. * @param inputSourceName The input source name of the project file. * @param fsPath The absolute path to the project file. * @param fileContent The content of the project file. * @param solcVersion The solc version that will be used to compile the project file. * @param next A function to call the next handler for this hook, or the * default implementation if no more handlers exist. * * @returns The modified file content. */ preprocessProjectFileBeforeBuilding(context: HookContext, inputSourceName: string, fsPath: string, fileContent: string, solcVersion: string, next: (nextContext: HookContext, nextInputSourceName: string, nextFsPath: string, nextFileContent: string, nextSolcVersion: string) => Promise<string>): Promise<string>; /** * Hook triggered within the compilation job when its' solc input is first constructed. * * @param context The hook context. * @param solcInput The solc input that will be passed to solc. * @param next A function to call the next handler for this hook, or the * default implementation if no more handlers exist. * * @returns The modified solc input. */ preprocessSolcInputBeforeBuilding(context: HookContext, solcInput: CompilerInput, next: (nextContext: HookContext, nextSolcInput: CompilerInput) => Promise<CompilerInput>): Promise<CompilerInput>; readSourceFile: (context: HookContext, absolutePath: string, next: (nextContext: HookContext, nextAbsolutePath: string) => Promise<string>) => Promise<string>; } } //# sourceMappingURL=type-extensions.d.ts.map