Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions specs/protocol/isthmus/l1-attributes.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# L1 Block Attributes

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

# L1 Block Attributes

## Overview

The L1 block attributes transaction is updated to include the operator fee parameters.

| 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 | |

Note that the first input argument is the function selector: the first four bytes of `keccak256("setL1BlockValuesJovian()")`.

In the activation block:
- If Jovian is active at genesis, there are no transactions.
- If Jovian activates after genesis, the `setL1BlockValuesIsthmus()` method is used initially.

In each subsequent L2 block, the `setL1BlockValuesJovian()` method must be used. This method ensures that the `daFootprintGasScalar` and `tokenRatio` parameters are correctly applied.

When using this method, the transaction sets the following new attributes:
- `operatorFeeScalar`
- `operatorFeeConstant`
- `daFootprintGasScalar`
- `tokenRatio`