require ("@nomiclabs/hardhat-waffle"); require ("hardhat-gas-reporter"); require ("hardhat-contract-sizer"); require ("@nomiclabs/hardhat-etherscan"); require ("@nomiclabs/hardhat-ethers"); require ("solidity-coverage"); require("hardhat-gas-reporter"); const dotenv = require('dotenv'); dotenv.config(); task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { const accounts = await hre.ethers.getSigners(); for (const account of accounts) { console.log(account.address); } }); const PRIVATE_KEY = process.env.PRIVATE_KEY; const INFURA_PROJECT_ID = process.env.INFURA_PROJECT_ID; const COINMARKETCAP_API_KEY = process.env.COINMARKETCAP_API_KEY; const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY; module.exports = { defaultNetwork: "hardhat", networks: { hardhat: { allowUnlimitedContractSize: true, gas: 30000000 }, ropsten: { url: "https://ropsten.infura.io/v3/179491410de5450cb20f88593067a22c", accounts: [`0x${PRIVATE_KEY}`] }, goerli: { url: "https://goerli.infura.io/v3/179491410de5450cb20f88593067a22c", accounts: [`0x${PRIVATE_KEY}`] }, // localhost: { // url: "http://127.0.0.1:8545", // allowUnlimitedContractSize: true, // }, rinkeby: { url: `https://rinkeby.infura.io/v3/${INFURA_PROJECT_ID}`, accounts: [`0x${PRIVATE_KEY}`], gasPrice: 45000000000, }, // mainnet: { // url: `https://mainnet.infura.io/v3/${INFURA_PROJECT_ID}`, // accounts: [`0x${PRIVATE_KEY}`], // gasPrice: 45000000000, // } }, etherscan: { // Your API key for Etherscan // Obtain one at https://etherscan.io/ apiKey: ETHERSCAN_API_KEY }, solidity: { compilers: [ { version: "0.8.4" }, { version: "0.6.6", }, ], settings: { optimizer: { enabled: true, runs: 200 }, evmVersion: 'london' } }, mocha: { timeout: 20000, }, gasReporter: { coinmarketcap: COINMARKETCAP_API_KEY, excludeContracts: ['TestERC20Mock', 'ERC20'], currency: "USD", gasPrice: 100, enabled: true, }, etherscan: { apiKey: ETHERSCAN_API_KEY, }, // contractSizer: { // alphaSort: true, // disambiguatePaths: false, // runOnCompile: true, // strict: true, // // only: [':ERC20$'], // } };