UNPKG

hardhat

Version:

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

37 lines (30 loc) 1.17 kB
import type { HardhatRuntimeEnvironmentHooks } from "../../../../types/hooks.js"; import type { NetworkManager } from "../../../../types/network.js"; import { DEFAULT_NETWORK_NAME } from "../../../constants.js"; export default async (): Promise<Partial<HardhatRuntimeEnvironmentHooks>> => ({ created: async (context, hre) => { let networkManager: NetworkManager | undefined; const userConfigNetworks = hre.userConfig.networks; hre.network = { async connect(networkConnectionParams) { const { NetworkManagerImplementation } = await import( "../network-manager.js" ); if (networkManager === undefined) { networkManager = new NetworkManagerImplementation( hre.globalOptions.network !== undefined ? hre.globalOptions.network : DEFAULT_NETWORK_NAME, hre.config.defaultChainType, hre.config.networks, context.hooks, context.artifacts, userConfigNetworks, hre.config.chainDescriptors, ); } return networkManager.connect(networkConnectionParams); }, }; }, });