There have been some recent proposals to reduce the gas cost of calldata which would allow for rollups to be cheaper. The L1 portion of the fee (used to cover batch submission) is charged along with the L2 portion of the fee (used to cover L2 execution).
These changes would cause the GasPriceOracle predeploy to overcharge for the L1 gas price, since the calldata costs are hardcoded in the contract. This means that we need to upgrade the GasPriceOracle contract once this change goes into place. Currently, there is no proxy in front of the GasPriceOracle - perhaps the GasPriceOracleV2 should be deployed behind a proxy so that it is upgradable. See here for the implementation of how the L1 portion of the fee is currently computed.
In the meantime, the price discrepancy can be handled by setting the scalar or overhead values lower.
TODOs:
There have been some recent proposals to reduce the gas cost of calldata which would allow for rollups to be cheaper. The L1 portion of the fee (used to cover batch submission) is charged along with the L2 portion of the fee (used to cover L2 execution).
These changes would cause the
GasPriceOraclepredeploy to overcharge for the L1 gas price, since the calldata costs are hardcoded in the contract. This means that we need to upgrade theGasPriceOraclecontract once this change goes into place. Currently, there is no proxy in front of theGasPriceOracle- perhaps theGasPriceOracleV2should be deployed behind a proxy so that it is upgradable. See here for the implementation of how the L1 portion of the fee is currently computed.In the meantime, the price discrepancy can be handled by setting the
scalaroroverheadvalues lower.optimism/packages/contracts/contracts/L2/predeploys/OVM_GasPriceOracle.sol
Line 28 in 639e5b1
optimism/packages/contracts/contracts/L2/predeploys/OVM_GasPriceOracle.sol
Line 30 in 639e5b1
TODOs:
GasPriceOracleV2contract, which should be similar in functionalityGasPriceOracleV2scalarandoverheadto compensate for the cheaper calldata costs