require("@nomicfoundation/hardhat-toolbox"); require("dotenv").config(); /** @type import('hardhat/config').HardhatUserConfig */ module.exports = { solidity: { compilers: [ { version: "0.8.20", settings: { optimizer: { enabled: true, runs: 200 }, viaIR: true } }, { version: "0.8.22", settings: { optimizer: { enabled: true, runs: 200 }, viaIR: true } }, ], }, networks: { hardhat: { chainId: 31337, }, mainnet: { url: process.env.ETHEREUM_MAINNET_RPC || "https://eth.llamarpc.com", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 1, }, chain138: { url: process.env.CHAIN138_RPC_URL || "https://rpc.d-bis.org", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 138, }, sepolia: { url: process.env.SEPOLIA_RPC_URL || "https://rpc.sepolia.org", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 11155111, }, bsc: { url: process.env.BSC_MAINNET_RPC || process.env.BSC_RPC_URL || "https://bsc-dataseed.binance.org", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 56, }, polygon: { url: process.env.POLYGON_MAINNET_RPC || "https://polygon-rpc.com", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 137, }, gnosis: { url: process.env.GNOSIS_RPC_URL || "https://rpc.gnosischain.com", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 100, }, cronos: { url: process.env.CRONOS_RPC_URL || "https://evm.cronos.org", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 25, }, optimism: { url: process.env.OPTIMISM_MAINNET_RPC || "https://mainnet.optimism.io", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 10, }, base: { url: process.env.BASE_MAINNET_RPC || "https://mainnet.base.org", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 8453, }, arbitrum: { url: process.env.ARBITRUM_MAINNET_RPC || "https://arb1.arbitrum.io/rpc", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 42161, }, avalanche: { url: process.env.AVALANCHE_RPC_URL || process.env.AVALANCHE_MAINNET_RPC || "https://api.avax.network/ext/bc/C/rpc", accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], chainId: 43114, }, }, // Single Etherscan API key = V2 for all chains (see docs/deployment/ETHERSCAN_V2_VERIFY_OTHER_CHAINS.md) etherscan: { apiKey: process.env.ETHERSCAN_API_KEY || "", }, paths: { sources: "./contracts", tests: "./test", cache: "./cache", artifacts: "./artifacts", }, };