@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
34 lines • 1.74 kB
TypeScript
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