@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
30 lines • 1.78 kB
TypeScript
import { Logger } from 'pino';
import { Address } from '@hyperlane-xyz/utils';
import { MultiProvider } from '../../providers/MultiProvider.js';
import { ContractVerificationStatus } from '../../token/types.js';
import { ChainMap, ChainName } from '../../types.js';
import { BaseContractVerifier } from './BaseContractVerifier.js';
import { BuildArtifact, CompilerOptions, ContractVerificationInput, SolidityStandardJsonInput } from './types.js';
export declare class ContractVerifier extends BaseContractVerifier {
protected readonly multiProvider: MultiProvider;
protected readonly apiKeys: ChainMap<string>;
protected logger: import("pino").default.Logger<never>;
protected readonly compilerOptions: CompilerOptions;
constructor(multiProvider: MultiProvider, apiKeys: ChainMap<string>, buildArtifact: BuildArtifact, licenseType: CompilerOptions['licenseType']);
protected verify(chain: ChainName, input: ContractVerificationInput, verificationLogger: Logger): Promise<void>;
private verifyImplementation;
private verifyProxy;
private checkStatus;
protected prepareImplementationData(sourceName: string, input: ContractVerificationInput, filteredStandardInputJson: SolidityStandardJsonInput): {
codeformat: "solidity-standard-json-input";
compilerversion: string;
licenseType?: import("../../block-explorer/etherscan.js").ExplorerLicenseType;
zksolcversion?: string;
sourceCode: SolidityStandardJsonInput;
contractname: string;
contractaddress: string;
constructorArguements: string;
};
getContractVerificationStatus(chain: ChainName, address: Address, verificationLogger?: Logger): Promise<ContractVerificationStatus>;
}
//# sourceMappingURL=ContractVerifier.d.ts.map