import 'hardhat-typechain' import '@nomiclabs/hardhat-ethers' import '@nomicfoundation/hardhat-chai-matchers' import '@nomicfoundation/hardhat-foundry' import dotenv from 'dotenv' dotenv.config() const DEFAULT_COMPILER_SETTINGS = { version: '0.8.26', settings: { viaIR: true, evmVersion: 'cancun', optimizer: { enabled: true, runs: 1, }, metadata: { bytecodeHash: 'none', }, }, } export default { paths: { sources: './contracts', }, networks: { hardhat: { allowUnlimitedContractSize: false, chainId: 1, forking: { url: `https://mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`, blockNumber: 20010000, }, }, mainnet: { url: `https://mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`, }, ropsten: { url: `https://ropsten.infura.io/v3/${process.env.INFURA_API_KEY}`, }, rinkeby: { url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`, }, goerli: { url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`, }, kovan: { url: `https://kovan.infura.io/v3/${process.env.INFURA_API_KEY}`, }, arbitrumRinkeby: { url: `https://rinkeby.arbitrum.io/rpc`, }, arbitrum: { url: `https://arb1.arbitrum.io/rpc`, }, optimismKovan: { url: `https://kovan.optimism.io`, }, optimism: { url: `https://mainnet.optimism.io`, }, polygon: { url: `https://polygon-mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`, }, base: { url: `https://developer-access-mainnet.base.org`, }, baseGoerli: { url: `https://goerli.base.org`, }, }, namedAccounts: { deployer: 0, }, solidity: { compilers: [DEFAULT_COMPILER_SETTINGS], }, mocha: { timeout: 60000, }, }