-
Notifications
You must be signed in to change notification settings - Fork 128
Governance
-
CreateMintGovernance
instruction.
In similar way toCreateProgramGovernance
instruction andprogram
account it would setup agovernance
over amint
account and validate mint authority and/or transfer it to thegovernance
account at the creation time. -
Prevent creating
mint
andprogram
governances usingCreateAccountGovernance
. 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. -
Require and validate
community
andcouncil
token possession to create arealm
. It should prevent anecdotalrealm
creations by users who don't posses the relevant tokens. -
Require and validate
community
andcouncil
token possession to create agovernance
. It should prevent anecdotalgovernance
creations by users who don't posses the relevant tokens. -
Remove
Governance:id()
and always pass it from instruction to support multiple runtime clones. -
Add
cool off
period to proposals to make it still possible to still cancel them after they were voted on -
Add
UpdateGovernanceConfig
instruction to make it possible to changegovernance
config through aproposal
-
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. -
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 -
Add timestamps to SignOff instructions
-
Add timestamps to CastVote instructions
-
Support ordering of instruction within a proposal
-
Support transaction for instructions to execute multiple instructions within a single transaction