> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base.org/llms.txt
> Use this file to discover all available pages before exploring further.

# L1 Block Attributes

> L1 attributes transaction changes in the Jovian upgrade, extending calldata to include the DA footprint gas scalar.

## Overview

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

| Input arg            | Type    | Calldata bytes | Segment |
| -------------------- | ------- | -------------- | ------- |
| {0x3db6be2b}         |         | 0-3            | n/a     |
| baseFeeScalar        | uint32  | 4-7            | 1       |
| blobBaseFeeScalar    | uint32  | 8-11           |         |
| sequenceNumber       | uint64  | 12-19          |         |
| l1BlockTimestamp     | uint64  | 20-27          |         |
| l1BlockNumber        | uint64  | 28-35          |         |
| basefee              | uint256 | 36-67          | 2       |
| blobBaseFee          | uint256 | 68-99          | 3       |
| l1BlockHash          | bytes32 | 100-131        | 4       |
| batcherHash          | bytes32 | 132-163        | 5       |
| operatorFeeScalar    | uint32  | 164-167        | 6       |
| operatorFeeConstant  | uint64  | 168-175        |         |
| daFootprintGasScalar | uint16  | 176-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, there are no transactions in the activation block
  and therefore no L1 Block Attributes transaction to consider.
* If Jovian activates after genesis [`setL1BlockValuesIsthmus()`](../isthmus/l1-attributes) 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`](../../protocol/consensus/derivation#system-configuration). If that value is `0`, then a default of `400` is set.
