-
Notifications
You must be signed in to change notification settings - Fork 127
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. It's possible to infer what account type a governance is for but it doesn't have the same strong guarantees as the account type specific governances. -
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 proposal 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 the vote while others expect that majority still has to be reached. The first group is confused when votes are not automatically tipped after reaching the threshold. 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 to show when proposal was signed off by each signatory -
Add timestamps to
CastVote
instructions -
Support ordering of instructions within a proposal
-
Support transaction for instructions to make it possible to execute multiple proposal instructions within a single transaction