UNPKG

harsta

Version:

Harsta is a contract development tool based on Hardhat, designed to streamline the development, testing, and referencing of contracts, addresses, ABIs, and contract instances.

48 lines (42 loc) 1.56 kB
import { loadConfigAndTasks as _loadConfigAndTasks } from 'hardhat/internal/core/config/config-loading' import type { HardhatArguments } from 'hardhat/types' import { getEnvHardhatArguments } from 'hardhat/internal/core/params/env-variables' import { HARDHAT_PARAM_DEFINITIONS } from 'hardhat/internal/core/params/hardhat-params' import path from 'pathe' import { HardhatContext } from 'hardhat/internal/context' import type { ProviderForkingConfig } from '../network' import { packRoot } from '../../constants' export interface LoadConfigAndTasksOptions { showEmptyConfigWarning?: boolean showSolidityConfigWarnings?: boolean forking?: ProviderForkingConfig } export function loadConfigAndTasks( hardhatArguments?: Partial<HardhatArguments>, options: LoadConfigAndTasksOptions = { }, ) { const { resolvedConfig, userConfig } = _loadConfigAndTasks(hardhatArguments, options) if (options.forking && !resolvedConfig.networks.hardhat.forking) { resolvedConfig.networks.hardhat.forking = { blockNumber: options.forking.forkBlockNumber, url: options.forking.fork!, enabled: true, } } return { resolved: resolvedConfig, user: userConfig, } } export function loadEnvArguments(network?: string) { return { ...getEnvHardhatArguments(HARDHAT_PARAM_DEFINITIONS, process.env), config: path.resolve(packRoot, 'hardhat.config.js'), network, } } export function loadEnvContext() { return HardhatContext.isCreated() ? HardhatContext.getHardhatContext() : HardhatContext.createHardhatContext() }