rln-contract/hardhat.config.ts

59 lines
1.3 KiB
TypeScript
Raw Normal View History

2022-06-23 13:36:10 +00:00
import * as dotenv from "dotenv";
import { HardhatUserConfig } from "hardhat/config";
import { NetworksUserConfig } from "hardhat/types";
2023-03-29 06:58:42 +00:00
import "@nomicfoundation/hardhat-foundry";
import "hardhat-deploy";
2023-03-29 06:58:42 +00:00
import "@nomiclabs/hardhat-etherscan";
import "@nomiclabs/hardhat-ethers";
2022-06-23 13:36:10 +00:00
import "@nomiclabs/hardhat-waffle";
import "hardhat-gas-reporter";
2023-03-30 06:51:48 +00:00
import "solidity-docgen";
2022-06-23 13:36:10 +00:00
dotenv.config();
2023-03-29 06:58:42 +00:00
const { SEPOLIA_URL, PRIVATE_KEY, ETHERSCAN_API_KEY } = process.env;
const getNetworkConfig = (): NetworksUserConfig | undefined => {
if (SEPOLIA_URL && PRIVATE_KEY) {
return {
2023-03-29 06:58:42 +00:00
sepolia: {
url: SEPOLIA_URL,
accounts: [PRIVATE_KEY],
forking: {
url: SEPOLIA_URL,
},
2023-03-29 06:58:42 +00:00
verify: {
etherscan: {
apiKey: ETHERSCAN_API_KEY,
2023-03-29 07:13:14 +00:00
apiUrl: "https://api-sepolia.etherscan.io",
2023-03-29 06:59:47 +00:00
},
},
},
localhost_integration: {
url: "http://localhost:8545",
},
};
2022-06-23 13:36:10 +00:00
}
return undefined;
};
2022-06-23 13:36:10 +00:00
// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more
const config: HardhatUserConfig = {
solidity: {
compilers: [
{
version: "0.8.15",
},
2023-05-26 08:01:05 +00:00
{
version: "0.6.11",
},
],
},
networks: getNetworkConfig(),
2022-06-23 13:36:10 +00:00
};
export default config;