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

Give governance the ability to terminate the contract #9485

Open
Chris-Hibbert opened this issue Jun 11, 2024 · 0 comments
Open

Give governance the ability to terminate the contract #9485

Chris-Hibbert opened this issue Jun 11, 2024 · 0 comments
Labels
contract-upgrade enhancement New feature or request Governance Governance performance Performance related issues

Comments

@Chris-Hibbert
Copy link
Contributor

What is the Problem Being Solved?

Currently a contract can only be terminated by the contract itself (by calling zcf.shutdown() or zcf.shutdownWithFailure(). It would be helpful if governance could shut it down and allow the space to be recovered when no longer useful.

Description of the Design

Zcf has access to the adminNode necessary to call E(adminNode).terminateWithFailure().
The contractGovernor inside a contract has access to ZCF. It could make that accessible to governance, so we could add terminationGovernance to the existing paramGovernance, filterGovernance, and APIGovernance.

This doesn't help #9483 with termination of existing vats, but could be useful in the future.

Security Considerations

We've already addressed the issue of controlling access to these powerful capabilities in the design of overnance, and use of charters.

Scaling Considerations

Will help cleanup in the future.

Test Plan

unit tests should be sufficient.

Upgrade Considerations

Upgraded contracts would have access to this functionality if their governor and charter were also upgraded. Until then, vats have to be terminated with core-evals.

@Chris-Hibbert Chris-Hibbert added enhancement New feature or request performance Performance related issues Governance Governance contract-upgrade labels Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contract-upgrade enhancement New feature or request Governance Governance performance Performance related issues
Projects
None yet
Development

No branches or pull requests

1 participant