Skip to content

feat(mainnet): add Cobalt rollout after ProtocolVersions deployment - #798

Merged
0xth4nh merged 10 commits into
mainfrom
toshi/mainnet-cobalt-after-protocol-versions
Sep 25, 2026
Merged

0xth4nh merged 10 commits into
mainfrom
toshi/mainnet-cobalt-after-protocol-versions

Conversation

@0xth4nh

@0xth4nh 0xth4nh commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds the Base mainnet Cobalt rollout on top of the finalized Sepolia rollout and archived ProtocolVersions deployment.

For mainnet, make TASK_NETWORK=mainnet deploy runs the complete deployment sequence in order:

  1. Cobalt core implementations
  2. Cobalt proof implementations
  3. P384Verifier, CertManager, and NitroValidator
  4. hinted TEEProverRegistry implementation

The six-call Safe transaction:

  1. raises ProtocolVersions.minimumProtocolVersion from v1.4.1 to v1.4.2
  2. upgrades OptimismPortal2
  3. upgrades the stock SystemConfig to v3.14.0
  4. upgrades DisputeGameFactory
  5. registers the Cobalt AggregateVerifier
  6. upgrades TEEProverRegistry to the hinted Nitro implementation

The existing Cobalt activation timestamp (1790791200, September 30, 2026 at 18:00 UTC) and schedule commitment remain unchanged. The script snapshots scheduleId() before execution and reasserts it afterward.

v1.4.2 proof hashes

Program Hash
TEE image 0x45c538bc396fe4a01b3f9ddc999494c3b993480ecac0a917e2f1af230d78b0e0
ZK range 0x25e035df08601f4b0b862be24c4bd08b1ee0524623fe737e7e8e378458ec7c21
ZK aggregation 0x00f500229b99db6a14c508c444e4527793f2f178168847acf3f755118614568a

Mainnet retains task-origin validation and the task-creator, Base facilitator, and Security Council facilitator signature flow.

Validation

  • clean forge build
  • live mainnet current minimum confirmed as v1.4.1
  • v1.4.2 packed value re-derived as 79228162588051313896972091392
  • all three supplied hashes are valid bytes32 values and differ from the live verifier
  • mainnet deployment dry run confirms core → proofs → Nitro stack → TEE registry order
  • forge fmt --check
  • git diff --check

Base automatically changed from feat/sepolia-cobalt-tee-cutover to main September 22, 2026 17:30
@cb-heimdall

cb-heimdall commented Sep 22, 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

@0xth4nh
0xth4nh force-pushed the toshi/mainnet-cobalt-after-protocol-versions branch from 4f175b3 to 21d9914 Compare September 22, 2026 18:04
Co-authored-by: Codex <codex-noreply@coinbase.com>
@0xth4nh
0xth4nh force-pushed the toshi/mainnet-cobalt-after-protocol-versions branch from 21d9914 to b096656 Compare September 22, 2026 18:05
mw2000
mw2000 previously approved these changes Sep 22, 2026

@mw2000 mw2000 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.

Only change looks like accounting for the fact that ProtocolVersions contract was previously deployed and we are reusing that.

LGTM

Comment thread active/evm/tasks/2026-09-14-cobalt-upgrade/config/mainnet/.env Outdated
Comment thread active/evm/tasks/2026-09-14-cobalt-upgrade/config/mainnet/.env Outdated
Comment thread active/evm/tasks/2026-09-14-cobalt-upgrade/config/mainnet/.env Outdated
Comment thread active/evm/tasks/2026-09-14-cobalt-upgrade/Makefile Outdated
Co-authored-by: Codex <codex-noreply@coinbase.com>
@cb-heimdall
cb-heimdall dismissed stale reviews from mw2000 September 23, 2026 12:40

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

0xth4nh and others added 8 commits September 24, 2026 09:03
Co-authored-by: Codex <codex-noreply@coinbase.com>
Co-authored-by: Codex <codex-noreply@coinbase.com>
Co-authored-by: Codex <codex-noreply@coinbase.com>
Solidity 0.8.15 rejects immutable writes inside a branch, which blocked validation generation.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Codex <codex-noreply@coinbase.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@0xth4nh
0xth4nh merged commit f85a9af into main Sep 25, 2026
5 checks passed
@0xth4nh
0xth4nh deleted the toshi/mainnet-cobalt-after-protocol-versions branch September 25, 2026 13:13
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.

5 participants