L1 Block Attributes

Table of Contents

Overview

The L1 block attributes transaction is updated to include the DA footprint gas scalar.

Input argTypeCalldata bytesSegment
{0x3db6be2b}0-3n/a
baseFeeScalaruint324-71
blobBaseFeeScalaruint328-11
sequenceNumberuint6412-19
l1BlockTimestampuint6420-27
l1BlockNumberuint6428-35
basefeeuint25636-672
blobBaseFeeuint25668-993
l1BlockHashbytes32100-1314
batcherHashbytes32132-1635
operatorFeeScalaruint32164-1676
operatorFeeConstantuint64168-175
daFootprintGasScalaruint16176-177

Note that the first input argument, in the same pattern as previous versions of the L1 attributes transaction, is the function selector: the first four bytes of keccak256("setL1BlockValuesJovian()").

In the activation block, there are two possibilities:

  • If Jovian is active at genesis, the setL1BlockValuesJovian() method must be used.
  • If Jovian activates after genesis setL1BlockValuesIsthmus() method must be used. This is because the L1 Block contract will not yet have been upgraded.

In each subsequent L2 block, the setL1BlockValuesJovian() method must be used.

When using this method, the pre-Jovian values are migrated over 1:1 and the transaction also sets daFootprintGasScalar to the value from the SystemConfig. If that value is 0, then a default of 400 is set.