Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from transparent proxies to UUPS proxies #232

Open
2 of 4 tasks
srdtrk opened this issue Jan 22, 2025 · 0 comments
Open
2 of 4 tasks

Switch from transparent proxies to UUPS proxies #232

srdtrk opened this issue Jan 22, 2025 · 0 comments
Labels
enhancement Improvements needs discussion This issue needs more discussion before its implementation security This issue impacts security assumptions solidity Issues related to the solidity contracts

Comments

@srdtrk
Copy link
Member

srdtrk commented Jan 22, 2025

Summary

We are currently using a transparent proxy pattern for contract upgradability. The UUPS proxy pattern would be better for our use case since we want to have more advanced authorization for upgrades. Openzepellin also provides UUPS utilities, and their recommendation is now shifting towards UUPS proxies. See Transparent vs UUPS proxies.

Problem Definition

In transperant proxy pattern, all upgrade authorization happens in the proxy contract by a single admin. Whereas, in UUPS, the upgrade authorization logic is to be placed in the logic contracts themselves. This allows more freedom when it comes to authorization control, and is required for our use case where we want to have two admins:

  1. A timelocked security council
  2. The governance of the counterparty chain.

There are other advantages to UUPS proxies as discussed in the aforementioned article.

Proposal

Switch to UUPS proxy pattern


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
  • Estimate provided
@srdtrk srdtrk added enhancement Improvements security This issue impacts security assumptions solidity Issues related to the solidity contracts needs discussion This issue needs more discussion before its implementation labels Jan 22, 2025
@srdtrk srdtrk changed the title Switch from transparent proxies to UUPS Proxies Switch from transparent proxies to UUPS proxies Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvements needs discussion This issue needs more discussion before its implementation security This issue impacts security assumptions solidity Issues related to the solidity contracts
Projects
Status: Backlog
Development

No branches or pull requests

1 participant