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

ERC-7201 strorage slots for UpgradeableBeacon #5452

Open
aviggiano opened this issue Jan 22, 2025 · 0 comments
Open

ERC-7201 strorage slots for UpgradeableBeacon #5452

aviggiano opened this issue Jan 22, 2025 · 0 comments

Comments

@aviggiano
Copy link
Contributor

🧐 Motivation

An initial version of the @SizeCredit fixed-rate lending market was implemented using a UUPSUpgradeable contract for the ETH/USDC pair. The first version was not meant to be used by other pairs, so this design seemed appropriate. Later, the team decided to launch more markets, which resulted in many different instances of the same contract deployed for each pair, which is very painful to manage. All ACL updates require multiple contract calls, and so do upgrades. This results in more manual and DevOps work, which can be time-consuming and risky because of human errors.

📝 Details

In order to simplify the management of dozens of contracts, it would be good if it were possible to migrate a UUPSUpgradeable proxy to UpgradeableBeacon proxy.

In addition to the untested, dangerous migration, it seems like there's a more direct bottleneck, which is the usage of address private _implementation on slot 0, which would clash with my existing contract's data.

This issue suggests migrating UpgradeableBeacon storage slots to ERC-7201 for easier migration in such cases.

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

No branches or pull requests

1 participant