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

feat: Ownable2StepUpgradeable to OwnableUpgradeable #21

Merged
merged 1 commit into from
Oct 8, 2024

Conversation

richard-ramos
Copy link
Member

This allows the contract to transfer ownership to address 0x000...000 as defined in waku-org/specs#34: At some point, the _Owner_ SHOULD renounce their privileges, and the contract MUST become immutable. The problem with Ownable2StepUpgradeable is that it requires accepting the ownership transfer, which is not possible with address 0x0

@s-tikhomirov
Copy link
Contributor

s-tikhomirov commented Oct 7, 2024

Would it be possible / desirable to have the contract as Ownable2StepUpgradeable first, and then update it to Ownable? Until the privileges are not dropped, might we need the functionality of transferring the ownership while we depoly and test things? @jm-clius wdyt?

@jm-clius
Copy link

jm-clius commented Oct 7, 2024

No strong opinion, but IIUC the OwnableUpgradable will still allow us to (carefully) transfer ownership if need be, just without the safety of a 2-step process? If we don't have specific plans for multiple ownership transfers I don't think there's a strong need to keep the contract Ownable2StepUpgradeable.

@richard-ramos
Copy link
Member Author

The OwnableUpgradable will still allow us to (carefully) transfer ownership if need be, just without the safety of a 2-step process?

yes! that's basically the main difference between Ownable and Ownable2Step. I do think that changing the ownership of the contract is a process that should happen extremely rarely, with maybe it happening only 2 times, as the owner of the contract itself should not be any individual but perhaps a multisig instead (so changes in the contract are done with approvals of more than a single person). Based on this idea, the first ownership transfer should be to the multisig address, and the final transfer to 0x0 to make it immutable.

@richard-ramos richard-ramos force-pushed the feat/membership-notrack branch 4 times, most recently from 2b1600a to 6db38e3 Compare October 7, 2024 20:02
Base automatically changed from feat/membership-notrack to feat/membership October 8, 2024 12:58
This allows the contract to transfer ownership to address 0x000...000 as defined in waku-org/specs#34: `At some point, the _Owner_ SHOULD renounce their privileges, and the contract MUST become immutable`. The problem with `Ownable2StepUpgradeable` is that it requires accepting the ownership transfer, which is not possible with address 0x0
@richard-ramos richard-ramos merged commit e8ee1d7 into feat/membership Oct 8, 2024
4 checks passed
@richard-ramos richard-ramos deleted the owned branch October 8, 2024 18:38
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.

3 participants