UNPKG

hardhat

Version:

Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.

22 lines 1.3 kB
import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors"; import { HardhatRuntimeEnvironmentImplementation } from "../../../core/hre.js"; import { GasAnalyticsManagerImplementation } from "../gas-analytics-manager.js"; export default async () => ({ created: async (context, hre) => { if (context.globalOptions.gasStats) { const gasAnalyticsManager = new GasAnalyticsManagerImplementation(hre.config.paths.cache); assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation"); hre._gasAnalytics = gasAnalyticsManager; // NOTE: We register this hook dynamically to avoid a circular dependency // between gas-analytics and network-manager plugins. The network-manager // checks for the existence of onGasReported handlers to determine if gas // analytics is enabled, rather than directly checking the global option. hre.hooks.registerHandlers("network", { onGasMeasurement: (_context, gasMeasurement) => { gasAnalyticsManager.addGasMeasurement(gasMeasurement); }, }); } }, }); //# sourceMappingURL=hre.js.map