0.0.5 • Published 6 years ago
@daonuts/challenge v0.0.5
challenge
Overview
The challenge app restricts Aragon dao actions to be taken only once vetted through a challenge period.
PROPOSE_ROLE- may create challenge-able actions. there is no way to directly do this - only via the Aragon permission forwarding system. ie. the challenge app is used to fill roles in other apps.
- proposals are made along with a
proposalStakeand rate limited byproposalDelay. - unchallenged proposals can be enacted after
challengeTime Proposeevent is fired
CHALLENGE_ROLE- may challenge proposed actions.
- challenges are made along with a
challengeFeewhich is burned - unsupported challenges are successful (proposal defeated) after
supportTime Challengeevent is fired
SUPPORT_ROLE- may overcome a challenged proposal (proposal is accepted and not re-challenge-able)
- this role might be assigned to be the voting app (so only a dao vote can overcome a challenged proposal)
- does not automatically enact the proposal (see Ending proposals)
Supportevent is fired
MODIFY_PARAMETER_ROLEcan modify any of the following app parameters:proposalStakeproposalRewardchallengeFeechallengeTimesupportTimeproposalDelay
Ending proposals
All proposals require a final step to conclude and this is taken by calling the end method. This method settles balances for proposer and any potential challenger, moving proposalStake to the challenger for successful challenges, proposalStake + proposalReward to the proposer for successful proposals, and executing the proposal action. Currently the proposal script is also deleted once enacted to save transaction gas though this has the side affect of removing the possibility to view past proposals (maybe the proposal script should be added to the Propose event?). The end method also emits the End event.
Donuts specific parameter values
- initially
PROPOSE_ROLEwould be restricted to mods - initially
MODIFY_PARAMETER_ROLEwould be restricted to u/carlslarson CHALLENGE_ROLEwill be restricted to any holder of locked (earned/non-transferable) donutsSUPPORT_ROLEwill be the voting appproposalStake- 100k donutsproposalReward- 10k donutschallengeFee- 50k donutschallengeTime- 1 weeksupportTime- 2 weeksproposalDelay- 1 hour