Give governance the ability to terminate the contract #9485
Labels
contract-upgrade
enhancement
New feature or request
Governance
Governance
performance
Performance related issues
What is the Problem Being Solved?
Currently a contract can only be terminated by the contract itself (by calling
zcf.shutdown()
orzcf.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 existingparamGovernance
,filterGovernance
, andAPIGovernance
.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.
The text was updated successfully, but these errors were encountered: