const isForkModeEnabled = !!process.env.FORK_URL
const forkUrl = process.env.FORK_URL
const forkStartingBlock = parseInt(process.env.FORK_STARTING_BLOCK) || undefined
const gasPrice = parseInt(process.env.GAS_PRICE) || 0
const config = {
networks: {
hardhat: {
gasPrice,
initialBaseFeePerGas: 0
},
},
analytics: { enabled: false },
}
if (isForkModeEnabled) {
console.log(`Running hardhat in a fork mode! URL: ${forkUrl}`)
if (forkStartingBlock) {
console.log(`Starting block: ${forkStartingBlock}`)
}
config.networks.hardhat.forking = {
url: forkUrl,
blockNumber: forkStartingBlock,
}
} else {
console.log('Running with a fresh state...')
}
module.exports = config
-
Mark Tyneway authored
Adds forking config to the `ethereumoptimism/hardhat` docker image. This can be configured with the following env vars: - `FORK_URL` - http provider of the remote node to fetch data from - `FORK_STARTING_BLOCK` - block to start forking from, if left undefined it will use the tip Without `FORK_URL` set, it will not run in forking mode Also adds the ability to configure the gas price with: - `GAS_PRICE` - defaults to 0, which was the previous behavior
72a325f6