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

Ability to change/set the owner #407

Open
Neotamandua opened this issue Nov 27, 2024 · 2 comments
Open

Ability to change/set the owner #407

Neotamandua opened this issue Nov 27, 2024 · 2 comments

Comments

@Neotamandua
Copy link
Member

Summary

For future use cases related to permission management, it is useful to have the ability to change the owner of the contract.

Additional context

This is likely needed for Zedger as well.

Possible Solution

Add an uplink API function which will provide the ability to change/set another owner. This is sufficient for contracts to incorporate a more sophisticated ownership management. Any contract using uplink can then expose functions that verify that the owner is calling a change owner function, and only then call the actual change function, or other two-step approaches (change & accept).

@miloszm
Copy link
Contributor

miloszm commented Nov 28, 2024

After some consideration, I think that we should not add contract's ability to change/set its owner. In some likely scenarios users may want to deploy some contracts whose code they do not understand and do not control. They would only trust that the contract works as advertised and that they remain the owner of it. It would be against interest of such users that the contract can free itself of their ownership. Hence, in my opinion such api should not be allowed and the corresponding (to this issue) scenarios should be realised by other means.

@miloszm
Copy link
Contributor

miloszm commented Nov 28, 2024

In other words verification that the party changing the owner is the current owner cannot be performed at contract's discretion, it needs to be done at the system level IMO.

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

2 participants