🗳️Governance Process
[WIP] This page describes the formal processes of governance followed by the ANS DAO
This page is being updated as further details are finalized and its content is expected to change.
The ANS DAO takes action through onchain voting mechanism facilitated by the ANS DAO smart contract. ANS users can put forth a proposal describing a call to action from ANS DAO and this document describes the process of developing and advancing ANS governance proposals.
Voting parameters
NOTE: These parameters are based on the proposed total supply of 200M ANS (not yet finalized) with all tokens minted and in supply during token launch and 12.5% of the total supply to be distributed to the general community in the initial phase. Token launch and DAO launch are expected to happen around the same time and these parameters are subject to change before the DAO launch (based on community feedback and comments) and/or after the DAO launch through governance smart contract update.
deposit
— 2M $ANS (1% of total supply) — deposit amount in$ANS
required to call a vote on an initiated proposalmin_support
— 10M $ANS — a minimum number of tokens withyes
votes (other votes likeabstain
andno
are not counted) to pass the proposalmin_duration
— 7 days — minimum voting time (in number of seconds) for a new proposalmax_duration
— 10 days — maximum voting time (in number of seconds) for a new proposalcooldown_period
— 2 days — gap between proposal passing and execution
Proposals
There are four main categories of proposals:
Social:
This type of proposal calls for an action off-chain that can be executed by the team of directors. This type of proposal does not mobilize any funds from the treasury nor does it make a change to the registry smart contract.The social proposal requires the following basic parameters that are common to all proposals:
duration (in number of days): to determine the duration of the vote
Proposal URL: GitHub discussions URL to the proposal
Upon completion of the vote, a
social
proposal does not perform any action. The vote results are recorded for posterity and the staked tokens are returned to the owner.Funding:
This type of proposal mobilizes funds from the treasury.The following additional input parameters are required:
recipient's address (Algorand account in string format): Valid Algorand address of the recipient
amount of ALGOs (number of $ALGO requested): Amount requested in ALGOs
amount of ANS (number of $ANS requested): Amount requested in ANS tokens
The following conditions apply:
Only 20% of registry treasury ($ALGO) can be requested at once
Only 20% of ANS token treasury ($ANS) can be requested at once
This proposal will perform the following additional actions if it passes:
Withdraw ALGOs from the registry treasury and deposit them into the recipient's address
Deposit ANS tokens from DAO treasury into the recipient's address
Update Registry:
This type of proposal calls for a change in the registry smart contract or for action from the current directors. This type of proposal does NOT mobilize funds.The following additional parameters are required for the Update Registry proposal:
registry's app id (integer): Must be valid APP_ID of the name registry
approval program (bytecode): registry's updated approval program
clear program (bytecode): registry's updated clear program
app_args (string list): the application arguments corresponding to the approval program and registry's update method
This proposal will initially record the program hashes of approval and clear state programs. Upon successful vote passing, the subsequent action to "check results" will prepare and execute InnerTransactions that call the registry smart contract's update method.
Update Gov Contract:
This type of proposal calls for a change in the governance processes or parameters. This type of proposal does NOT mobilize funds but updates the DAO smart contract with the modified voting parameters or processes. The following additional parameters are required for the Update Gov Contract proposal:approval program (bytecode): DAO smart contract's updated approval program
clear program (bytecode): DAO smart contract's updated clear program
app_args (string list): the application arguments corresponding to the DAO smart contract's approval program
NOTE: The minimum quorum required to pass an update gov contract is 20M $ANS (10% of total supply) and is higher than other proposals for security purposes. This proposal will record the hashes for the approval program and clear state program.
Workflow
This section describes a general workflow for getting things done.
The governance process can be broken down into the following simple steps:
Draft a proposal. For maximum success, please follow the proposal template below.
Create a GitHub discussions topic here following the proposal template and gather feedback
Initiate a proposal with desired parameterss and share the news with the community
Wait for the proposal period to end and initiate the "Check Results" action
Work hard. Share progress reports if you've been funded for a project. Return to add your next proposal and participate in voting on other proposals.
Proposal template
Proposal Number : (Proposal type) Proposal title
The title of the proposal is prefixed with a proposal number separated by a colon. The proposal number and the colon are followed by the type of the proposal in paranthesis. Proposal numbers must be unique and are recommended to be in an incrementing (by one) series. A short paragraph providing a brief overview of the proposal helps inform the readers of what to expect from the proposal.
Objective
Proposals are calls to action from the ANS DAO constituents. In the case of a social proposal, the proposer(s) may identify an issue or a problem and propose a change (in organization, administration, or branding) as the objective. In the case of a funding proposal, the proposer(s) may identify an appealing feature to add or a project to support and can include how this new feature, product, or partnership may benefit the ANS and Algorand community as the objective. In the case of the update registry
or update gov
contract proposal, the proposer(s) may identify how the updates are beneficial to the ANS DAO community as the objective.
Description
Here, the proposer(s) describe the proposal in detail. If the proposal is calling for a change, the description may include before/after comparison and further details about the requested change. In the case of a funding proposal, the description can include Work Statement and timeline with milestones and deliverables. In the case of an update registry
or update gov contract
proposal, the description must include the link to a diff of code and can highlight how the changes impact the general workflow (if applicable) or other ANS User Experience or community activities.
Principal Investigator (PI) (Funding proposals only)
In the case of a funding proposal, the Principal Investigator acts as the point of contact and is responsible for sharing progress and updates. The .algo name of the PI is enough but any additional contact info such as Twitter handle or discord username is beneficial (but not necessary).
Last updated