mirror of
https://github.com/yashgo0018/maci-wrapper.git
synced 2026-05-04 03:00:44 -04:00
141 lines
4.2 KiB
TypeScript
141 lines
4.2 KiB
TypeScript
import * as dotenv from "dotenv";
|
|
dotenv.config();
|
|
|
|
import { HardhatUserConfig } from "hardhat/config";
|
|
import "@nomicfoundation/hardhat-ethers";
|
|
import "@nomicfoundation/hardhat-chai-matchers";
|
|
import "@typechain/hardhat";
|
|
import "hardhat-gas-reporter";
|
|
import "solidity-coverage";
|
|
import "@nomicfoundation/hardhat-verify";
|
|
import "hardhat-deploy";
|
|
import "hardhat-deploy-ethers";
|
|
import "hardhat-artifactor";
|
|
|
|
// If not set, it uses ours Alchemy's default API key.
|
|
// You can get your own at https://dashboard.alchemyapi.io
|
|
const providerApiKey = process.env.ALCHEMY_API_KEY || "oKxs-03sij-U_N0iOlrSsZFr29-IqbuF";
|
|
// If not set, it uses the hardhat account 0 private key.
|
|
const deployerPrivateKey =
|
|
process.env.DEPLOYER_PRIVATE_KEY ?? "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80";
|
|
// If not set, it uses ours Etherscan default API key.
|
|
const etherscanApiKey = process.env.ETHERSCAN_API_KEY || "DNXJA8RX2Q3VZ4URQIWP7Z68CJXQZSC6AW";
|
|
|
|
const config: HardhatUserConfig = {
|
|
solidity: {
|
|
version: "0.8.20",
|
|
settings: {
|
|
optimizer: {
|
|
enabled: true,
|
|
// https://docs.soliditylang.org/en/latest/using-the-compiler.html#optimizer-options
|
|
runs: 200,
|
|
},
|
|
viaIR: true,
|
|
},
|
|
},
|
|
defaultNetwork: "localhost",
|
|
namedAccounts: {
|
|
deployer: {
|
|
// By default, it will take the first Hardhat account as the deployer
|
|
default: 0,
|
|
},
|
|
},
|
|
networks: {
|
|
// View the networks that are pre-configured.
|
|
// If the network you are looking for is not here you can add new network settings
|
|
hardhat: {
|
|
// forking: {
|
|
// url: `https://eth-mainnet.alchemyapi.io/v2/${providerApiKey}`,
|
|
// enabled: process.env.MAINNET_FORKING_ENABLED === "true",
|
|
// },
|
|
},
|
|
mainnet: {
|
|
url: `https://eth-mainnet.alchemyapi.io/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
sepolia: {
|
|
url: `https://eth-sepolia.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
arbitrum: {
|
|
url: `https://arb-mainnet.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
arbitrumSepolia: {
|
|
url: `https://arb-sepolia.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
optimism: {
|
|
url: `https://opt-mainnet.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
optimismSepolia: {
|
|
url: `https://opt-sepolia.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
polygon: {
|
|
url: `https://polygon-mainnet.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
polygonMumbai: {
|
|
url: `https://polygon-mumbai.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
polygonZkEvm: {
|
|
url: `https://polygonzkevm-mainnet.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
polygonZkEvmTestnet: {
|
|
url: `https://polygonzkevm-testnet.g.alchemy.com/v2/${providerApiKey}`,
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
gnosis: {
|
|
url: "https://rpc.gnosischain.com",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
chiado: {
|
|
url: "https://rpc.chiadochain.net",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
base: {
|
|
url: "https://mainnet.base.org",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
baseSepolia: {
|
|
url: "https://sepolia.base.org",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
scrollSepolia: {
|
|
url: "https://sepolia-rpc.scroll.io",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
scroll: {
|
|
url: "https://rpc.scroll.io",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
pgn: {
|
|
url: "https://rpc.publicgoods.network",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
pgnTestnet: {
|
|
url: "https://sepolia.publicgoods.network",
|
|
accounts: [deployerPrivateKey],
|
|
},
|
|
},
|
|
// configuration for harhdat-verify plugin
|
|
etherscan: {
|
|
apiKey: `${etherscanApiKey}`,
|
|
},
|
|
// configuration for etherscan-verify from hardhat-deploy plugin
|
|
verify: {
|
|
etherscan: {
|
|
apiKey: `${etherscanApiKey}`,
|
|
},
|
|
},
|
|
sourcify: {
|
|
enabled: false,
|
|
},
|
|
};
|
|
|
|
export default config;
|