Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 0 additions & 20 deletions .gitignore

This file was deleted.

3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"rewrap.wrappingColumn": 9999999
}
43 changes: 3 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,9 @@
# DAO DAO docs

This website is built using [Docusaurus 2](https://docusaurus.io/).
This website is built using [GitBook](https://gitbook.com).

Deployed live at https://dao-dao-1.gitbook.io/docs.

## Contributing

Interested in contributing to DAO DAO? Check out [CONTRIBUTING.md](./CONTRIBUTING.md).


### Installation

```
$ yarn
```

### Local Development

```
$ yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Deployment

Using SSH:

```
$ USE_SSH=true yarn deploy
```

Not using SSH:

```
$ GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
3 changes: 0 additions & 3 deletions babel.config.js

This file was deleted.

File renamed without changes
File renamed without changes
2 changes: 2 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Quickstart

61 changes: 61 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Table of contents

## Introduction

* [Quickstart](README.md)
* [Create your first DAO](introduction/quickstart/create-a-dao.md)
* [Join a DAO](introduction/quickstart/join-a-dao/README.md)
* [Joining and leaving a member-based DAO](introduction/quickstart/join-a-dao/joining-leaving-member-based-dao.md)
* [Joining and leaving a token-based DAO](introduction/quickstart/join-a-dao/joining-leaving-token-based-dao.md)
* [Create your first proposal](introduction/quickstart/create-a-proposal.md)
* [Voting](introduction/quickstart/voting.md)
* [Congratulations!](introduction/quickstart/congratulations.md)
* [Welcome to DAO DAO](introduction/welcome-to-dao-dao.md)
* [What's a DAO?](introduction/whats-a-dao.md)
* [What's a blockchain?](introduction/whats-a-blockchain.md)
* [Technical breakdown](introduction/technical-breakdown.md)
* [Contribute to DAO DAO!](introduction/how-to-contribute.md)

## DAO Management

* [Create a DAO](dao-management/create-a-dao.md)
* [Update appearance](dao-management/update-info.md)
* [SubDAOs](dao-management/subdaos/README.md)
* [What are SubDAOs?](dao-management/subdaos/what.md)
* [How to create a SubDAO](dao-management/subdaos/how-to-create.md)
* [How to act on behalf of a SubDAO](dao-management/subdaos/act-on-behalf-of-subdao.md)
* [Treasury](dao-management/treasury/README.md)
* [Send tokens](dao-management/treasury/send.md)
* [Manage cross-chain tokens](dao-management/treasury/cross-chain.md)
* [Manage staking](dao-management/treasury/staking.md)
* [Displaying tokens and NFTs](dao-management/treasury/tokens-and-nfts.md)
* [Enable vesting payments](dao-management/treasury/vesting.md)
* [Manage Members](dao-management/manage-members/README.md)
* [Joining and leaving a member-based DAO](dao-management/manage-members/joining-leaving-member-based-dao.md)
* [Joining and leaving a token-based DAO](dao-management/manage-members/joining-leaving-token-based-dao.md)
* [Authz](dao-management/authz/README.md)
* [Grant Authorization](dao-management/authz/grant.md)
* [Revoke Authorization](dao-management/authz/revoke.md)
* [Execute via Authorization](dao-management/authz/execute.md)
* [Limitation](dao-management/authz/limitation.md)
* [Cross-chain support](dao-management/cross-chain.md)

## DAO Governance

* [Configuration](dao-governance/configuration/README.md)
* [Voting](dao-governance/configuration/voting.md)
* [Proposal submission](dao-governance/configuration/proposal-submission.md)
* [Staking](dao-governance/configuration/staking.md)
* [Proposals](dao-governance/proposals/README.md)
* [What are proposals?](dao-governance/proposals/what.md)
* [Types of proposals](dao-governance/proposals/types.md)
* [How to create a proposal](dao-governance/proposals/how-to-create-a-proposal.md)
* [How to vote on a proposal](dao-governance/proposals/how-to-vote-on-a-proposal.md)
* [How to add a proposal module](dao-governance/proposals/how-to-add-a-proposal-module.md)
* [How to change a pre-propose module](dao-governance/proposals/how-to-change-a-pre-propose-module.md)
* [How to bulk import actions](dao-governance/proposals/bulk-import-actions.md)
* [How to create an autofill proposal link](dao-governance/proposals/autofill-proposal-link.md)
* [Manage Vetoable DAOs](dao-governance/manage-vetoable-daos.md)
* [Migration](dao-governance/migration.md)
* [Notifications](dao-governance/notifications/README.md)
* [Telegram Notifications](dao-governance/notifications/telegram.md)
4 changes: 0 additions & 4 deletions docs/dao-governance/_category_.json

This file was deleted.

2 changes: 2 additions & 0 deletions docs/dao-governance/configuration/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Configuration

4 changes: 0 additions & 4 deletions docs/dao-governance/configuration/_category_.json

This file was deleted.

18 changes: 5 additions & 13 deletions docs/dao-governance/configuration/proposal-submission.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
---
sidebar_position: 2
---

# Proposal submission

A DAO's proposal submission configuration manages the rules around submitting a proposal for voting.

## How to update the proposal submission configuration

To change the proposal submission configuration of a DAO, you must submit a [governance proposal](../proposals/what) containing the `Update Proposal Submission Config` action from the `DAO Governance` category.
To change the proposal submission configuration of a DAO, you must submit a [governance proposal](../proposals/what.md) containing the `Update Proposal Submission Config` action from the `DAO Governance` category.

If you have multiple choice proposals enabled, you will instead see two different actions, one labeled `Update Single Choice Proposal Submission Config` and the other `Update Multiple Choice Proposal Submission Config`. You may configure each proposal type (single and multiple choice) separately, though they should probably be kept in sync so the voting experience is consistent.

## Parameters

You can update all of these parameters with the action(s) mentioned above at any
time.
You can update all of these parameters with the action(s) mentioned above at any time.

### Proposal deposit

Expand All @@ -25,16 +20,13 @@ This is a required deposit someone must put down to create a proposal. This can

There are three ways to handle proposal deposits:

1. `Always` refund proposal deposits, regardless of whether the proposal passes
or fails.
1. `Always` refund proposal deposits, regardless of whether the proposal passes or fails.
2. `Only passed proposals` refund proposal deposits.
3. `Never` refund proposal deposits.

:::tip

{% hint style="info" %}
You may want to enable this if you are worried about spam.

:::
{% endhint %}

### Proposal submission policy

Expand Down
6 changes: 1 addition & 5 deletions docs/dao-governance/configuration/staking.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
---
sidebar_position: 3
---

# Staking

A DAO's staking configuration determines the rules of the token staking process. Only token-based and NFT-based DAOs have a staking process to configure. Member-based DAOs do not have staking because they do not use tokens.

## How to update the staking configuration

To change the staking configuration of a DAO, you must submit a [governance proposal](../proposals/what) containing the `Update Staking Config` action from the `DAO Governance` category.
To change the staking configuration of a DAO, you must submit a [governance proposal](../proposals/what.md) containing the `Update Staking Config` action from the `DAO Governance` category.

## Parameters

Expand Down
28 changes: 9 additions & 19 deletions docs/dao-governance/configuration/voting.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
---
sidebar_position: 1
---

# Voting

A DAO's voting configuration determines the rules of the voting process. Things like the passing threshold and voting duration.

## How to update the voting configuration

To change the voting configuration of a DAO, you must submit a [governance proposal](../proposals/what) containing the `Update Voting Config` action from the `DAO Governance` category.
To change the voting configuration of a DAO, you must submit a [governance proposal](../proposals/what.md) containing the `Update Voting Config` action from the `DAO Governance` category.

If you have multiple choice proposals enabled, you will instead see two different actions, one labeled `Update Single Choice Voting Config` and the other `Update Multiple Choice Voting Config`. You may configure each proposal type (single and multiple choice) separately, though they should probably be kept in sync so the voting experience is consistent.

Expand All @@ -18,9 +14,9 @@ You can update all of these parameters with the action(s) mentioned above at any

### Passing threshold and quorum

The **_passing threshold_** is the `Yes` threshold needed to pass a proposal. It defaults to majority (i.e. any votes above 50%). It sounds simple, but it gets trick very fast because it works differently depending on whether or not the quorum is enabled.
The _**passing threshold**_ is the `Yes` threshold needed to pass a proposal. It defaults to majority (i.e. any votes above 50%). It sounds simple, but it gets trick very fast because it works differently depending on whether or not the quorum is enabled.

The **_quorum_** is the proportion of all voting power that must vote for a proposal to be **passable**. It defaults to 20%. For single choice proposals, quorum can be disabled.
The _**quorum**_ is the proportion of all voting power that must vote for a proposal to be **passable**. It defaults to 20%. For single choice proposals, quorum can be disabled.

#### Multiple choice proposals

Expand All @@ -36,23 +32,19 @@ For example, with a quorum of 40% and a passing threshold of 75%, a proposal cou

Setting quorum to 0% means that any single voter can pass a proposal by themself. _This is different from disabling quorum._

:::tip

{% hint style="info" %}
Enabling a quorum helps when there is a risk of low participation in a DAO. Large token-based DAOs likely face this risk as membership is fluid and attention is finite. Setting a quorum low enough ensures that the DAO cannot be locked due to lack of sufficient participation. However, setting a quorum too low can lead to proposals passing that do not represent enough member's preferences (if not enough people are paying attention).

:::
{% endhint %}

#### With quorum disabled

If your DAO has no quorum set, the passing threshold is calculated among **all possible voters**. This is considered an absolute threshold.

For example, with a passing threshold of 67%, a proposal will pass if 67% of the total voting power voted `Yes`.

:::caution

{% hint style="warning" %}
Threshold and quorum can be very confusing. Please be careful and check your understanding with others before making any changes.

:::
{% endhint %}

### Only members execute

Expand All @@ -66,10 +58,8 @@ This is the maximum time proposals remain open for voting.

If enabled, votes can be changed before the voting duration ends. This defaults to disabled.

:::tip

{% hint style="info" %}
When this is enabled, proposals always remain open for their entire duration. This is because the proposal outcome cannot be determined if votes can be changed.

When this is disabled, proposals will pass or fail early if sufficient voters cast votes to determine an outcome.

:::
{% endhint %}
16 changes: 7 additions & 9 deletions docs/dao-governance/manage-vetoable-daos.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,33 @@
---
sidebar_position: 3
---

# Manage Vetoable DAOs

Your DAO can opt to display proposals from affiliated DAOs that you have the power to veto. This guide outlines the steps for enabling or disabling this option.

## 1. Create Proposal

a. From your DAO page, example circled in green, click the Proposal tab, indicated by the yellow arrow.
![Create proposal](/img/dao-management/change-appearance1.png)

<figure><img src="../.gitbook/assets/change-appearance1.png" alt=""><figcaption></figcaption></figure>

b. Create a new proposal by clicking the +Proposal button.

c. Give your proposal a title and description.
![MVD title and description](/img/dao-governance/vetoable1.png)

<figure><img src="../.gitbook/assets/vetoable1.png" alt=""><figcaption></figcaption></figure>

## 2. Add Actions

a. From the Action Library, select the DAO Governance tab and then the Manage Vetoable DAOs option, indicated with a green arrow in the picture below.

![Manage vetoable daos action library](/img/dao-governance/vetoable2.png)
![Manage vetoable daos action library](../.gitbook/assets/vetoable2.png)

b. This will cause the Manage Vetoable DAOs box to appear, where you can enable or disable this feature. Paste an Osmosis address or search for the chosen DAO by name in the DAO prompt.

![Manage vetoable daos action box](/img/dao-governance/vetoable3.png)
![Manage vetoable daos action box](../.gitbook/assets/vetoable3.png)

c. At the bottom of the screen will be an option to publish your proposal. Once you have reviewed your changes, publish your proposal to start the vote!

## 3. Vote

a. Once the proposal is live, you and other DAO members can vote. [Learn more about voting here!](./proposals/how-to-vote-on-a-proposal)
a. Once the proposal is live, you and other DAO members can vote. [Learn more about voting here!](proposals/how-to-vote-on-a-proposal.md)

b. If the DAO membership votes in favor of the proposal, all of the change will happen automatically at the close of the voting period.
35 changes: 11 additions & 24 deletions docs/dao-governance/migration.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,22 @@
---
sidebar_position: 4
---

# Migration

There is no standardized migration process for DAOs since configurations can
vary significantly, especially across chains.
There is no standardized migration process for DAOs since configurations can vary significantly, especially across chains.

It's best practice to create a new DAO and formulate a well-structured migration
plan that you communicate to the community. A migration plan should include:
It's best practice to create a new DAO and formulate a well-structured migration plan that you communicate to the community. A migration plan should include:

- Reasons outlining the need for the migration
- The timeline for the migration
- How voting power will be transferred
- Security measures that will be taken
* Reasons outlining the need for the migration
* The timeline for the migration
* How voting power will be transferred
* Security measures that will be taken

## Key considerations

As people migrate, voting power will be decreasing in the original DAO. This may
present a security risk if insufficient voting power is held in the original DAO
to vote down malicious proposals, especially if voting power can be purchased on
a market.
As people migrate, voting power will be decreasing in the original DAO. This may present a security risk if insufficient voting power is held in the original DAO to vote down malicious proposals, especially if voting power can be purchased on a market.

Some potential solutions include:

- Implementing a migration committee entrusted with the DAO's assets during the
migration period
- Creating a security council that can veto malicious proposals in either/both
DAOs
- Creating a security council that must approve all proposals in either/both
DAOs before they open for voting
* Implementing a migration committee entrusted with the DAO's assets during the migration period
* Creating a security council that can veto malicious proposals in either/both DAOs
* Creating a security council that must approve all proposals in either/both DAOs before they open for voting

As always, be very careful and intentional about the migration process,
especially when there are assets at stake.
As always, be very careful and intentional about the migration process, especially when there are assets at stake.
2 changes: 2 additions & 0 deletions docs/dao-governance/notifications/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Notifications

Loading
Loading