import { Interface } from 'ethers'; import * as zk from 'zksync-ethers'; import { HardhatRuntimeEnvironment, SolcConfig } from 'hardhat/types'; import { ZkSyncArtifact } from '@matterlabs/hardhat-zksync-deploy/src/types'; import { MaybeSolcOutput } from '../interfaces'; export type ContractAddressOrInstance = string | { getAddress(): Promise; }; export declare function getContractAddress(addressOrInstance: ContractAddressOrInstance): Promise; export declare function getInitializerData(contractInterface: Interface, args: unknown[], initializer?: string | false): string; /** * Gets the constructor args from the given transaction input and creation code. * * @param txInput The transaction input that was used to deploy the contract. * @param creationCode The contract creation code. * @returns the encoded constructor args, or undefined if txInput does not start with the creationCode. */ export declare function inferConstructorArgs(txInput: string, creationCode: string): string | undefined; /** * Gets the txhash that created the contract at the given address, by calling the * RPC API to look for an event that should have been emitted during construction. * * @param provider The provider to use to call the RPC API. * @param address The address to get the creation txhash for. * @param topic The event topic string that should have been logged. * @returns The txhash corresponding to the logged event, or undefined if not found or if * the address is not a contract. */ export declare function getContractCreationTxHash(provider: zk.Provider, address: string, topic: string): Promise; export declare function pick(obj: T, keys: K[]): Pick; export declare function mapValues(obj: Record, fn: (value: V) => W): Record; export declare function isFullZkSolcOutput(output: MaybeSolcOutput | undefined): boolean; export declare function isNullish(value: unknown): value is null | undefined; export declare function extendCompilerOutputSelection(compiler: SolcConfig): void; export declare function convertGasPriceToEth(gasPrice: bigint): string; export declare function loadArtifact(hre: HardhatRuntimeEnvironment, contractNameOrFullyQualifiedName: string): Promise; export declare function extractFactoryDeps(hre: HardhatRuntimeEnvironment, artifact: ZkSyncArtifact): Promise; export declare function extractFactoryDepsRecursive(hre: HardhatRuntimeEnvironment, artifact: ZkSyncArtifact, visited: Set): Promise; export declare function getArtifactFromBytecode(hre: HardhatRuntimeEnvironment, bytecode: string): Promise; //# sourceMappingURL=utils-general.d.ts.map