Skip to content

feat(ctb): Holocene upgrade package#12878

Merged
clabby merged 24 commits intodevelopfrom
cl/holocene-upgrade-package
Nov 15, 2024
Merged

feat(ctb): Holocene upgrade package#12878
clabby merged 24 commits intodevelopfrom
cl/holocene-upgrade-package

Conversation

@clabby
Copy link
Contributor

@clabby clabby commented Nov 8, 2024

Overview

Adds a holocene upgrade package to the contracts-bedrock scripts.

This docker image can be used to:

  1. Deploy the Holocene upgrade contracts.
    • (Optionally) Re-use existing Holocene SystemConfig and MIPS implementations.
    • (Optionally) Deploy a new DelayedWETH implementation, for use in the new DelayedWETH proxies for the dispute games.
    • (Optionally) Deploy PermissionedDisputeGame and accompanying DelayedWETH proxy.
    • (Optionally) Deploy a new FaultDisputeGame and accompanying DelayedWETH proxy.
  2. (Optionally) Create a safe bundle
  3. (Optionally) Create a superchain-ops task.

Usage

See README.md in the package directory.

@clabby clabby added the A-pkg-contracts-bedrock Area: packages/contracts-bedrock label Nov 8, 2024
@clabby clabby self-assigned this Nov 8, 2024
@clabby clabby force-pushed the cl/holocene-upgrade-package branch from 3fc18b4 to 59f5c00 Compare November 8, 2024 00:55
@clabby clabby requested a review from smartcontracts November 8, 2024 01:00
@clabby clabby marked this pull request as ready for review November 8, 2024 01:09
@clabby clabby force-pushed the cl/holocene-upgrade-package branch from 4ec0120 to 4e89f6a Compare November 8, 2024 15:47
@clabby clabby requested review from a team as code owners November 8, 2024 19:19
@clabby clabby requested a review from refcell November 8, 2024 19:19
Copy link
Contributor

@ajsutton ajsutton left a comment

Choose a reason for hiding this comment

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

This looks right for chains that use permissionless fault proofs but will introduce security issues for chains that are permissioned only currently because it calls setImplementation for the permissionless game type.

Copy link
Contributor

@ajsutton ajsutton left a comment

Choose a reason for hiding this comment

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

This LGTM. I think we will just need to document how to set the required absolute prestate - it won't be in the contracts release for every chain that uses this because they may only be activating holocene after op-mainnet and the release will already have been finalized by then.

@clabby clabby force-pushed the cl/holocene-upgrade-package branch from 7decda6 to d82e28d Compare November 13, 2024 21:27
@BlocksOnAChain
Copy link

@clabby are we good to merge this with the 2 approved reviews that we got or we need to wait @refcell to look/approve it?

@clabby clabby enabled auto-merge November 15, 2024 05:11
@clabby clabby added this pull request to the merge queue Nov 15, 2024
Merged via the queue into develop with commit 2fecdde Nov 15, 2024
@clabby clabby deleted the cl/holocene-upgrade-package branch November 15, 2024 05:29
clabby added a commit that referenced this pull request Nov 17, 2024
* feat(ctb): Holocene upgrade package

* lint

* lint

* add example env to sc-ops task

* fix

* reuse `SystemConfig` and `MIPS` impls optionally

* optionally deploy a new `DelayedWETH` proxy + impl

add check

* env lint

* add docker image to docker tag service

* kelvin idiot-proofing ask

* fetch standard config addresses for Holocene

* lint

* ajsutton review: Deploy separate DelayedWETH proxies for the FDG/PDG

* ajsutton review: Conditional FDG usage

* use contracts rc tag

* mds review

* split `SystemConfig` and proofs contracts upgrades

* add option to completely disclude the fault proof contracts

fix

* Update README

* verify

* deploy config

* fix contract tag

* README update

* semgrep
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-pkg-contracts-bedrock Area: packages/contracts-bedrock

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants