UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

34 lines 1.74 kB
import { MultiProvider } from '../../providers/MultiProvider.js'; import { ChainMap, ChainName } from '../../types.js'; import { BuildArtifact, CompilerOptions, ContractVerificationInput, SolidityStandardJsonInput } from './types.js'; export declare class ContractVerifier { protected readonly multiProvider: MultiProvider; protected readonly apiKeys: ChainMap<string>; protected logger: import("pino").default.Logger<never>; protected contractSourceMap: { [contractName: string]: string; }; protected readonly standardInputJson: SolidityStandardJsonInput; protected readonly compilerOptions: CompilerOptions; constructor(multiProvider: MultiProvider, apiKeys: ChainMap<string>, buildArtifact: BuildArtifact, licenseType: CompilerOptions['licenseType']); verifyContract(chain: ChainName, input: ContractVerificationInput, logger?: import("pino").default.Logger<never>): Promise<void>; private submitForm; private verify; private checkStatus; private getProxyData; private getImplementationData; /** * Filters the solidity standard input for a specific contract name. * * This is a BFS impl to traverse the source input dependency graph. * 1. Named contract file is set as root node. * 2. The next level is formed by the direct imports of the contract file. * 3. Each subsequent level's dependencies form the next level, etc. * 4. The queue tracks the next files to process, and ensures the dependency graph explorered level by level. */ private filterStandardInputJsonByContractName; private getContractFile; private getAllImportStatements; private resolveImportPath; } //# sourceMappingURL=ContractVerifier.d.ts.map