-
Notifications
You must be signed in to change notification settings - Fork 7
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
Patch UpgradeableRenounceableProxy to strictly enforce promises #114
Conversation
Actually, i start thinking now that ADMIN_INIT immutable lost its meaning and probably should be removed. Let me think a little, probably i'll do one more commit. |
Finally decided to remove ADMIN_INIT, ready for merge. |
some points to explicitly state to have confirmed, as we are now knee-deep into this:
This looks very good; if we agree/discuss on point 1. and 2. (which i think we do); this is good to merge! great work! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
After spending additional time to knee-deep, we concluded that the proxy admin functionality should be protected by a reentrancy guard to prevent potential vulnerabilities. |
Refactor _delegate function to prevent modification of admin and implementation slots.
This patch ensures that the proxy-native functions upgradeToAndCall and renounceUpgradeability are exclusive by disallowing any adjustments to the admin and implementation slots during implementation execution. This change enforces strict integrity of these slots, preventing modifications during delegate calls.