Skip to content

Upgrade gas & upgrade block transaction omission #14649

Open
0 of 1 issue completed
Open
@sebastianst

Description

@sebastianst

During review of #12166, we discovered that some upgrade transactions have a higher gas limit than the typical total system tx gas available (1e6). So we propose to add two new consensus rules to avoid any issues with upgrade transactions going forward:

  • We forbid regular user txs in the Isthmus upgrade block (like we already do per policy for Ecotone and Fjord in the sequencer) as a consensus rule.
  • We sum up all upgrade txs gas limits, call this upgrade gas, and add the upgrade gas to the upgrade block's payload attributes block gas limit. This is easier than taking a max or so and ensures upgrade transaction can always execute.
    • Note that we must in general assume that the user deposit txs already consume all the remaining gas limit, and the system tx gas of 1 mio doesn't cover upgrade txs, which is why we add it on top. The SystemConfig rule is maxResourceLimit (user deposit gas, usually 2e7) + systemTxMaxGas (L1 info deposit and upgrade txs (so far), usually 1e6) <= gasLimit
    • This currently seems uncovered in Fjord btw, so a badly configured low gas limit could have caused an invalid Fjord upgrade block (GPO upgrade takes > 1 mio).

Sub-issues

Metadata

Metadata

Assignees

Labels

A-derivationArea: derivation changes (op-node/rollup/derive)T-protocolTeam: changes to node components (op-node, op-reth, etc.) implemented by go/rust/etc. devs

Type

No type

Projects

  • Status

    Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions