text: // hardhat.config.js
  require("dotenv/config")
  require("@nomiclabs/hardhat-etherscan")
  require("@nomiclabs/hardhat-solhint")
  // require("@nomiclabs/hardhat-solpp")
  require("@tenderly/hardhat-tenderly")
  require("@nomiclabs/hardhat-waffle")
  require("hardhat-abi-exporter")
  require("hardhat-deploy")
  require("hardhat-deploy-ethers")
  require("hardhat-gas-reporter")
  require("hardhat-spdx-license-identifier")
  require("hardhat-watcher")
  require("solidity-coverage")
  
  const { task } = require("hardhat/config")
  
  // This is a sample Hardhat task. To learn how to create your own go to
  // https://hardhat.org/guides/create-task.html
  task("accounts", "Prints the list of accounts", async (args, hre) => {
    const accounts = await hre.ethers.getSigners()
  
    for (const account of accounts) {
      console.log(account.address)
    }
  })
  
  const { removeConsoleLog } = require("hardhat-preprocessor")
  
  const accounts = {
    mnemonic: process.env.MNEMONIC || "test test test test test test test test test test test junk",
    accountsBalance: "990000000000000000000",
  }
  
  module.exports = {
    abiExporter: {
      path: "./build/abi",
      //clear: true,
      flat: true,
      // only: [],
      // except: []
    },
    defaultNetwork: "hardhat",
    etherscan: {
      // Obtain one at https://bscscan.com/
      apiKey: process.env.BSCSCAN_API_KEY,
    },
    gasReporter: {
      enabled: process.env.REPORT_GAS ? true : false,
      currency: "USD",
      coinmarketcap: process.env.COINMARKETCAP_API_KEY,
      excludeContracts: ["contracts/mocks/", "contracts/libraries/"],
    },
    networks: {
      mainnet: {
        url: `https://bsc-dataseed.binance.org`,
        accounts,
        gasPrice: 120 * 1000000000,
        chainId: 56,
      },
      hardhat: {
        chainId: 31337,
        accounts,
      },
      testnet: {
        url: `https://data-seed-prebsc-1-s1.binance.org:8545`,
        accounts,
        chainId: 97,
        live: true,
        saveDeployments: true,
      },
    },
    preprocess: {
      eachLine: removeConsoleLog((bre) => bre.network.name !== "hardhat" && bre.network.name !== "localhost"),
    },
    solidity: {
      compilers: [
        {
          version: "0.5.0",
          settings: {
            optimizer: {
              enabled: true,
              runs: 5000,
            },
          },
        },
        {
          version: "0.6.12",
          settings: {
            optimizer: {
              enabled: true,
              runs: 5000,
            },
          },
        },
      ],
    },
    spdxLicenseIdentifier: {
      overwrite: false,
      runOnCompile: true,
    },
    tenderly: {
      project: process.env.TENDERLY_PROJECT,
      username: process.env.TENDERLY_USERNAME,
    },
    watcher: {
      compile: {
        tasks: ["compile"],
        files: ["./contracts"],
        verbose: true,
      },
    },
  }
  