UNPKG

@solarity/hardhat-migrate

Version:
107 lines 4.52 kB
import { HardhatRuntimeEnvironment } from "hardhat/types"; import { Network, TransactionReceipt, TransactionResponse } from "ethers"; import { ContractFieldsToSave, MigrationMetadata, TransactionFieldsToSave } from "../../types/tools"; export type NetworkInfo = { network: Network; explorer: string; }; export type ReportState = { title: string; generalInfo: { title: string; migrationFiles: Set<string>; networks: Record<string, NetworkInfo>; }; reportedContracts: Set<[name: string, address: string]>; detailedMigrationFiles: { migrationName: string; links: Set<string>; responses: Set<TransactionResponse>; receipts: Set<TransactionReceipt>; }[]; stats: { totalContracts: number; totalTransactions: number; gasUsed: bigint; averageGasPrice: bigint; feePayed: bigint; nativeCurrencySent: bigint; }; missingLibraries: Set<string>; recoveredContracts: Set<[name: string, address: string]>; recoveredTransactions: Set<[name: string, hash: string]>; verificationStats: { status: string; verifiedContracts: Set<[name: string, address: string]>; failedContracts: Set<[name: string, address: string]>; failedToSaveContracts: Set<string>; alreadyVerifiedContracts: Set<[name: string, address: string]>; proxyLinkingSuccess: Set<[name: string, address: string]>; proxyLinkingFailure: Set<[name: string, address: string]>; }; collisions: { contracts: Set<{ prevMigrationNumber: number; prevContractAddress: string; newMigrationNumber: number; newContractAddress: string; }>; transactions: Set<{ prevMigrationNumber: number; prevMethodName: string; newMigrationNumber: number; newMethodName: string; }>; unknown: Set<{ prevMigrationNumber: number; prevContractAddress: string; prevMethodName: string; newMigrationNumber: number; newContractAddress: string; newMethodName: string; }>; }; allContracts: Set<[name: string, address: string]>; allTransactions: Set<[name: string, hash: string]>; }; /** * Class that manages the storage of the reported operation. * * Produces reports, metrics and logs in a file format. */ export declare class ReporterStorage { private _hre; private _currentReportID; private readonly _state; private _currentlyDeployingInstance; private _defaultVerificationState; constructor(_hre: HardhatRuntimeEnvironment); storeMigrationBegin(): void; storeMigrationFileBegin(migrationName: string): void; storeTransactionResponseHeader(transactionResponse: TransactionResponse, instanceName: string, txLink: string): void; storeTransactionReceipt(transactionReceipt: TransactionReceipt, value: bigint): void; storeReportedContracts(contracts: [string, string][]): void; storeDeploymentOfMissingLibrary(libraryName: string): void; storeContractRecovery(contractName: string, contractAddress: string): void; storeTransactionRecovery(methodString: string, savedTx: TransactionFieldsToSave): void; storeNothingToVerify(): void; storeVerificationSuccess(contractName: string, contractAddress: string): void; storeAlreadyVerified(contractName: string, contractAddress: string): void; storeVerificationFailure(contractName: string, contractAddress: string): void; storeVerificationSaveFailure(contractName: string): void; storeTransactionCollision(oldData: TransactionFieldsToSave, dataToSave: TransactionFieldsToSave): void; storeUnknownCollision(metadata: MigrationMetadata, dataToSave: TransactionFieldsToSave | ContractFieldsToSave): void; storeContractCollision(oldData: ContractFieldsToSave, dataToSave: ContractFieldsToSave): void; storeMigrationFiles(migrationFiles: string[]): void; storeChainInfo(network: NetworkInfo): void; storeSuccessfulProxyLinking(contractName: string, contractAddress: string): void; storeFailedProxyLinking(contractName: string, contractAddress: string): void; completeReport(): void; private _commitReport; finishReport(): Promise<void>; private _getReportID; private _getReportName; private _getReportContent; private _getMarkdownReportContent; } //# sourceMappingURL=ReporterStorage.d.ts.map