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

What code can be managed by governance #745

Closed
kennyrowe opened this issue Jan 4, 2023 · 3 comments
Closed

What code can be managed by governance #745

kennyrowe opened this issue Jan 4, 2023 · 3 comments
Labels
vaults_triage DO NOT USE

Comments

@kennyrowe
Copy link

Today in the weekly office hours the issue of contact governance was discussed. @Chris-Hibbert mentioned that additional documentation needs to be created that describes how to identify what code is under governance authority. There are three basic things that need to be documented.

  • How to identify what parameters of a contract can be changed with governance
  • How Zoe filtering works in order to prevent certain invitations from being created
  • How a contract API can be changed as a result of governance
@kennyrowe kennyrowe changed the title What code is can be managed by governance What code can be managed by governance Jan 4, 2023
@Chris-Hibbert
Copy link
Collaborator

The third bullet is in reference to the ability of governance to invoke declared APIs in the contract. There's nothing that can be done during execution to change the API.

An example of a governed API is in the Reserve contract, where governance can invoke addLiquidityToAmmPool().

@Chris-Hibbert
Copy link
Collaborator

At a higher level, the question that was asked was about style guidelines for contract developers so they can support the legibility of governance. This is something that we need to write down. There are informal rules that we follow in developing our contracts, and we want to help our developers to do the same.

@Tyrosine22 Tyrosine22 self-assigned this Jan 10, 2023
@ivanlei ivanlei added the vaults_triage DO NOT USE label Feb 6, 2023
@dckc
Copy link
Member

dckc commented Mar 19, 2024

fixed in #999 along with #952: Contract Governance

  • How to identify what parameters of a contract can be changed with governance

#999 is more about writing a governed contract. It has a "Governance Package Aims" box that mentions visibility by clients, but it leaves the substance of the matter to the README and the Attacker's Guide in the @agoric/governance package.

  • How Zoe filtering works in order to prevent certain invitations from being created

The section on filters is something of a stub; it does cite a reasonably good discussion, though:

  • How a contract API can be changed as a result of governance

The example in the API governance section is where the EC can add and remove oracle operators. The reserve contract would be a good one, since it's probably simpler. But the EC/oracle example cites full production client UI code; I'm not aware of any client code for the reserve governed API.

@dckc dckc closed this as completed Mar 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vaults_triage DO NOT USE
Projects
None yet
Development

No branches or pull requests

5 participants