require('dotenv').config() require('@nomiclabs/hardhat-waffle') require('@nomiclabs/hardhat-etherscan') require('hardhat-log-remover') require('solidity-coverage') require('hardhat-contract-sizer') /** * @type import('hardhat/config').HardhatUserConfig */ module.exports = { solidity: { compilers: [ { version: '0.6.2', settings: { optimizer: { enabled: true, runs: 200, }, }, }, { version: '0.6.12', settings: { optimizer: { enabled: true, runs: 200, }, }, }, { version: '0.7.6', settings: { optimizer: { enabled: true, runs: 200, }, }, }, ], }, networks: { hardhat: { forking: { url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_KEY}`, blockNumber: 14250000, }, chainId: 1, initialBaseFeePerGas: 5, loggingEnabled: false, allowUnlimitedContractSize: false, blockGasLimit: 50000000, }, rinkeby: { url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test junk' }, }, goerli: { url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test junk' }, }, mainnet: { url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_KEY}`, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test junk' }, }, ...(typeof process.env.FORKNET_RPC_URL === 'string' && { forknet: { url: process.env.FORKNET_RPC_URL, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test junk' }, }, }), }, mocha: { timeout: 9999999999 }, spdxLicenseIdentifier: { overwrite: true, runOnCompile: true, }, etherscan: { apiKey: `${process.env.ETHERSCAN_KEY}`, }, }