import "@nomicfoundation/hardhat-toolbox" import { HardhatUserConfig } from "hardhat/config" import "@nomiclabs/hardhat-solhint" import "solidity-coverage" import "dotenv/config" import "./tasks" const MAINNET_RPC_URL = process.env.MAINNET_RPC_URL || "https://eth-mainnet.g.alchemy.com/v2/your-api-key" const SEPOLIA_RPC_URL = process.env.SEPOLIA_RPC_URL || "https://eth-sepolia.g.alchemy.com/v2/your-api-key" const MATIC_RPC_URL = process.env.MATIC_RPC_URL || "https://polygon-mainnet.g.alchemy.com/v2/your-api-key" const MUMBAI_RPC_URL = process.env.MUMBAI_RPC_URL || "https://polygon-mumbai.g.alchemy.com/v2/v3/your-api-key" const BSC_MAINNET_RPC_URL = process.env.BSC_MAINNET_RPC_URL || "https://bsc-dataseed1.binance.org/" const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY || "api-key" const POLYGONSCAN_API_KEY = process.env.POLYGONSCAN_API_KEY || "api-key" const BSCSCAN_API_KEY = process.env.BSCSCAN_API_KEY || "api-key" // Import MNEMONIC or single private key const MNEMONIC = process.env.MNEMONIC || "your mnemonic" const PRIVATE_KEY = process.env.PRIVATE_KEY const config: HardhatUserConfig = { defaultNetwork: "hardhat", networks: { mainnet: { url: MAINNET_RPC_URL, accounts: PRIVATE_KEY ? [PRIVATE_KEY] : { mnemonic: MNEMONIC }, }, hardhat: { // // If you want to do some forking, uncomment this // forking: { // url: MAINNET_RPC_URL // } }, localhost: { url: "http://127.0.0.1:8545", }, sepolia: { url: SEPOLIA_RPC_URL, accounts: PRIVATE_KEY ? [PRIVATE_KEY] : { mnemonic: MNEMONIC }, }, matic: { url: MATIC_RPC_URL, accounts: PRIVATE_KEY ? [PRIVATE_KEY] : { mnemonic: MNEMONIC }, }, mumbai: { url: MUMBAI_RPC_URL, accounts: PRIVATE_KEY ? [PRIVATE_KEY] : { mnemonic: MNEMONIC }, }, bscTestnet: { url: "https://data-seed-prebsc-1-s1.binance.org:8545/", chainId: 97, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], gasPrice: 10000000000, // 10 gwei gas: 8000000, }, bscMainnet: { url: BSC_MAINNET_RPC_URL, chainId: 56, accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], gasPrice: 5000000000, // 5 gwei gas: 8000000, }, }, etherscan: { // Your API key for Etherscan // Obtain one at https://etherscan.io/ apiKey: { mainnet: ETHERSCAN_API_KEY, sepolia: ETHERSCAN_API_KEY, // Polygon polygon: POLYGONSCAN_API_KEY, polygonMumbai: POLYGONSCAN_API_KEY, // BSC bsc: BSCSCAN_API_KEY, bscTestnet: BSCSCAN_API_KEY, }, }, solidity: { compilers: [ { version: "0.8.28", settings: { viaIR: true, optimizer: { enabled: true, runs: 200, }, }, }, ], }, } export default config