Skip to content

feat(zeronet): add Denim SystemConfig gas parameters task - #808

Merged
xenoliss merged 8 commits into
mainfrom
bo/denim-system-config
Oct 20, 2026
Merged

xenoliss merged 8 commits into
mainfrom
bo/denim-system-config

Conversation

@xenoliss

@xenoliss xenoliss commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

What changed? Why?

Adds the Zeronet task that sets the post-Denim gas parameters on SystemConfig, signed by the Base multisig (the SystemConfig owner):

  • gas limit 1,200,000,000 → 120,000,000;
  • EIP-1559 denominator 100 → 1000.

At the first Denim block the node applies these values itself (DENIM_GAS_PARAMETER_SCALING_FACTOR in base/base crates/consensus/derive/src/attributes/stateful.rs). This writes them to L1 so a later SystemConfig update does not restore the 2s-block values.

Executed on October 14, 2026 after Denim activated: 0x2bf7928e… (L1 block 3816476).

Notes to reviewers

  • The validation file can be generated and signed before Denim activates. The transaction must be executed after activation, in an L1 block with a timestamp strictly after the activation: if it is included in or before the L1 block the first Denim block derives from, the node scales the new values a second time. The script does not enforce this; the facilitator waits for activation before running make execute.

How has it been tested?

  • sign and run simulated against Zeronet L1 before execution: pre-checks (owner, current values, ratios, min/max gas limit) and post-checks (new values, unchanged elasticity and DA footprint gas scalar) pass.
  • After execution, SystemConfig reads gas limit 120000000, denominator 1000, elasticity 15, DA footprint gas scalar 119.

@cb-heimdall

cb-heimdall commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Heimdall Review Status

Requirement Status More Info
Reviews ✅ 2/2
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 2
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 2
2
1 if commit is unverified 0
Sum 2

@xenoliss
xenoliss force-pushed the bo/denim-system-config branch from 55405c8 to 0ee0f26 Compare October 11, 2026 10:28
@xenoliss
xenoliss force-pushed the bo/denim-system-config branch from 0ee0f26 to 558635c Compare October 11, 2026 10:29
@xenoliss
xenoliss marked this pull request as ready for review October 14, 2026 17:55
@cb-heimdall
cb-heimdall dismissed roger-bai-coinbase’s stale review October 14, 2026 18:38

Approved review 5522596320 from roger-bai-coinbase is now dismissed due to new commit. Re-request for approval.

leopoldjoy
leopoldjoy previously approved these changes Oct 14, 2026

@jackchuma jackchuma left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review

Reviewed 943d7b3 against main. 2 finding(s) posted inline.

The Zeronet task itself looks correct: it executed at 2026-10-14 18:38:12 UTC, after the 18:00 UTC activation, and the validation file, records, and README agree. Both findings matter only for the later networks that reuse this task directory.

Residual risk: for future networks, the newGasLimit * 10 == oldGasLimit check (UpdateDenimGasParams.s.sol:59) only works if that network's live gas limit is divisible by 10. It fails loudly rather than doing anything unsafe.

🤖 Reply generated with Toshi

@cb-heimdall
cb-heimdall dismissed leopoldjoy’s stale review October 15, 2026 09:23

Approved review 5523622518 from leopoldjoy is now dismissed due to new commit. Re-request for approval.

jackchuma
jackchuma previously approved these changes Oct 15, 2026

@0xth4nh 0xth4nh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: the task has no status.json, so Validate task status fails as soon as this branch is merged with main.

Issue: #821 (merged today) added scripts/task-status.py check as a required workflow (validate-task-status.yml). It needs a task-root status.json for every task under active/. This branch is based on a5bc211a, before #821, so its CI is green only because the check did not exist yet. I merged the head with current main (13b02c7be, conflict-free) and ran python3 -B scripts/task-status.py check:

active/evm/tasks/2026-10-08-denim-system-config/status.json: missing status.json

The same check passes once the file exists, and the 17 scripts.tests.test_task_status tests pass either way. The task content itself is fine: I recomputed the selectors, the calldata, the packed SystemConfig slots and the validation hashes, and they match what was executed in tx 0x2bf7928e…0a5b.

Fix: add active/evm/tasks/2026-10-08-denim-system-config/status.json, modelled on 2026-10-07-denim-upgrade/status.json:

{
  "schema_version": 1,
  "task": "2026-10-08-denim-system-config",
  "kind": "active",
  "last_updated": "<UTC timestamp>",
  "networks": {
    "zeronet": {
      "step": "executed",
      "pr": "https://github.com/base/contract-deployments/pull/808",
      "blocksec_ticket": null,
      "signatures": {},
      "executed_tx": "0x2bf7928e72e17a4657a3fd24e33907574881b63878ac04d0cfeaa5e7af880a5b"
    }
  }
}

Merge or rebase onto main first and re-run python3 -B scripts/task-status.py check locally to confirm the exact shape.

@cb-heimdall
cb-heimdall dismissed jackchuma’s stale review October 20, 2026 12:30

Approved review 5531798577 from jackchuma is now dismissed due to new commit. Re-request for approval.

@xenoliss
xenoliss requested review from 0xth4nh and jackchuma October 20, 2026 13:01

@0xth4nh 0xth4nh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks Good to Thanh's Toshi

@xenoliss
xenoliss merged commit aba4c1d into main Oct 20, 2026
8 checks passed
@xenoliss
xenoliss deleted the bo/denim-system-config branch October 20, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants