feat(`forge script`): add `--gas-price-multiplier`
Component
Forge
Describe the feature you would like
When running forge script script/deploy.s.sol and specifying the gas params, either with -g or --gas-price, the output of the simulation (running without --broadcast) shows the estimated gas price of the current block, not what was specified with the cli params and can be confusing.
As per the docs, supplying -g will multiply the estimated gas by some number.
If gas price is 65 gwei, and we want to deploy with 6 gwei, we could specify -g 10
Current avg gas price: 65 gwei
Call: forge script script/deploy.s.sol:DeployScript -g 10 --rpc-url https://cloudflare-eth.com/
However, in doing so, the output still specifies the 65 gwei. Interpretation of the output could be that we will deploy with 65 gwei gas price.
## Setting up 1 EVM.
==========================
Chain 1
Estimated gas price: 64.375837984 gwei
Estimated total gas used for script: 15627
Estimated amount required: 0.001006001220175968 ETH
We can confirm the estimated amount required is correct and uses what we specify with -g by calling the same exec with -g 1000.
Current avg gas price: 65 gwei
Call: forge script script/deploy.s.sol:DeployScript -g 1000 --rpc-url https://cloudflare-eth.com/
## Setting up 1 EVM.
==========================
Chain 1
Estimated gas price: 64.834925182 gwei
Estimated total gas used for script: 1562760
Estimated amount required: 0.10132142767742232 ETH
It seems to be that Estimated gas price: is not overridden with what we specify in the args but instead of always the gas price of the current block.
Ask:
In the output, either;
- relabel
Estimated gas price:to what we specify (in the case of-g 10, it should readEstimated gas price: 6.4834925182 gwei) - relabel
Estimated gas price:to something more accurate such asBlock gas priceand then a new line item withBroadcasting with gas price:if the user specifies a gas price with-gor--gas-price.
Additional context
No response
Hi @409H
--gas-estimate-multiplier decreases / the gas limit of the transaction by a scalar, you can see an example here: https://holesky.etherscan.io/tx/0x16f18c36af6f987282d846b58e9ab982f9c813f53f9deb8b947c01c3c8b693f4
1,067,150 | 106,733 (10%) when -g is set to 1000 (think of this as specifying a budget of gas the transaction is allowed to use)
I think what you are requesting is a new flag called --gas-price-multiplier which would multiply the gas_price or max_fee_per_gas field by a scalar (as in 6.4 gwei -> 64 gwei)
@zerosnacks Ah yes, sorry -- good catch. Yes, you're correct in what I mean