Skip to content

Governance

Sebastian Bor edited this page Jun 19, 2021 · 7 revisions

Governance v2 proposals

  1. CreateMintGovernance instruction.
    In similar way to CreateProgramGovernance instruction and program account it would setup a governance over a mint account and validate mint authority and/or transfer it to the governance account at the creation time.

  2. Prevent creating mint and program governances using CreateAccountGovernance. They should be created using the account type specific instructions. The main reason for this is to provide a better UI where we could clearly indicate to users what type of governance they work with.

  3. Require and validate community and council token possession to create a realm. It should prevent anecdotal realm creations by users who don't posses the relevant tokens.

  4. Require and validate community and council token possession to create a governance. It should prevent anecdotal governance creations by users who don't posses the relevant tokens.

  5. Remove Governance:id() and always pass it from instruction to support multiple runtime clones.

  6. Add cool off period to proposals to make it still possible to still cancel them after they were voted on

  7. Add UpdateGovernanceConfig instruction to make it possible to change governance config through a proposal

  8. Add ExecutionError state for a proposal. Currently when an instruction fails there is no indication that it was attempted to execute it and hangs forever in Executing state.

  9. Support alternative vote thresholds. Users find it confusing when yes_vote_threshold_percentage is below 50%. Some interpret it as min votes to tip while others still expect that majority still has to be reached. I think more common and intuitive threshold is how many (as percentage) votes should be cast for a vote to be valid. For example for vote to be valid 80% of community members must vote and then majority of 50%+1 within the voting population is required to tip the vote

  10. Add timestamps to SignOff instructions

  11. Add timestamps to CastVote instructions

  12. Support ordering of instruction within a proposal

  13. Support transaction for instructions to execute multiple instructions within a single transaction

Clone this wiki locally