The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hyperlane-monorepo/solidity/optics-core/hardhat.config.ts

71 lines
1.7 KiB

import "hardhat-gas-reporter";
import "solidity-coverage";
import "@typechain/hardhat";
import "@nomiclabs/hardhat-etherscan";
import { task } from "hardhat/config";
import { verifyLatestCoreDeploy } from "../../typescript/optics-deploy/src/verification/verifyLatestDeploy";
import * as dotenv from "dotenv";
dotenv.config();
const etherscanKey = process.env.ETHERSCAN_API_KEY;
task(
"verify-latest-deploy",
"Verifies the source code of the latest contract deploy"
).setAction(async (args: any, hre: any) => {
if (!etherscanKey) {
throw new Error("set ETHERSCAN_API_KEY");
}
await verifyLatestCoreDeploy(hre, etherscanKey);
});
/**
* @type import('hardhat/config').HardhatUserConfig
*/
module.exports = {
solidity: {
version: "0.7.6",
settings: {
optimizer: {
enabled: true,
runs: 999999,
},
},
},
gasReporter: {
currency: "USD",
},
networks: {
localhost: {
url: "http://localhost:8545",
},
goerli: {
url: "https://goerli.infura.io/v3/5c456d7844fa40a683e934df60534c60",
},
kovan: {
url: "https://kovan.infura.io/v3/5c456d7844fa40a683e934df60534c60",
},
rinkeby: {
url: "https://rinkeby.infura.io/v3/5c456d7844fa40a683e934df60534c60",
},
mainnet: {
url: "https://mainnet.infura.io/v3/5c456d7844fa40a683e934df60534c60",
},
// TODO: add Ropsten
},
typechain: {
outDir: "../../typescript/typechain/optics-core",
target: "ethers-v5",
alwaysGenerateOverloads: false, // should overloads with full signatures like deposit(uint256) be generated always, even if there are no overloads?
},
mocha: {
bail: true,
},
etherscan: {
apiKey: etherscanKey,
},
};