hardhat/config#HardhatUserConfig TypeScript Examples
The following examples show how to use
hardhat/config#HardhatUserConfig.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: hardhat.config.ts From index-rebalance-utils with Apache License 2.0 | 7 votes |
config: HardhatUserConfig = {
solidity: {
version: "0.6.10",
settings: {
optimizer: { enabled: true, runs: 200 },
},
},
namedAccounts: {
deployer: 0,
},
networks: {
hardhat: {
forking: (process.env.FORK) ? forkingConfig : undefined,
accounts: getHardhatPrivateKeys(),
},
localhost: {
url: "http://127.0.0.1:8545",
gas: 12000000,
blockGasLimit: 12000000,
},
kovan: {
url: "https://kovan.infura.io/v3/" + process.env.INFURA_TOKEN,
// @ts-ignore
accounts: [`0x${process.env.KOVAN_DEPLOY_PRIVATE_KEY}`],
},
production: {
url: "https://mainnet.infura.io/v3/" + process.env.INFURA_TOKEN,
// @ts-ignore
accounts: [`0x${process.env.PRODUCTION_MAINNET_DEPLOY_PRIVATE_KEY}`],
},
},
mocha: mochaConfig,
typechain: {
outDir: "typechain",
target: "ethers-v5",
},
}
Example #2
Source File: hardhat.config.ts From BarnBridge-Barn with Apache License 2.0 | 6 votes |
cfg: HardhatUserConfig = {
solidity: {
version: '0.7.6',
settings: {
optimizer: {
enabled: true,
runs: 9999,
},
},
},
defaultNetwork: 'hardhat',
networks: config.networks,
etherscan: config.etherscan,
abiExporter: {
only: ['Barn', 'BarnFacet', 'OwnershipFacet', 'DiamondCutFacet', 'DiamondLoupeFacet', 'Rewards'],
except: ['.*Mock$'],
clear: true,
flat: true,
},
gasReporter: {
enabled: (process.env.REPORT_GAS) ? true : false,
},
}
Example #3
Source File: hardhat.config.ts From hardhat-deploy with MIT License | 6 votes |
config: HardhatUserConfig = {
solidity: {
version: '0.8.10',
settings: {
optimizer: {
enabled: true,
runs: 999999,
},
},
},
paths: {
sources: 'solc_0.8',
},
}
Example #4
Source File: hardhat.config.ts From core with GNU General Public License v3.0 | 6 votes |
config: HardhatUserConfig = {
solidity: {
compilers: [
{
version: '0.6.8',
settings: {
optimizer: {
enabled: true,
},
},
},
],
},
}
Example #5
Source File: hardhat.config.ts From arbitrum-dai-bridge with GNU Affero General Public License v3.0 | 6 votes |
config: HardhatUserConfig = {
mocha: {
timeout: 50000,
},
solidity: {
// note: we run optimizer only for dai.sol
compilers: [
{
version: '0.6.11',
settings: {
optimizer: {
enabled: false,
},
},
},
],
overrides: {
'contracts/l2/dai.sol': {
version: '0.6.11',
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
},
},
paths: {
tests: testDir,
},
gasReporter: {
enabled: process.env.REPORT_GAS === '1',
currency: 'USD',
gasPrice: 50,
},
}
Example #6
Source File: hardhat.config.ts From aegis with MIT License | 6 votes |
config: HardhatUserConfig = {
solidity: '0.6.12',
networks: {
hardhat: {
forking: {
url: process.env.MAINNET_URL!,
blockNumber: 13575777
},
allowUnlimitedContractSize: true
}
},
gasReporter: {
enabled: process.env.REPORT_GAS === 'true',
currency: 'USD'
},
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY
}
}
Example #7
Source File: hardhat.config.ts From BarnBridge-YieldFarming with Apache License 2.0 | 6 votes |
cfg: HardhatUserConfig = {
solidity: {
version: '0.6.12',
settings: {
optimizer: {
enabled: true,
runs: 1000,
},
}
},
defaultNetwork: "hardhat",
networks: config.networks,
etherscan: config.etherscan,
abiExporter: {
only: ['Staking', 'YieldFarm', 'YieldFarmLP', 'YieldFarmBond', 'CommunityVault'],
clear: true,
},
gasReporter: {
enabled: !!(process.env.REPORT_GAS),
},
}
Example #8
Source File: hardhat.config.ts From solidity-utils with MIT License | 6 votes |
config: HardhatUserConfig = {
solidity: {
version: '0.8.13',
settings: {
optimizer: {
enabled: true,
runs: 1000000,
},
},
},
networks,
gasReporter: {
enabled: true,
currency: 'USD',
},
typechain: {
target: 'truffle-v5',
},
}
Example #9
Source File: hardhat.config.ts From index-coop-smart-contracts with Apache License 2.0 | 5 votes |
config: HardhatUserConfig = {
solidity: {
version: "0.6.10",
settings: {
optimizer: { enabled: true, runs: 200 },
},
},
namedAccounts: {
deployer: 0,
},
networks: {
hardhat: {
forking: process.env.FORK ? forkingConfig : undefined,
accounts: getHardhatPrivateKeys(),
gas: isPolygon ? undefined : 12000000,
blockGasLimit: isPolygon ? 20000000 : 12000000,
// @ts-ignore
timeout: INTEGRATIONTEST_TIMEOUT,
initialBaseFeePerGas: 0,
},
localhost: {
url: "http://127.0.0.1:8545",
gas: isPolygon ? undefined : 12000000,
blockGasLimit: isPolygon ? 20000000 : 12000000,
// @ts-ignore
timeout: INTEGRATIONTEST_TIMEOUT,
},
kovan: {
url: "https://kovan.infura.io/v3/" + process.env.INFURA_TOKEN,
// @ts-ignore
accounts: [`0x${process.env.KOVAN_DEPLOY_PRIVATE_KEY}`],
},
production: {
url: "https://mainnet.infura.io/v3/" + process.env.INFURA_TOKEN,
// @ts-ignore
accounts: [`0x${process.env.PRODUCTION_MAINNET_DEPLOY_PRIVATE_KEY}`],
},
},
mocha: mochaConfig,
typechain: {
outDir: "typechain",
target: "ethers-v5",
},
}
Example #10
Source File: hardhat.config.ts From airnode with MIT License | 5 votes |
config: HardhatUserConfig = {
solidity: '0.8.9',
paths: {
tests: 'e2e',
},
}
Example #11
Source File: hardhat.config.ts From data-transport-layer with MIT License | 5 votes |
config: HardhatUserConfig = {
// All paths relative to ** this file **.
paths: {
tests: '../../test',
cache: '../temp/cache',
artifacts: '../temp/artifacts',
},
}
Example #12
Source File: hardhat.config.ts From lyra-protocol with ISC License | 5 votes |
config: HardhatUserConfig = {
ovm: { solcVersion: '0.7.6' },
solidity: {
version: '0.7.6',
settings: {
outputSelection: {
'*': {
'*': ['storageLayout'],
},
},
},
},
networks: {
local: {
url: 'http://127.0.0.1:8545',
accounts: {
mnemonic:
'test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers junk',
},
gasPrice: 0,
},
kovan: {
url: 'https://kovan.infura.io/v3/',
},
'local-ovm': {
url: 'http://127.0.0.1:8545',
accounts: {
mnemonic:
'test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers test-helpers junk',
},
gasPrice: 0,
ovm: true,
},
'kovan-ovm': {
url: 'https://kovan.optimism.io',
ovm: true,
},
},
mocha: {
timeout: 1_000_000,
},
contractSizer: {
alphaSort: true,
runOnCompile: false,
disambiguatePaths: false,
},
gasReporter: {
enabled: false,
},
}
Example #13
Source File: hardhat.config.ts From optimism-dai-bridge with GNU Affero General Public License v3.0 | 5 votes |
config: HardhatUserConfig = {
mocha: {
timeout: 50000,
},
solidity: {
compilers: [
{
version: '0.7.6',
settings: {
optimizer: {
enabled: false,
},
},
},
],
overrides: {
'contracts/l2/dai.sol': {
version: '0.7.6',
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
},
},
networks: {
hardhat: {
blockGasLimit: 15000000,
forking: {
enabled: process.env.FORKMODE === '1', // this is workaround, only main network can be run in forkmode but we don't need it for most things
url: 'https://parity-mainnet.makerfoundation.com:8545',
},
},
kovan: {
url: 'https://parity0.kovan.makerfoundation.com:8545',
},
},
etherscan: {
apiKey: process.env.ETHERSCAN_KEY ?? '', // provide via env
},
gasReporter: {
enabled: process.env.REPORT_GAS === '1',
currency: 'USD',
gasPrice: 50,
},
}
Example #14
Source File: hardhat.config.ts From nouns-monorepo with GNU General Public License v3.0 | 5 votes |
config: HardhatUserConfig = {
solidity: {
version: '0.8.6',
settings: {
optimizer: {
enabled: true,
runs: 10_000,
},
},
},
networks: {
mainnet: {
url: `https://mainnet.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
accounts: [process.env.WALLET_PRIVATE_KEY!].filter(Boolean),
},
rinkeby: {
url: `https://rinkeby.infura.io/v3/${process.env.INFURA_PROJECT_ID}`,
accounts: process.env.MNEMONIC
? { mnemonic: process.env.MNEMONIC }
: [process.env.WALLET_PRIVATE_KEY!].filter(Boolean),
},
hardhat: {
initialBaseFeePerGas: 0,
},
},
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
abiExporter: {
path: './abi',
clear: true,
},
typechain: {
outDir: './typechain',
},
gasReporter: {
enabled: !process.env.CI,
currency: 'USD',
gasPrice: 50,
src: 'contracts',
coinmarketcap: '7643dfc7-a58f-46af-8314-2db32bdd18ba',
},
mocha: {
timeout: 60_000,
},
}
Example #15
Source File: hardhat.config.ts From perpetual-protocol with GNU General Public License v3.0 | 5 votes |
config: HardhatUserConfig = {
networks: {
hardhat: {
allowUnlimitedContractSize: true,
},
coverage: {
url: COVERAGE_URL,
},
ropsten: {
url: ROPSTEN_URL,
gasPrice: GAS_PRICE,
accounts: {
mnemonic: ROPSTEN_MNEMONIC,
},
},
kovan: {
url: KOVAN_URL,
gasPrice: GAS_PRICE,
accounts: {
mnemonic: KOVAN_MNEMONIC,
},
},
rinkeby: {
url: RINKEBY_URL,
gasPrice: GAS_PRICE,
accounts: {
mnemonic: RINKEBY_MNEMONIC,
},
},
homestead: {
url: HOMESTEAD_URL,
gasPrice: GAS_PRICE,
accounts: {
mnemonic: HOMESTEAD_MNEMONIC,
},
},
sokol: {
url: SOKOL_URL,
gasPrice: GAS_PRICE,
accounts: {
mnemonic: SOKOL_MNEMONIC,
},
},
xdai: {
url: XDAI_URL,
gasPrice: GAS_PRICE,
accounts: {
mnemonic: XDAI_MNEMONIC,
},
},
},
solidity: {
version: "0.6.9",
settings: {
optimizer: { enabled: true, runs: 200 },
evmVersion: "istanbul",
},
},
paths: {
root: ROOT_DIR,
// source & artifacts does not work since we use openzeppelin-sdk for upgradable contract
sources: SRC_DIR,
artifacts: ARTIFACTS_DIR,
tests: "./tests",
cache: "./cache",
},
mocha: {
timeout: 60000,
},
gasReporter: {
src: "src", // Folder in root directory to begin search for .sol file
currency: "USD", // gasPrice based on current ethGasStation API
coinmarketcap: process.env.CMC_API_KEY, // optional
},
etherscan: {
// Your API key for Etherscan
// Obtain one at https://etherscan.io/
apiKey: ETHERSCAN_API_KEY,
},
}
Example #16
Source File: hardhat.config.ts From nova with GNU Affero General Public License v3.0 | 4 votes |
config: HardhatUserConfig = {
networks: {
hardhat: {
initialBaseFeePerGas: 0,
},
mainnet: {
url: process.env.MAINNET_RPC_URL ?? "",
chainId: 1,
accounts,
},
kovan: {
url: process.env.KOVAN_RPC_URL ?? "",
chainId: 42,
accounts,
},
optimisticMainnet: {
url: process.env.OE_MAINNET_RPC_URL ?? "",
ovm: true,
chainId: 10,
accounts,
},
optimisticKovan: {
url: process.env.OE_KOVAN_RPC_URL ?? "",
ovm: true,
chainId: 69,
accounts,
},
optimism: {
url: "http://localhost:8545",
ovm: true,
chainId: 420,
// This account is funded with 10k ETH by default.
accounts: ["0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"],
},
},
ovm: {
// This version supports ETH opcodes:
solcVersion: "0.7.6+commit.3b061308",
},
solidity: {
version: "0.7.6",
settings: {
optimizer: {
enabled: true,
runs: 1000000,
},
metadata: {
bytecodeHash: "none",
},
},
},
paths: {
tests:
process.argv.includes("optimism") ||
process.argv.includes("optimisticMainnet") ||
process.argv.includes("optimisticKovan")
? "test/integration"
: "test/unit",
},
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
typechain: {
target: "ethers-v5",
},
mocha: {
// 5 minutes:
timeout: 300000,
},
preprocess: {
eachLine: removeConsoleLog(
(hre) => hre.network.name !== "hardhat" && hre.network.name !== "localhost"
),
},
gasReporter: {
currency: "USD",
gasPrice: 30,
coinmarketcap: process.env.COINMARKETCAP_API_KEY,
},
}
Example #17
Source File: hardhat.config.ts From eth with GNU General Public License v3.0 | 4 votes |
config: HardhatUserConfig = {
defaultNetwork: 'hardhat',
networks: {
// Check for a DEPLOYER_MNEMONIC before we add xdai/mainnet network to the list of networks
// Ex: If you try to deploy to xdai without DEPLOYER_MNEMONIC, you'll see this error:
// > Error HH100: Network xdai doesn't exist
...(DEPLOYER_MNEMONIC ? { xdai } : undefined),
...(DEPLOYER_MNEMONIC ? { mainnet } : undefined),
localhost: {
url: 'http://localhost:8545/',
accounts: {
// Same mnemonic used in the .env.example
mnemonic: 'change typical hire slam amateur loan grid fix drama electric seed label',
},
chainId: 31337,
},
// Used when you dont specify a network on command line, like in tests
hardhat: {
accounts: [
// from/deployer is default the first address in accounts
{
privateKey: '0x044C7963E9A89D4F8B64AB23E02E97B2E00DD57FCB60F316AC69B77135003AEF',
balance: '100000000000000000000',
},
// user1 in tests
{
privateKey: '0x523170AAE57904F24FFE1F61B7E4FF9E9A0CE7557987C2FC034EACB1C267B4AE',
balance: '100000000000000000000',
},
// user2 in tests
// admin account
{
privateKey: '0x67195c963ff445314e667112ab22f4a7404bad7f9746564eb409b9bb8c6aed32',
balance: '100000000000000000000',
},
],
blockGasLimit: 16777215,
mining: {
auto: false,
interval: 1000,
},
},
},
solidity: {
version: '0.8.10',
settings: {
optimizer: {
enabled: true,
runs: 1000,
},
},
},
contractSizer: {
alphaSort: true,
runOnCompile: false,
disambiguatePaths: false,
},
circom: {
inputBasePath: '../circuits/',
outputBasePath: packageDirs['@darkforest_eth/snarks'],
ptau: 'pot15_final.ptau',
circuits: [
{
name: 'init',
circuit: 'init/circuit.circom',
input: 'init/input.json',
beacon: '0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f',
},
{
name: 'move',
circuit: 'move/circuit.circom',
input: 'move/input.json',
beacon: '0000000005060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f',
},
{
name: 'biomebase',
circuit: 'biomebase/circuit.circom',
input: 'biomebase/input.json',
beacon: '0000000005060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f',
},
{
name: 'reveal',
circuit: 'reveal/circuit.circom',
input: 'reveal/input.json',
beacon: '0000000005060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f',
},
{
name: 'whitelist',
circuit: 'whitelist/circuit.circom',
input: 'whitelist/input.json',
beacon: '0000000005060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f',
},
],
},
typechain: {
outDir: path.join(packageDirs['@darkforest_eth/contracts'], 'typechain'),
target: 'ethers-v5',
},
diamondAbi: {
// This plugin will combine all ABIs from any Smart Contract with `Facet` in the name or path and output it as `DarkForest.json`
name: 'DarkForest',
include: ['Facet'],
// We explicitly set `strict` to `true` because we want to validate our facets don't accidentally provide overlapping functions
strict: true,
// We use our diamond utils to filter some functions we ignore from the combined ABI
filter(abiElement: unknown, index: number, abi: unknown[], fullyQualifiedName: string) {
const signature = diamondUtils.toSignature(abiElement);
return diamondUtils.isIncluded(fullyQualifiedName, signature);
},
},
abiExporter: {
// This plugin will copy the ABI from the DarkForest artifact into our `@darkforest_eth/contracts` package as `abis/DarkForest.json`
path: path.join(packageDirs['@darkforest_eth/contracts'], 'abis'),
runOnCompile: true,
// We don't want additional directories created, so we explicitly set the `flat` option to `true`
flat: true,
// We **only** want to copy the DarkForest ABI (which is the Diamond ABI we generate) and the initializer ABI to this folder, so we limit the matched files with the `only` option
only: [':DarkForest$', ':DFInitialize$'],
},
}
Example #18
Source File: hardhat.config.ts From hardhat-foundation with MIT License | 4 votes |
config: HardhatUserConfig = {
contractSizer: {
alphaSort: true,
disambiguatePaths: false,
runOnCompile: true,
strict: true,
only: [":Greeter$"],
},
defaultNetwork: "hardhat",
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
gasReporter: {
coinmarketcap: process.env.COINMARKETCAP_API_KEY,
currency: "USD",
enabled: process.env.REPORT_GAS === "true",
},
namedAccounts: {
deployer: {
default: 0,
},
alice: {
default: 1,
},
bob: {
default: 2,
},
carol: {
default: 3,
},
},
networks: {
localhost: {
live: false,
saveDeployments: true,
tags: ["local"],
},
hardhat: {
forking: {
enabled: process.env.FORKING === "true",
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
},
live: false,
saveDeployments: true,
tags: ["test", "local"],
},
ethereum: {
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
accounts,
chainId: 1,
live: true,
saveDeployments: true,
tags: ["mainnet"],
hardfork: process.env.CODE_COVERAGE ? "berlin" : "london",
},
ropsten: {
url: `https://ropsten.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 3,
live: true,
saveDeployments: true,
tags: ["staging"],
},
goerli: {
url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 5,
live: true,
saveDeployments: true,
tags: ["staging"],
},
},
preprocess: {
eachLine: removeConsoleLog(
(bre) =>
bre.network.name !== "hardhat" && bre.network.name !== "localhost"
),
},
solidity: {
version: "0.8.11",
settings: {
optimizer: {
enabled: true,
runs: 999999,
},
},
},
tenderly: {
project: String(process.env.TENDERLY_PROJECT),
username: String(process.env.TENDERLY_USERNAME),
},
typechain: {
outDir: "types",
target: "ethers-v5",
},
watcher: {
compile: {
tasks: ["compile"],
files: ["./contracts"],
verbose: true,
},
},
}
Example #19
Source File: hardhat.config.ts From shoyu with MIT License | 4 votes |
config: HardhatUserConfig = {
abiExporter: {
path: "./abis",
clear: true,
flat: true,
spacing: 2,
},
defaultNetwork: "hardhat",
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
gasReporter: {
coinmarketcap: process.env.COINMARKETCAP_API_KEY,
currency: "USD",
enabled: process.env.REPORT_GAS === "true",
},
namedAccounts: {
deployer: {
default: 0,
},
admin: {
default: 1,
},
alice: {
default: 2,
},
bob: {
default: 3,
},
carol: {
default: 4,
},
},
networks: {
localhost: {
live: false,
saveDeployments: true,
tags: ["local"],
},
hardhat: {
// Seems to be a bug with this, even when false it complains about being unauthenticated.
// Reported to HardHat team and fix is incoming
forking: {
enabled: process.env.FORKING === "true",
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
},
live: false,
saveDeployments: true,
tags: ["test", "local"],
},
mainnet: {
url: `https://mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 1,
live: true,
saveDeployments: true,
tags: ["production"],
},
ropsten: {
url: `https://ropsten.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 3,
live: true,
saveDeployments: true,
tags: ["staging"],
},
rinkeby: {
url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 4,
live: true,
saveDeployments: true,
tags: ["staging"],
},
goerli: {
url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 5,
live: true,
saveDeployments: true,
tags: ["staging"],
},
kovan: {
url: `https://kovan.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 42,
live: true,
saveDeployments: true,
tags: ["staging"],
},
moonbase: {
url: "https://rpc.testnet.moonbeam.network",
accounts,
chainId: 1287,
live: true,
saveDeployments: true,
tags: ["staging"],
},
arbitrum: {
url: "https://kovan3.arbitrum.io/rpc",
accounts,
chainId: 79377087078960,
live: true,
saveDeployments: true,
tags: ["staging"],
},
fantom: {
url: "https://rpcapi.fantom.network",
accounts,
chainId: 250,
live: true,
saveDeployments: true,
},
fantom_testnet: {
url: "https://rpc.testnet.fantom.network",
accounts,
chainId: 4002,
live: true,
saveDeployments: true,
tags: ["staging"],
},
matic: {
url: "https://rpc-mainnet.maticvigil.com",
accounts,
chainId: 137,
live: true,
saveDeployments: true,
},
xdai: {
url: "https://rpc.xdaichain.com",
accounts,
chainId: 100,
live: true,
saveDeployments: true,
},
bsc: {
url: "https://bsc-dataseed.binance.org",
accounts,
chainId: 56,
live: true,
saveDeployments: true,
},
bsc_testnet: {
url: "https://data-seed-prebsc-2-s3.binance.org:8545",
accounts,
chainId: 97,
live: true,
saveDeployments: true,
tags: ["staging"],
},
},
preprocess: {
eachLine: removeConsoleLog(bre => bre.network.name !== "hardhat" && bre.network.name !== "localhost"),
},
solidity: {
version: "0.8.3",
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
tenderly: {
project: process.env.TENDERLY_PROJECT,
username: process.env.TENDERLY_USERNAME,
},
typechain: {
outDir: "typechain",
target: "ethers-v5",
},
watcher: {
compile: {
tasks: ["compile"],
files: ["./contracts"],
verbose: true,
},
},
}
Example #20
Source File: hardhat.config.ts From sushi-oracle with The Unlicense | 4 votes |
config: HardhatUserConfig = {
defaultNetwork: "hardhat",
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
gasReporter: {
coinmarketcap: process.env.COINMARKETCAP_API_KEY,
currency: "USD",
enabled: process.env.REPORT_GAS === "true",
},
namedAccounts: {
deployer: {
default: 0,
},
alice: {
default: 1,
},
bob: {
default: 2,
},
carol: {
default: 3,
},
},
networks: {
localhost: {
live: false,
saveDeployments: true,
tags: ["local"],
},
hardhat: {
// Seems to be a bug with this, even when false it complains about being unauthenticated.
// Reported to HardHat team and fix is incoming
forking: {
enabled: process.env.FORKING === "true",
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
},
live: false,
saveDeployments: true,
tags: ["test", "local"],
},
mainnet: {
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
accounts,
chainId: 1,
live: true,
saveDeployments: true,
},
ropsten: {
url: `https://ropsten.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 3,
live: true,
saveDeployments: true,
tags: ["staging"],
},
goerli: {
url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 5,
live: true,
saveDeployments: true,
tags: ["staging"],
},
kovan: {
url: `https://kovan.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 42,
live: true,
saveDeployments: true,
tags: ["staging"],
},
moonbase: {
url: "https://rpc.testnet.moonbeam.network",
accounts,
chainId: 1287,
live: true,
saveDeployments: true,
tags: ["staging"],
},
arbitrum: {
url: "https://kovan3.arbitrum.io/rpc",
accounts,
chainId: 79377087078960,
live: true,
saveDeployments: true,
tags: ["staging"],
},
fantom: {
url: "https://rpcapi.fantom.network",
accounts,
chainId: 250,
live: true,
saveDeployments: true,
},
fantom_testnet: {
url: "https://rpc.testnet.fantom.network",
accounts,
chainId: 4002,
live: true,
saveDeployments: true,
tags: ["staging"],
},
matic: {
url: "https://rpc-mainnet.maticvigil.com",
accounts,
chainId: 137,
live: true,
saveDeployments: true,
},
xdai: {
url: "https://rpc.xdaichain.com",
accounts,
chainId: 100,
live: true,
saveDeployments: true,
},
bsc: {
url: "https://bsc-dataseed.binance.org",
accounts,
chainId: 56,
live: true,
saveDeployments: true,
},
bsc_testnet: {
url: "https://data-seed-prebsc-2-s3.binance.org:8545",
accounts,
chainId: 97,
live: true,
saveDeployments: true,
tags: ["staging"],
},
},
preprocess: {
eachLine: removeConsoleLog(
(bre) =>
bre.network.name !== "hardhat" && bre.network.name !== "localhost"
),
},
solidity: {
version: "0.6.8",
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
// tenderly: {
// project: process.env.TENDERLY_PROJECT,
// username: process.env.TENDERLY_USERNAME,
// },
watcher: {
compile: {
tasks: ["compile"],
files: ["./contracts"],
verbose: true,
},
},
}
Example #21
Source File: hardhat.config.ts From trident with GNU General Public License v3.0 | 4 votes |
config: HardhatUserConfig = {
defaultNetwork: "hardhat",
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
gasReporter: {
coinmarketcap: process.env.COINMARKETCAP_API_KEY,
currency: "USD",
enabled: process.env.REPORT_GAS === "true",
// outputFile: `gas-${Date.now()}.json`,
// outputFile: "gas.json",
excludeContracts: [
"examples",
"flat",
"mocks",
"pool/concentrated",
"pool/franchised",
"pool/hybrid",
"pool/index",
"TridentERC721",
],
// onlyCalledMethods: true,
// showTimeSpent: true,
},
namedAccounts: {
deployer: {
default: 0,
},
dev: {
default: 1,
},
alice: {
default: 2,
},
bob: {
default: 3,
},
carol: {
default: 4,
},
dave: {
default: 5,
},
eve: {
default: 6,
},
feeTo: {
default: 7,
},
barFeeTo: {
default: 8,
},
},
networks: {
localhost: {
live: false,
saveDeployments: true,
tags: ["local"],
},
hardhat: {
forking: {
enabled: process.env.FORKING === "true",
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
blockNumber: 13000000,
},
allowUnlimitedContractSize: true,
live: false,
saveDeployments: true,
tags: ["test", "local"],
// Solidity-coverage overrides gasPrice to 1 which is not compatible with EIP1559
hardfork: process.env.CODE_COVERAGE ? "berlin" : "london",
},
ethereum: {
url: `https://eth-mainnet.alchemyapi.io/v2/${process.env.ALCHEMY_API_KEY}`,
live: true,
chainId: 1,
saveDeployments: true,
tags: ["mainnet"],
hardfork: process.env.CODE_COVERAGE ? "berlin" : "london",
},
ropsten: {
url: `https://ropsten.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 3,
live: true,
saveDeployments: true,
tags: ["staging"],
gasPrice: 5000000000,
gasMultiplier: 2,
},
rinkeby: {
url: `https://rinkeby.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 4,
live: true,
saveDeployments: true,
tags: ["staging"],
gasPrice: 5000000000,
gasMultiplier: 2,
},
goerli: {
url: `https://goerli.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 5,
live: true,
saveDeployments: true,
tags: ["staging"],
gasPrice: 5000000000,
gasMultiplier: 2,
},
kovan: {
url: `https://kovan.infura.io/v3/${process.env.INFURA_API_KEY}`,
accounts,
chainId: 42,
live: true,
saveDeployments: true,
tags: ["staging"],
gasPrice: 20000000000,
gasMultiplier: 2,
},
fantom: {
url: "https://rpcapi.fantom.network",
accounts,
chainId: 250,
live: true,
saveDeployments: true,
gasPrice: 22000000000,
},
polygon: {
url: `https://polygon-mainnet.g.alchemy.com/v2/${process.env.ALCHEMY_API_KEY}`,
accounts,
chainId: 137,
live: true,
saveDeployments: true,
},
"matic-testnet": {
url: "https://rpc-mumbai.maticvigil.com/",
accounts,
chainId: 80001,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
xdai: {
url: "https://rpc.xdaichain.com",
accounts,
chainId: 100,
live: true,
saveDeployments: true,
},
bsc: {
url: "https://bsc-dataseed.binance.org",
accounts,
chainId: 56,
live: true,
saveDeployments: true,
},
"bsc-testnet": {
url: "https://data-seed-prebsc-2-s3.binance.org:8545",
accounts,
chainId: 97,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
heco: {
url: "https://http-mainnet.hecochain.com",
accounts,
chainId: 128,
live: true,
saveDeployments: true,
},
"heco-testnet": {
url: "https://http-testnet.hecochain.com",
accounts,
chainId: 256,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
avalanche: {
url: "https://api.avax.network/ext/bc/C/rpc",
accounts,
chainId: 43114,
live: true,
saveDeployments: true,
gasPrice: 470000000000,
},
"avalanche-testnet": {
url: "https://api.avax-test.network/ext/bc/C/rpc",
accounts,
chainId: 43113,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
harmony: {
url: "https://api.s0.t.hmny.io",
accounts,
chainId: 1666600000,
live: true,
saveDeployments: true,
},
"harmony-testnet": {
url: "https://api.s0.b.hmny.io",
accounts,
chainId: 1666700000,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
okex: {
url: "https://exchainrpc.okex.org",
accounts,
chainId: 66,
live: true,
saveDeployments: true,
},
"okex-testnet": {
url: "https://exchaintestrpc.okex.org",
accounts,
chainId: 65,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
arbitrum: {
url: "https://arb1.arbitrum.io/rpc",
accounts,
chainId: 42161,
live: true,
saveDeployments: true,
blockGasLimit: 700000,
},
"arbitrum-testnet": {
url: "https://kovan3.arbitrum.io/rpc",
accounts,
chainId: 79377087078960,
live: true,
saveDeployments: true,
tags: ["staging"],
gasMultiplier: 2,
},
celo: {
url: "https://forno.celo.org",
accounts,
chainId: 42220,
live: true,
saveDeployments: true,
},
optimism: {
url: "https://mainnet.optimism.io",
accounts,
chainId: 10,
live: true,
saveDeployments: true,
},
},
paths: {
artifacts: "artifacts",
cache: "cache",
deploy: "deploy",
deployments: "deployments",
imports: "imports",
sources: "contracts",
tests: "test",
},
preprocess: {
eachLine: removeConsoleLog((bre) => bre.network.name !== "hardhat" && bre.network.name !== "localhost"),
},
solidity: {
compilers: [
{
version: "0.8.10",
settings: {
optimizer: {
enabled: true,
runs: 999999,
},
},
},
{
version: "0.6.12",
settings: {
optimizer: {
enabled: true,
runs: 999999,
},
},
},
{
version: "0.5.17",
settings: {
optimizer: {
enabled: true,
runs: 999999,
},
},
},
{
version: "0.4.19",
settings: {
optimizer: {
enabled: false,
runs: 200,
},
},
},
],
},
tenderly: {
project: process.env.TENDERLY_PROJECT || "",
username: process.env.TENDERLY_USERNAME || "",
},
typechain: {
outDir: "types",
target: "ethers-v5",
},
watcher: {
compile: {
tasks: ["compile"],
files: ["./contracts"],
verbose: true,
},
},
mocha: {
timeout: 300000,
//bail: true,
},
}