Skip to content

feat: add shared lockbox spec #465

Merged
smartcontracts merged 21 commits intoethereum-optimism:mainfrom
defi-wonderland:sc-feat/add-shared-lockbox
Feb 26, 2025
Merged

feat: add shared lockbox spec #465
smartcontracts merged 21 commits intoethereum-optimism:mainfrom
defi-wonderland:sc-feat/add-shared-lockbox

Conversation

@agusduha
Copy link
Contributor

@agusduha agusduha commented Nov 22, 2024

Description

Introducing the SharedLockbox spec and its corresponding upgrade process. This enhancement improves the Superchain’s interoperable ETH withdrawal user experience and prevents withdrawal failures caused by insufficient ETH in the OptimismPortal.

Additional context

Design doc: ethereum-optimism/design-docs#206

* feat: add shared lockbox spec

* feat: update shared lockbox spec

* fix: specs

* feat: add mermaid diagram

* fix: prs comments

* fix: nits

* fix: remove dependency manager

* feat: refactor lockbox specs

* fix: nit

* fix: misspellings

* fix: verb tense

* fix: prs comments

* fix: small changes
Copy link

@ControlCplusControlV ControlCplusControlV left a comment

Choose a reason for hiding this comment

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

Left some minor comments, but overall looks great!

@smartcontracts
Copy link
Contributor

Dropping this comment here as per request from @tynes. I think the most valuable think to add to this PR would be to clearly define the invariants that need to be maintained when we introduce this component.

Some examples here would be:

  1. Only authorized Portal contracts should be able to use the lockbox
  2. Portal contracts can only be authorized by
  3. Only safe Portal contracts can be authorized (now we need to define "safe")

I think point (3) is the most important and it would be valuable to explore all of the ways in which this condition could be violated. What is "safe"? We need to be exhaustive.

* feat: add shared lockbox invariants

* fix: remove immutable variable

* feat: add upgrader role

* feat: add authorized invariants to the portal

* fix: pr

* fix: add upgrader role and remove new portal invariants
Copy link

@ControlCplusControlV ControlCplusControlV left a comment

Choose a reason for hiding this comment

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

some small comments / nits but it looks great overall!

@agusduha agusduha requested a review from mds1 as a code owner February 21, 2025 19:49
Copy link
Contributor

@mds1 mds1 left a comment

Choose a reason for hiding this comment

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

All comments are small and easy to fix, so approving

@smartcontracts smartcontracts merged commit e5caa5f into ethereum-optimism:main Feb 26, 2025
1 check passed
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.

7 participants