import { config as dotenvConfig } from "dotenv"; import { resolve } from "path"; import type { HardhatUserConfig } from "hardhat/config"; import "@nomicfoundation/hardhat-toolbox-viem"; import { env } from "./lib/common"; [ `.env.${process.env.APP_ENV}.contracts`, `.env.${process.env.APP_ENV}.data`, `.env.${process.env.APP_ENV}` ] .forEach((dotenvConfigPath) => { const path = resolve(__dirname, dotenvConfigPath); dotenvConfig({ path, override: true }) }); const TEST_MNEMONIC = "test test test test test test test test test test test junk"; const LOCAL_NODE_URL = "http://127.0.0.1:8545"; const config: HardhatUserConfig = { solidity: "0.8.28", networks: { localhost: { url: LOCAL_NODE_URL, accounts: { mnemonic: process.env.MNEMONIC || TEST_MNEMONIC } }, mainnet: { url: env("MAINNET_RPC_URL", LOCAL_NODE_URL), accounts: { mnemonic: env("MNEMONIC", TEST_MNEMONIC) } }, testnet: { url: env("TESTNET_RPC_URL", LOCAL_NODE_URL), accounts: { mnemonic: env("MNEMONIC", TEST_MNEMONIC) } } }, etherscan: { apiKey: process.env.ETHERSCAN_KEY }, sourcify: { enabled: true }, defaultNetwork: "localhost", ignition: { strategyConfig: { create2: { // To learn more about salts, see the CreateX documentation salt: env("SALT", "0x0000000000000000000000000000000000000000000000000000000000000000"), }, }, } }; export default config;