Jovian: System Config

Table of Contents

Minimum Base Fee Configuration

Jovian adds a configuration value to SystemConfig to control the minimum base fee used by the EIP-1559 fee market on OP Stack chains. The value is a minimum base fee in wei.

NameTypeDefaultMeaning
minBaseFeeuint640Minimum base fee in wei

The configuration is updated via a new method on SystemConfig:

function setMinBaseFee(uint64 minBaseFee) external onlyOwner;

ConfigUpdate

When the configuration is updated, a ConfigUpdate event MUST be emitted with the following parameters:

versionupdateTypedataUsage
uint256(0)uint8(6)abi.encode(uint64(_minBaseFee))Modifies the minimum base fee (wei)

Initialization

The following actions should happen during the initialization of the SystemConfig:

  • emit ConfigUpdate.BATCHER
  • emit ConfigUpdate.FEE_SCALARS
  • emit ConfigUpdate.GAS_LIMIT
  • emit ConfigUpdate.UNSAFE_BLOCK_SIGNER

Intentionally absent from this is emit ConfigUpdate.EIP_1559_PARAMS and emit ConfigUpdate.MIN_BASE_FEE. As long as these values are unset, the default values will be used. Requiring these parameters to be set during initialization would add a strict requirement that the L2 hardforks before the L1 contracts are upgraded, and this is complicated to manage in a world of many chains.

Modifying Minimum Base Fee

Upon update, the contract emits the ConfigUpdate event above, enabling nodes to derive the configuration from L1 logs.

Implementations MUST incorporate the configured value into the block header extraData as specified in ./exec-engine.md. Until the first such event is emitted, a default value of 0 should be used.

Interface

Minimum Base Fee Parameters

minBaseFee

This function returns the currently configured minimum base fee in wei.

function minBaseFee() external view returns (uint64);

DA Footprint Configuration

Jovian adds a uint16 configuration value to SystemConfig to control the daFootprintGasScalar.

The configuration is updated via a new method on SystemConfig:

function setDAFootprintGasScalar(uint16 daFootprintGasScalar) external onlyOwner;

ConfigUpdate

When the configuration is updated, a ConfigUpdate event MUST be emitted with the following parameters:

versionupdateTypedataUsage
uint256(0)uint8(7)abi.encode(uint16(_daFootprintGasScalar))Modifies the DA footprint gas scalar

Modifying DA Footprint Gas Scalar

Upon update, the contract emits the ConfigUpdate event above, enabling nodes to derive the configuration from L1 logs.

Interface

DA Footprint Gas Scalar Parameters

daFootprintGasScalar

This function returns the currently configured DA footprint gas scalar.

function daFootprintGasScalar() external view returns (uint16);