UNPKG

hardhat

Version:

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

49 lines 2.42 kB
import { DEFAULT_NETWORK_NAME } from "../../../constants.js"; export default async () => ({ created: async (context, hre) => { let networkManager; hre.network = { async create(networkConnectionParams) { if (networkManager === undefined) { networkManager = await createNetworkManager(hre, context); } return await networkManager.create(networkConnectionParams); }, async connect(networkConnectionParams) { if (networkManager === undefined) { networkManager = await createNetworkManager(hre, context); } return await networkManager.connect(networkConnectionParams); }, async getOrCreate(networkOrParams) { if (networkManager === undefined) { networkManager = await createNetworkManager(hre, context); } return await networkManager.getOrCreate(networkOrParams); }, async createServer(...params) { if (networkManager === undefined) { networkManager = await createNetworkManager(hre, context); } return await networkManager.createServer(...params); }, }; // To avoid adding `wasConnectCalled` to the public interface of // `NetworkManager`, we add this pass through method that is only // called from the `main` function. Object.defineProperty(hre.network, "wasConnectCalled", { value: () => networkManager !== undefined && "wasConnectCalled" in networkManager && typeof networkManager.wasConnectCalled === "function" && networkManager.wasConnectCalled(), enumerable: false, }); }, }); async function createNetworkManager(hre, context) { const { NetworkManagerImplementation } = await import("../network-manager.js"); return new NetworkManagerImplementation(hre.globalOptions.network !== undefined ? hre.globalOptions.network : DEFAULT_NETWORK_NAME, hre.config.defaultChainType, hre.config.networks, context.hooks, context.artifacts, hre.userConfig, hre.config.chainDescriptors, hre.globalOptions.config, hre.config.paths.root, hre.globalOptions.verbosity); } //# sourceMappingURL=hre.js.map