require('dotenv').config() require('@nomiclabs/hardhat-waffle') require('@nomiclabs/hardhat-etherscan') require('hardhat-etherscan-abi') require('hardhat-contract-sizer') /** * @type import('hardhat/config').HardhatUserConfig */ module.exports = { solidity: { compilers: [{ version: '0.7.6' }, { version: '0.6.12' }], }, settings: { optimizer: { enabled: true, runs: 200, }, }, networks: { hardhat: { blockGasLimit: 9500000, chainId: 1, forking: { url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_KEY}`, blockNumber: 13061500, }, }, 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 test test test test test test junk' }, }, goerli: { url: `https://eth-goerli.alchemyapi.io/v2/${process.env.ALCHEMY_KEY}`, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test test test test test test test junk' }, }, mainnetInfura: { url: `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}`, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test test test test test test test junk' }, }, goerliInfura: { url: `https://goerli.infura.io/v3/${process.env.INFURA_KEY}`, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : { mnemonic: 'test test test test test test test test test test test junk' }, }, localhost: { chainId: 1, gasPrice: 0, timeout: 999999999, }, }, etherscan: { // Your API key for Etherscan // Obtain one at https://etherscan.io/ apiKey: process.env.ETHERSCAN_KEY, }, contractSizer: { alphaSort: true, runOnCompile: true, disambiguatePaths: false, }, }