UNPKG

hardhat

Version:

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

172 lines (161 loc) 4.9 kB
import { HardhatNetworkConfig } from "../../../types"; import { HardforkName } from "../../util/hardforks"; import { HARDHAT_NETWORK_NAME } from "../../constants"; export const DEFAULT_SOLC_VERSION = "0.7.3"; export const HARDHAT_NETWORK_DEFAULT_GAS_PRICE = "auto"; export const HARDHAT_NETWORK_DEFAULT_MAX_PRIORITY_FEE_PER_GAS = 1e9; export const HARDHAT_NETWORK_DEFAULT_INITIAL_BASE_FEE_PER_GAS = 1e9; export const HARDHAT_NETWORK_MNEMONIC = "test test test test test test test test test test test junk"; export const DEFAULT_HARDHAT_NETWORK_BALANCE = "10000000000000000000000"; export const defaultDefaultNetwork = HARDHAT_NETWORK_NAME; export const defaultLocalhostNetworkParams = { url: "http://127.0.0.1:8545", timeout: 40000, }; export const defaultHdAccountsConfigParams = { initialIndex: 0, count: 20, path: "m/44'/60'/0'/0", passphrase: "", }; export const defaultHardhatNetworkHdAccountsConfigParams = { ...defaultHdAccountsConfigParams, mnemonic: HARDHAT_NETWORK_MNEMONIC, accountsBalance: DEFAULT_HARDHAT_NETWORK_BALANCE, }; export const DEFAULT_GAS_MULTIPLIER = 1; export const defaultHardhatNetworkParams: Omit< HardhatNetworkConfig, "gas" | "initialDate" > = { hardfork: HardforkName.CANCUN, blockGasLimit: 30_000_000, gasPrice: HARDHAT_NETWORK_DEFAULT_GAS_PRICE, chainId: 31337, throwOnTransactionFailures: true, throwOnCallFailures: true, allowUnlimitedContractSize: false, mining: { auto: true, interval: 0, mempool: { order: "priority", }, }, accounts: defaultHardhatNetworkHdAccountsConfigParams, loggingEnabled: false, gasMultiplier: DEFAULT_GAS_MULTIPLIER, minGasPrice: 0n, chains: new Map([ [ // block numbers below were taken from https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/common/src/chains 1, // mainnet { hardforkHistory: new Map([ [HardforkName.FRONTIER, 0], [HardforkName.HOMESTEAD, 1_150_000], [HardforkName.DAO, 1_920_000], [HardforkName.TANGERINE_WHISTLE, 2_463_000], [HardforkName.SPURIOUS_DRAGON, 2_675_000], [HardforkName.BYZANTIUM, 4_370_000], [HardforkName.CONSTANTINOPLE, 7_280_000], [HardforkName.PETERSBURG, 7_280_000], [HardforkName.ISTANBUL, 9_069_000], [HardforkName.MUIR_GLACIER, 9_200_000], [HardforkName.BERLIN, 1_2244_000], [HardforkName.LONDON, 12_965_000], [HardforkName.ARROW_GLACIER, 13_773_000], [HardforkName.GRAY_GLACIER, 15_050_000], [HardforkName.MERGE, 15_537_394], [HardforkName.SHANGHAI, 17_034_870], [HardforkName.CANCUN, 19_426_589], ]), }, ], [ 3, // ropsten { hardforkHistory: new Map([ [HardforkName.BYZANTIUM, 1700000], [HardforkName.CONSTANTINOPLE, 4230000], [HardforkName.PETERSBURG, 4939394], [HardforkName.ISTANBUL, 6485846], [HardforkName.MUIR_GLACIER, 7117117], [HardforkName.BERLIN, 9812189], [HardforkName.LONDON, 10499401], ]), }, ], [ 4, // rinkeby { hardforkHistory: new Map([ [HardforkName.BYZANTIUM, 1035301], [HardforkName.CONSTANTINOPLE, 3660663], [HardforkName.PETERSBURG, 4321234], [HardforkName.ISTANBUL, 5435345], [HardforkName.BERLIN, 8290928], [HardforkName.LONDON, 8897988], ]), }, ], [ 5, // goerli { hardforkHistory: new Map([ [HardforkName.ISTANBUL, 1561651], [HardforkName.BERLIN, 4460644], [HardforkName.LONDON, 5062605], ]), }, ], [ 42, // kovan { hardforkHistory: new Map([ [HardforkName.BYZANTIUM, 5067000], [HardforkName.CONSTANTINOPLE, 9200000], [HardforkName.PETERSBURG, 10255201], [HardforkName.ISTANBUL, 14111141], [HardforkName.BERLIN, 24770900], [HardforkName.LONDON, 26741100], ]), }, ], [ 11155111, // sepolia { hardforkHistory: new Map([ [HardforkName.GRAY_GLACIER, 0], [HardforkName.MERGE, 1_450_409], [HardforkName.SHANGHAI, 2_990_908], [HardforkName.CANCUN, 5_187_023], ]), }, ], ]), }; export const defaultHttpNetworkParams = { accounts: "remote" as "remote", gas: "auto" as "auto", gasPrice: "auto" as "auto", gasMultiplier: DEFAULT_GAS_MULTIPLIER, httpHeaders: {}, timeout: 20000, }; export const defaultMochaOptions: Mocha.MochaOptions = { timeout: 40000, }; export const defaultSolcOutputSelection = { "*": { "*": [ "abi", "evm.bytecode", "evm.deployedBytecode", "evm.methodIdentifiers", "metadata", ], "": ["ast"], }, };