UNPKG

hardhat

Version:

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

41 lines 2.1 kB
import type { ArtifactManager, GetArtifactByName } from "../../../types/artifacts.js"; export declare const BUILD_INFO_DIR_NAME = "build-info"; export declare const EDIT_DISTANCE_THRESHOLD = 3; /** * We cache the info that we read from the file system, otherwise we would * have to traverse the filesystem every time we need to get the an artifact. * * To keep our view of the filesystem consistent, we cache everything at the * same time, using this interface to organize the data. */ interface FsData { allArtifactPaths: ReadonlySet<string>; allFullyQualifiedNames: ReadonlySet<string>; bareNameToFullyQualifiedNameMap: Map<string, ReadonlySet<string>>; fullyQualifiedNameToArtifactPath: Map<string, string>; } export declare class ArtifactManagerImplementation implements ArtifactManager { #private; constructor(artifactsPath: string, readFsData?: () => Promise<FsData>); readArtifact<ContractNameT extends string>(contractNameOrFullyQualifiedName: ContractNameT): Promise<GetArtifactByName<ContractNameT>>; getArtifactPath(contractNameOrFullyQualifiedName: string): Promise<string>; artifactExists(contractNameOrFullyQualifiedName: string): Promise<boolean>; getBuildInfoId(contractNameOrFullyQualifiedName: string): Promise<string | undefined>; getAllFullyQualifiedNames(): Promise<ReadonlySet<string>>; getAllBuildInfoIds(): Promise<ReadonlySet<string>>; getBuildInfoPath(buildInfoId: string): Promise<string | undefined>; getBuildInfoOutputPath(buildInfoId: string): Promise<string | undefined>; clearCache(): Promise<void>; } /** * Returns the edit-distance between two given strings using Levenshtein distance. * * @param a First string being compared * @param b Second string being compared * @returns distance between the two strings (lower number == more similar) * @see https://github.com/gustf/js-levenshtein * @license MIT - https://github.com/gustf/js-levenshtein/blob/master/LICENSE */ export declare function editDistance(a: string, b: string): number; export {}; //# sourceMappingURL=artifact-manager.d.ts.map