Change Quorum using EVMcrispr

This guide will show you how to change the minimum Quorum (turnout) needed for votes in your DAO to pass using EVMcrispr.

EVMcrispr is a powerful tool that combines a domain-specific language with a Javascript library to interact with Aragon DAOs.

First thing, open EVMcrispr here and click 'Open Terminal'. Now, this screen should appear:

Next delete all the text in the terminal:

Click 'Connect' to connect to your Web3 Provider (Metamask for most users).

We are now going to write the commands to change the mimimum Quorum Percentage.

To change the minimum Quorum Percentage for your DAO you will have to connect to your DAO with connect <dao-name-or-address. Next we add token-manager voting because the token-manager app has the CREATE_VOTES_ROLE needed to forward actions to voting the app we will interact with. This is what we have so far:

connect <dao-name-or-address> token-manager voting

Now we will write the second command line for the EVMcrispr terminal. First to add is exec which is a command used to perform transactions DAOs. Next we add voting the app we will interact with. This is what we have so far:

connect <dao-name-or-address> token-manager voting
exec voting

We are not ready however. When we look in the source code of the Voting App on Github we can find a function to change the minimum accepted Quorum Percentage, this is exactly what we need:

function changeMinAcceptQuorumPct(uint64 _minAcceptQuorumPct)
    external
    authP(MODIFY_QUORUM_ROLE, arr(uint256(_minAcceptQuorumPct), uint256(minAcceptQuorumPct)))
{
    require(_minAcceptQuorumPct <= supportRequiredPct, ERROR_CHANGE_QUORUM_PCTS);
    minAcceptQuorumPct = _minAcceptQuorumPct;

    emit ChangeMinQuorum(_minAcceptQuorumPct);
}

We will now add this function to the commands for the terminal to call it. We will have to add changeMinAcceptQuorumPct(uint64 _minAcceptQuorumPct), but first we will replace uint64 _minAcceptQuorumPct with your desired minimum Quorum Percentage.

This is expressed as a percentage of 10^18 , so for example 100% = 10^18 and 1% = 10^16. Say you want a new minimum Quorum of 25%, then you need to add 16 zeroes to 25 coming to 250000000000000000

Now add changeMinAcceptQuorumPct 250000000000000000 to the commands for the terminal:

connect <dao-name-or-address> token-manager voting
exec voting changeMinAcceptQuorumPct 250000000000000000

The commands are ready! Copy/ paste them in the terminal and click the 'Forward ...' button:

Sign the transaction from your Web3 Provider and it should now execute successfully.

We are almost ready but first open your DAO in the web browser. The url should be:

https://client.aragon.org/#/<dao-name-or-address>

Next go to the Voting app since this change has automatically generated a vote. Now you (and enough of your DAO members) need to approve the vote for it to pass:

When the voting time has run out click on 'Enact this vote' and sign the transaction with your Web3 Provider:

Once this is done the minimum Quorum Percentage should have been adjusted to 25%. You can double check this by creating a new vote. When you open the vote, the MINIMUM APPROVAL should have been adjusted to >25% needed.

Last updated

Was this helpful?