diff --git a/docs/DAO-Management/DAO-add-members.md b/docs/DAO-Management/DAO-add-members.md index 880697f..886bf74 100644 --- a/docs/DAO-Management/DAO-add-members.md +++ b/docs/DAO-Management/DAO-add-members.md @@ -2,30 +2,25 @@ sidebar_position: 5 --- - - # Adding Members to a DAO -In order to add a member to your DAO click on the **[+]** button in the members panel. +In order to add a member to your DAO click on the ![addMemberButton](/img/DAO-add-members/add-member-button.png) button in the members panel. ![add-members](/img/DAO-add-members/members_view.PNG) -Specify the new member's wallet address in the form that appears and press **[Propose]** button to create a proposal to add the new member. +Specify the new member's wallet address in the form that appears and click on the **Propose** button to create a proposal to add the new member. ![add-members](/img/DAO-add-members/member's_wallet.PNG) -:::tip -All the other options of the proposal are automatically filled out and you don't have to specify them unless you want to override the default values. +:::tip Options +All the other options of the proposal are automatically filled out and you don't have to specify them unless you want to override the default values. You can access the options panel by pressing the **Options** button. ::: - -You can access the options panel by pressing the **[Options]** button. - **Proposal Title:** This is the title the other members of your DAO will see when they vote on the proposal. -**Proposal Description**: The description of the proposal. +**Proposal Description:** The description of the proposal. -**Voter Weight**: If the member is added the voter weight defines how much voting power the member will have. Voter weight of 1 means the new member would have 1 vote in the DAO. The voter weight can be changed in the future by creating additional proposals. +**Voter Weight:** If the member is added the voter weight defines how much voting power the member will have. Voter weight of 1 means the new member would have 1 vote in the DAO. The voter weight can be changed in the future by creating additional proposals. ![add-members](/img/DAO-add-members/wallet_options.PNG) @@ -33,8 +28,8 @@ After proposing and voting yourself, you have to wait for other members of the D ![add-members](/img/DAO-add-members/voting_results.PNG) -When enough members approve the proposal and the approval quorum is reached it is automatically passed without waiting the full voting time (3 days by default). +When enough members approve the proposal and the approval quorum is reached it is automatically passed without waiting the full voting time (3 days by default). -Finally, after the proposal is approved by the DAO members, in the "Instructions" section of the proposal click on the **[Execute]** button to mint the membership token(s) to the new member. +Finally, after the proposal is approved by the DAO members, in the "Instructions" section of the proposal click on the **Execute** button to mint the membership token(s) to the new member. ![add-members](/img/DAO-add-members/execute_instructions.PNG) diff --git a/docs/DAO-Management/createing-DAOs/DAO-wizard.md b/docs/DAO-Management/createing-DAOs/DAO-wizard.md deleted file mode 100644 index a797d65..0000000 --- a/docs/DAO-Management/createing-DAOs/DAO-wizard.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_position: 1 ---- - -# DAO Wizard - -You have two ways to create a multisig DAO, the simple and the advanced. The simple way, you don't need to worry about governance tokens, governance programs and other details, because the platform will generate everything for you. The advanced way, you'll need to provide all the necessary information that is abstracted in the simple form. To perform this operation, we'll use a DAO Wizard that guides you to the necessary steps depending on the options you choose. So, let's take a look in both cases. - -### Before starting - -The first thing to do is to go to the [Official GUI](https://realms.today) and be sure that you have [Phantom](https://phantom.app/) installed on your browser. -After this step, you need to choose if you want to use the `devnet` or the `mainnet`. Unfortunately, the Phantom wallet doesn't allow us to sync the networks yet, so you'll need to do it manually. If you want to use the `devnet`, add `?cluster=devnet` to the url. - -> So the url becomes: `https://realms.today?cluster=devnet`. - -For `mainnet`, you don't need to do any change the url. - -From the main screen, click `Create DAO` button - -![createDAObtn](/img/multisig-DAO/create-DAO-btn.png) - -Then, your wallet will pop up asking to connect to the app. Click connect and you'll be redirected to the DAO Wizard page. - -![connectwallet](/img/multisig-DAO/connect-wallet.png) - -The DAO Wizard is a feature to help you with the setup of your DAO. It will guide you through the necessary steps to create a new DAO. -In the wizard page, it's possible to choose between two options: - -1. Create a Multisig DAO and -2. Create a Bespoke DAO - -![DAOwizard](/img/multisig-DAO/DAO-wizard.png) - -_Let's dive into each one of these options._ diff --git a/docs/DAO-Management/createing-DAOs/NFT-Community-DAO.md b/docs/DAO-Management/createing-DAOs/NFT-Community-DAO.md deleted file mode 100644 index dc1c632..0000000 --- a/docs/DAO-Management/createing-DAOs/NFT-Community-DAO.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Create NFT Community DAO - -NFT Community DAO is a DAO where NFTs are used as the governance token. -Any DAO can enable NFT voting through the Plug & Play mechanism of [spl-governance](https://github.com/solana-labs/solana-program-library/blob/master/governance/README.md). - -In order to enable NFT governance for a DAO the [NFT voting plugin](https://github.com/solana-labs/governance-program-library) has to be enabled for the DAO. - -:::danger Security -As of 29/04/2022 the NFT voting plugin program hasn't been security audited yet. Use at your own risk. -::: - -The NFT voting plugin grants governance power to NFTs based on the [Metaplex Certified Collection](https://www.metaplex.com/posts/certified-collections) they belong to. -In the most basic scenario each NFT gives its owner 1 vote. The owner can have multiple NFTs and vote with all of them at once. -A DAO can also use more advanced scenarios where multiple collections with different voting power are used. -This way a multi tier governance structure can be created where different NFTs can represent -different membership levels. - -:::tip Note -Metaplex supports certified collections from version 1.1 of the standard. -NFTs minted with the older Metadata standard must be upgraded first to the latest version before they can be used for governance. -::: - -Only NFTs with certified collection on their Metadata can participate in governance. - -:::danger Security -Beware the authority of the collection can certify and uncertify NFTs for the collection. -It means it has the ultimate power to decide who can and can't vote in the DAO. -It's recommended for the authority to be transferred to the DAO. -::: - -## Create DAO - -If you have your DAO already created you can skip this section. -However please take note of the DAO parameters needed for the setup and adjust your DAO configuration accordingly. - -In order to create the NFT Community DAO use the [Bespoke DAO Wizard](bespoke-DAO.md) with the following parameters: - -**`Min community tokens to create proposal`** - Set to 1 to allow each NFT holder to create new governances. -If more restrictive setup is required the min threshold can be set to a higher value accordingly. - -**`Custom program Id`** - Use the default instance of `spl-governance` or an instance with minim version of v2.2.4 - -:::danger -spl-governance program version must be equal or higher than v2.2.4 for the NFT plugin to work correctly. -If the plugin is enabled for older versions it can result in irreversible deadlock of the DAO. -::: - -**`Council`** - Setup a DAO with the council. - -:::tip -It's recommended to always setup the council as a Multisig for the initial DAO members. -The members would be able to moderate the DAO governance process at its inception and prevent -irreversible actions like setting impossible quorums or defending the DAO from governance attacks. -After successful decentralization the council can be removed thorough a proposal. -::: - -## Configure NFT Voting Plugin - -In order to configure the NFT Plugin a proposal with the following 3 instructions must be created. -Note: The proposal must be created for the governance with realm authority. - -1. Create NFT plugin registrar - -![create-NFT-plugin-registrar](/img/NFT-Community-DAO/create-NFT-plugin-registrar.png) - -2. Create NFT plugin max voter weight - -![create-NFT-plugin-max-voter-weight](/img/NFT-Community-DAO/create-NFT-plugin-max-voter-weight.png) - -3. Configure NFT plugin collection - -![configure-NFT-plugin-collection](/img/NFT-Community-DAO/configure-NFT-plugin-collection.png) - -The NFT collection configuration instruction must be added for every NFT collection which should be allowed -to participate in governance of the DAO. - -Each NFT collection has the following parameters: - -**`Collection size`** - The number of certified NFTs in the collection. The size of the collection is -used to calculate the maximum voter weight and voting quorum levels. - -**`Collection weight`** - The relative voting weight of the NFTs from the collection. -In multi collection setup it allows to -assign different voting weights to different NFTs and create multi NFT / multi tier governance setup. -For a single collection it should be set to 1 - -**`Collection`** - The Id of the NFT collection which should be used for governance. - -:::tip -The collection ID can be found on the NFT explorer view. For example for [SMB NFT](https://explorer.solana.com/address/Fckuc1pnqQxsMMa3R8Smccz2iS5YQBeos7pG7xV4B1Ma) the collection id is `SMBH3wF6baUj6JWtzYvqcKuj2XCKWDqQxzspY12xPND` - -![smb-633-explorer-view](/img/NFT-Community-DAO/smb-633-explorer-view.png) -::: - -## Enable NFT Voting Plugin - -Once the NFT voting plugin configuration proposal is voted on and all instructions executed the DAO can enable NFT governance -through a `DAO Config Change` proposal. - -From the DAO parameters page select `Change Config` option - -![DAO-config-change](/img/NFT-Community-DAO/DAO-config-change.png) - -And then set the DAO configuration parameters - -Both **`Community voter weight addin`** and **`Community max voter weight addin`** parameters should be set to -the NFT Voting Plugin Program Id `GnftV5kLjd67tvHpNGyodwWveEKivz3ZWvvE3Z4xi2iw` - -![enable-NFT-voting-plugin](/img/NFT-Community-DAO/enable-NFT-voting-plugin.png) - - - -## Voting with NFTs - -Once the proposal to enable the NFT Voting Plugin for the DAO is executed any owner of an NFT from the configured -collection can participate in the DAO governance. - -The NFTs eligible for governance are displayed in the account view. - -![your-NFTs.png](/img/NFT-Community-DAO/your-NFTs.png) - -Note: Before you can vote in the DAO you have to register your wallet with the DAO. \ No newline at end of file diff --git a/docs/DAO-Management/createing-DAOs/bespoke-DAO.md b/docs/DAO-Management/createing-DAOs/bespoke-DAO.md deleted file mode 100644 index d2a7f61..0000000 --- a/docs/DAO-Management/createing-DAOs/bespoke-DAO.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Create a Bespoke DAO - -![multisigbespoke](/img/multisig-DAO/multisig-bespoke.png) - -When you choose to create a bespoke DAO, we assume that you're an advanced user who understands all the governance setup details and we present you a more complex and flexible form than the multisig DAO. - -So let's create a Bespoke DAO: - ---- - -## Creating the DAO - -With your governance setup plan in hand, you should fill the form as follows. The bespoke mode is split in 3 steps, let's do one by one: - -### Step 1: Name, Community and Program - -In the first step, you'll need to fill the basic configuration for your DAO - -![multisigbespoke](/img/multisig-DAO/multisig-bespoke-empty.png) - -1. **Name your DAO:** Choose the name for your DAO but bear in mind that if you choose a name that already exists, the transaction will fail. - -2. **Place the `Community Token Mint`** if you have one, and if not, it will be generated for you. The community token mint is the token that will be used by the community to vote on proposals and it is required to create a governance. - 1. When you put the community token mint, a switch `Transfer Authority` will show up. If checked, it will transfer the authority of the community token to the realm. - -3. **Min community tokens to create governance:** this field represents that to create a governance, there should be at least `N%` of the max supply of the tokens minted, being 1% the default value for tokens with supply bigger than 0. If the supply is 0, then this value will be set to `1000000` by default. - -4. **Community mint supply factor:** the max vote weight of the community token. If it is set to 1 then total supply of the community governance token equals to 100% vote. This value can vary from `0.0000000001` to `1`. - -:::tip -If you don't fill this field, the community token will be generated by the app -::: - -![multisigbespokecomm](/img/multisig-DAO/multisig-bespoke-community.png) - -5.**The `Governance Program Id`** field represents the Governance Program of the organization. If a DAO wants full control of their DAOs, they should deploy their own governance program. But to facilitate, Solana provides a default Governance program ID `GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw` so, if you don't want to deploy a governance program now, it is possible to use this instance. - -:::tip -Checking `Use Test Instance` will change the program id to `GTesTBiEWE32WHXXE2S4XbZvA5CrEc4xs6ZgRe895dP` and run in a test program instead of the main program id. This is recommended if you are deploying a testing DAO. -::: - -![multisigbespokegov](/img/multisig-DAO/multisig-bespoke-govtoken.png) - -6. **Lastly, the `Governance program version`** that represents the version of the governance program. If you're using the default instance then at the time of writing the version of the deployed program is 1. - -![multisigbespokeversion](/img/multisig-DAO/multisig-bespoke-programversion.png) - -7. **Click next to proceed to the [next step](#step-2-the-council)**. - ---- - -### Step 2: The Council - -The second step will guide you to setup the council settings. This step is optional and you can uncheck `Use Council` so you won't have a council for your DAO. - -1. **Place the `Council Token Mint`** The council token is a token that will be distributed to the DAO's team. It's usually necessary if your DAO has no community and needs some level of governance. - -:::tip -This step is optional, you don't need council mint to create a bespoke DAO but if you want a council, but doesn't have a token mint id, let the field empty and we'll generate for you. -::: - -![multisigbespokecomm](/img/multisig-DAO/multisig-bespoke-council.png) - -2. **Click next to proceed to the [next step](#step-3-the-summary)**. - -### Step 3: The Summary - -The third step will show a summary of all the data you have put in the form. Check to see if everything is alright - -![multisigbespokecomm](/img/multisig-DAO/multisig-bespoke-summary.png) - -**Click create, sign the transactions**, and when all transactions are finished, you'll be redirected to the DAO's page. - - diff --git a/docs/DAO-Management/creating-DAOs/DAO-wizard.md b/docs/DAO-Management/creating-DAOs/DAO-wizard.md new file mode 100644 index 0000000..a3d3056 --- /dev/null +++ b/docs/DAO-Management/creating-DAOs/DAO-wizard.md @@ -0,0 +1,34 @@ +--- +sidebar_position: 1 +--- + +# DAO Wizard + +You'll use a DAO Wizard to get things started. There are two types of DAOs you can create: multisig and bespoke. With a multisig DAO you don't have to worry about governance tokens, governance programs, and other details because the Wizard will provide this information. With a bespoke DAO you have more freedom to customize your DAO, but you will need to provide information to get started. + +### Connecting your wallet + +The first thing to do is to go to the [Official GUI](https://realms.today) and be sure that you have [Phantom](https://phantom.app/) installed on your browser. +Once you have Phantom Wallet installed, you are ready to connect. You should see a button in the top-right corner to connect your wallet. + +:::info Connecting to Devnet +By default, your wallet will connect to `mainnet-beta` but you can switch to `devnet` by clicking the arrow on the button and toggling the `Devnet` button: + +![selectDevnetButton](/img/multisig-DAO/select-devnet-button.png) +::: + +Once you have connected your wallet and selected your preferred network, click the `Create DAO` button: + +![createDAObtn](/img/multisig-DAO/create-DAO-btn.png) + +Your wallet will pop up asking to connect to the app: + +![connectwallet](/img/multisig-DAO/connect-wallet.png) + +Go ahead and connect and you'll be redirected to the DAO Wizard page: + +![DAOwizard](/img/multisig-DAO/DAO-wizard.png) + +The DAO Wizard is a tool designed to help you with the setup of your DAO. It will guide you through the necessary steps to create a new DAO based on the option you choose + +_Let's dive into each one of these options._ diff --git a/docs/DAO-Management/creating-DAOs/NFT-Community-DAO.md b/docs/DAO-Management/creating-DAOs/NFT-Community-DAO.md new file mode 100644 index 0000000..9298ea9 --- /dev/null +++ b/docs/DAO-Management/creating-DAOs/NFT-Community-DAO.md @@ -0,0 +1,127 @@ +--- +sidebar_position: 4 +--- + +# Create an NFT Community DAO + +:::danger Security Warning +As of 2022-04-29 the NFT voting plugin program hasn't been audited to ensure security. + +**Use at your own risk.** +::: + +An NFT Community DAO is a DAO where NFTs are used as the governance token. +Any DAO can enable NFT voting through the Plug & Play mechanism of [spl-governance](https://github.com/solana-labs/solana-program-library/blob/master/governance/README.md). + +In order to enable NFT governance for a DAO the [NFT voting plugin](https://github.com/solana-labs/governance-program-library) has to be enabled for the DAO. + +The NFT voting plugin grants governance power to NFTs based on the [Metaplex Certified Collection](https://www.metaplex.com/posts/certified-collections) they belong to. +In the most basic scenario each NFT gives its owner 1 vote. It is possible for someone to have multiple NFTs and vote with all of them at once. + +A DAO can also use more advanced scenarios where multiple collections with different voting powers are used. This way a multi-tier governance structure can be created where different NFTs can represent different membership levels. + +:::caution Note +Metaplex supports certified collections from version 1.1 of the standard. +NFTs minted with the older Metadata standard must be upgraded first to the latest version before they can be used for governance. +::: + +Only NFTs with certified collection on their Metadata can participate in governance. + +:::danger Note about authority +Beware the authority of the collection can certify and uncertify NFTs for the collection. +This means it has the ultimate power to decide who can and can't vote in the DAO. +To avoid issues related to voting power, it's recommended for the authority to be transferred to the DAO. +::: + +--- + +## Create Your DAO + +:::tip DAO already created? +If you have already created your DAO you can skip this section. +However please take note of the DAO parameters needed for the setup and adjust your DAO configuration accordingly. +::: + +In order to create the NFT Community DAO use the [Bespoke DAO Wizard](bespoke-DAO.md) with the following parameters: + +**Min community tokens to create proposal** - Set to 1 to allow each NFT holder to create new governances. +If more restrictive setup is required the min threshold can be set to a higher value accordingly. + +**Custom program Id** - Use the default instance of `spl-governance` or an instance with a version of v2.2.4 or higher. + +:::danger Version warning +spl-governance program version **must** be v2.2.4 or higher for the NFT plugin to work correctly. If the plugin is enabled for older versions it can result in irreversible deadlock of the DAO. +::: + +**Council** - Setup a DAO with a council. + +:::tip Pro Tip +It's recommended to always setup the council as a Multisig for the initial DAO members. +The members would be able to moderate the DAO governance process at its inception and prevent irreversible actions like setting impossible quorums or defending the DAO from governance attacks. After successful decentralization the council can be removed thorough +a proposal. +::: + +--- + +## Configure the NFT Voting Plugin + +In order to configure the NFT Plugin a proposal with the following 3 instructions must be created. +**Note: The proposal must be created for the governance with realm authority.** + +1. Create NFT plugin registrar + +![create-NFT-plugin-registrar](/img/NFT-Community-DAO/create-NFT-plugin-registrar.png) + +2. Create NFT plugin max voter weight + +![create-NFT-plugin-max-voter-weight](/img/NFT-Community-DAO/create-NFT-plugin-max-voter-weight.png) + +3. Configure NFT plugin collection + +![configure-NFT-plugin-collection](/img/NFT-Community-DAO/configure-NFT-plugin-collection.png) + +The NFT collection configuration instruction must be added for every NFT collection which will be allowed to participate in governance of the DAO. + +Each NFT collection has the following parameters: + +**Collection size** - The number of certified NFTs in the collection. The size of the collection is used to calculate the maximum voter weight and voting quorum levels. + +**Collection weight** - The relative voting weight of the NFTs from the collection. If you are using multiple collections you can assign different voting weights to different NFTs and create a multi-NFT / multi-tier governance setup. +For a single collection it should be set to 1. + +**Collection** - The Id of the NFT collection which should be used for governance. + +:::tip +The collection ID can be found on the NFT explorer view. For example, with [SMB NFT](https://explorer.solana.com/address/Fckuc1pnqQxsMMa3R8Smccz2iS5YQBeos7pG7xV4B1Ma) the collection id is `SMBH3wF6baUj6JWtzYvqcKuj2XCKWDqQxzspY12xPND` + +![smb-633-explorer-view](/img/NFT-Community-DAO/smb-633-explorer-view.png) +::: + +## Enable NFT Voting Plugin + +Once the NFT voting plugin configuration proposal has been voted on and all instructions have been executed the DAO can enable NFT governance +through a `DAO Config Change` proposal. + +Navigate to the DAO 'Params' page and select `Change Config` option: + +![DAO-config-change](/img/NFT-Community-DAO/DAO-config-change.png) + +Set the DAO configuration parameters: + +:::tip Note +Both **`Community voter weight addin`** and **`Community max voter weight addin`** parameters should be set to the NFT Voting Plugin Program Id `GnftV5kLjd67tvHpNGyodwWveEKivz3ZWvvE3Z4xi2iw` +::: + +![enable-NFT-voting-plugin](/img/NFT-Community-DAO/enable-NFT-voting-plugin.png) + +## Voting with NFTs + +Once the proposal to enable the NFT Voting Plugin for the DAO has been executed any owner of an NFT from the configured collection can participate in the DAO governance. + +The NFTs eligible for governance are displayed in the account view. + +![your-NFTs.png](/img/NFT-Community-DAO/your-NFTs.png) + +:::info Voting +Before you can vote in the DAO you have to register your wallet with the DAO. +::: diff --git a/docs/DAO-Management/createing-DAOs/_category_.json b/docs/DAO-Management/creating-DAOs/_category_.json similarity index 100% rename from docs/DAO-Management/createing-DAOs/_category_.json rename to docs/DAO-Management/creating-DAOs/_category_.json diff --git a/docs/DAO-Management/creating-DAOs/bespoke-DAO.md b/docs/DAO-Management/creating-DAOs/bespoke-DAO.md new file mode 100644 index 0000000..46ecb4d --- /dev/null +++ b/docs/DAO-Management/creating-DAOs/bespoke-DAO.md @@ -0,0 +1,83 @@ +--- +sidebar_position: 3 +--- + +# Create a Bespoke DAO + +![multisigbespoke](/img/multisig-DAO/multisig-bespoke.png) + +:::caution Important note +When you choose to create a bespoke DAO, we assume that you're an advanced user who understands all the governance setup details and we present you a more complex and flexible form than the multisig DAO. +::: + +Let's create a Bespoke DAO + +--- + +With your governance setup plan in hand, you should fill the form as follows: + +### Step 1: Name, Community and Program + +In the first step, you'll need to fill out the basic configuration for your DAO + +![multisigbespoke](/img/multisig-DAO/multisig-bespoke-empty.png) + +1. **Name your DAO:** Choose the name for your DAO but bear in mind that if you choose a name that already exists, the transaction will fail. + +2. **Community Token Mint (optional):** This is where you will enter your community token mint address. When you provide the community token mint, a switch called `Transfer Authority` will show up. If set to active, it will transfer the authority of the community token to the realm. + +:::info Community Token Mint - What is it? +The community token mint is the token that will be used by the community to vote on proposals and it is required to create a governance. +::: + +:::tip Community Token Mint - Optional +If you don't fill in this field, the community token will be generated by the app +::: + +3. **Min community tokens to create governance:** This field represents the minimum community tokens needed to create a governance. There should be at least `N%` of the max supply of the tokens minted, with 1% being the default value for tokens with a supply greater than 0. If the supply is 0, then this value will be set to `1000000` by default. + +4. **Community mint supply factor:** The max vote weight of the community token. If it is set to 1 then total supply of the community governance token equals to 100% vote. This value can vary from `0.0000000001` to `1`. + +![multisigbespokecomm](/img/multisig-DAO/multisig-bespoke-community.png) + +5. **Custom program Id:** This field represents the Governance Program of the organization. If the members of a DAO want full control, they should deploy their own governance program. Solana provides a default Governance program ID `GovER5Lthms3bLBqWub97yVrMmEogzX7xNjdXpPPCVZw` that you can use if you don't want to deploy a governance program initially. You can update your DAO to use your own governance program later on. + +:::tip Test Instance +Setting `Use Test Instance` will change the program id to `GTesTBiEWE32WHXXE2S4XbZvA5CrEc4xs6ZgRe895dP` and run a test program instead of the main program. This is recommended if you are deploying a testing DAO. +::: + +![multisigbespokegov](/img/multisig-DAO/multisig-bespoke-govtoken.png) + +6. **Governance program version:** This represents the version of the governance program. If you're using the default instance then at the time of writing the version of the deployed program is 1. + +![multisigbespokeversion](/img/multisig-DAO/multisig-bespoke-programversion.png) + +7. **Click `Next` to proceed to the [next step](#step-2-the-council)**. + +--- + +### Step 2: Council Settings + +The second step is to setup the council. This step is optional and you can uncheck `Use Council`, which means your DAO will be created without a council. + +1. **Council Token Mint:** The council token is a token that will be distributed to the DAO's team. This is usually necessary if your DAO has no community and needs some level of governance. + +:::info Council Mint - Optional +You don't need a council mint to create a bespoke DAO. If you want a council, but don't have a token mint id, leave the field empty and we'll generate one for you. +::: + +![multisigbespokecomm](/img/multisig-DAO/multisig-bespoke-council.png) + +2. **Click `Next` to proceed to the [next step](#step-3-the-summary)**. + +--- + +### Step 3: DAO Summary + +The third and final step is to confirm that everything is correct before you create your DAO. If there are any errors, click `Previous` to go back and fix them. Once you have confirmed everything is correct, go aheand and click `Create DAO`. + +![multisigbespokecomm](/img/multisig-DAO/multisig-bespoke-summary.png) + +Once you have signed the transaction, you'll be redirected to your new DAO. + + diff --git a/docs/DAO-Management/createing-DAOs/multisig-DAO.md b/docs/DAO-Management/creating-DAOs/multisig-DAO.md similarity index 60% rename from docs/DAO-Management/createing-DAOs/multisig-DAO.md rename to docs/DAO-Management/creating-DAOs/multisig-DAO.md index 9fe82c1..8b88fe2 100644 --- a/docs/DAO-Management/createing-DAOs/multisig-DAO.md +++ b/docs/DAO-Management/creating-DAOs/multisig-DAO.md @@ -8,11 +8,11 @@ sidebar_position: 2 The multisig option is the first and easiest way to create a DAO. When you select this option you only need to worry about three things: -1. The name of your DAO; -2. The approval quorum, that is the minimum amount of yes votes to accept a proposal; and -3. People who'll be part of your team, whose will own a council token. +1. The name of your DAO +2. The approval quorum (the minimum amount of yes votes to accept a proposal) +3. People who will be part of your team (these will own council tokens) -So, let's create a multisig DAO together. +Let's create a multisig DAO together. --- @@ -20,8 +20,8 @@ So, let's create a multisig DAO together. ![multisiformempty](/img/multisig-DAO/multisig-form-empty.png) -:::tip -Checking `Create a test DAO` will make your DAO be linked to a test Program ID instead of the default one. +:::tip Test DAO +Toggling `Create a test DAO` will link your DAO to a test Program ID instead of the default Program ID. ::: 2. **Name your DAO** @@ -32,12 +32,12 @@ Checking `Create a test DAO` will make your DAO be linked to a test Program ID i ![multisigquorum](/img/multisig-DAO/multisig-quorum.png) -4. **And click on the +1. **Add team member wallets by clicking on the ![teamplusbtn](/img/multisig-DAO/team-plus-btn.png) - button to add wallets to your team.** + button.** -:::tip -Note that you can place as many wallets you want, one per line. +:::tip Adding team wallets +Note that you can add as many wallets you want, one per line. ::: ![multisigteam](/img/multisig-DAO/multisig-team.png) @@ -45,9 +45,9 @@ Note that you can place as many wallets you want, one per line. :::danger Remember The current connected wallet is required. If it is not automatically included in the members list, include it or the transaction will result in an error. ::: -**After following this steps, you should have something like the image below:** +**After following these steps, you should have something like the image below:** ![multisigteam](/img/multisig-DAO/multisig-form.png) -**Then just click create, your wallet will pop up asking for signature. Approve to create the tokens and deploy the DAO.** +**Click `Create` and your wallet will pop up asking for your signature. Approve the transaction to create the tokens and deploy your multisig DAO.** After the transaction is complete, you'll be redirected to the DAO's page. diff --git a/docs/DAO-Management/get-started.md b/docs/DAO-Management/get-started.md index 0f50526..41faa81 100644 --- a/docs/DAO-Management/get-started.md +++ b/docs/DAO-Management/get-started.md @@ -11,10 +11,10 @@ This section is related to the Multisig DAO on Solana network, and it'll cover: 2. Creating a DAO 3. Adding members to a DAO after the DAO is created 4. Managing programs using Multisig upgrade authority -5. Adding treasury account (Multisig wallet), deposit and send tokens +5. Adding a treasury account (Multisig wallet), depositing and sending tokens -:::tip -After this read, you'll be able to create and manage your own DAO. +:::tip Goal +After completing this tutorial you'll be able to create and manage your own DAO. ::: -Before continue, bear in mind that you'll need to use a Solana wallet (we recommend [Phantom](https://phantom.app/)) and own [SOL](https://coinmarketcap.com/currencies/solana/). For the convenience, it is possible to use the `devnet` to test if your DAO is performing as it's supposed to. +Before you continue, bear in mind that you'll need to use a Solana wallet (we recommend [Phantom](https://phantom.app/)) and own [SOL](https://coinmarketcap.com/currencies/solana/). For your convenience, it is possible to use `devnet` to test if your DAO is performing as it's supposed to. diff --git a/docs/DAO-Management/treasury-account.md b/docs/DAO-Management/treasury-account.md index 7015add..40963b7 100644 --- a/docs/DAO-Management/treasury-account.md +++ b/docs/DAO-Management/treasury-account.md @@ -4,15 +4,11 @@ sidebar_position: 6 # Treasury Accounts -Treasury account is a shared wallet which holds assets -owned by a DAO. Each DAO can have any number of treasury accounts -holding different assets. Anybody can deposit tokens into treasury accounts -but only the DAO members can ever approve withdrawals through treasury transfer proposals. +A treasury account is a shared wallet which holds assets owned by a DAO. Each DAO can have any number of treasury accounts holding different assets. Anybody can deposit tokens into treasury accounts but only the DAO members can ever approve withdrawals through treasury transfer proposals. -![multisigbespoke](/img/treasuryAccount/vaults.png) +## ![multisigbespoke](/img/treasuryAccount/vaults.png) --- - -## Creating Treasury Account +## Creating a Treasury Account To start select the plus button ![multisigbespoke](/img/treasuryAccount/add_treasury.png) in the right corner of the Treasury View @@ -24,12 +20,10 @@ If you want your treasury account to hold tokens (ex. USDC) you have to provide **Common token addresses** -**USDC:** `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` +**USDC:** `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` ![multisigbespoke](/img/treasuryAccount/usdc.png) - - ### NFT treasury If you want your treasury account to hold NFTs then choose the `NFT Treasury` option @@ -38,25 +32,20 @@ If you want your treasury account to hold NFTs then choose the `NFT Treasury` op ### Treasury Governance Settings -**Min community tokens to create proposal:** The minimal amount of the DAO community governance tokens -a member of the DAO has to own to be allowed to propose transfers from the treasury. +**Min community tokens to create proposal:** The minimum amount of the DAO community governance tokens a member of the DAO has to own to be allowed to propose transfers from the treasury. -:::tip -For Multisig DAOs without the community governance token this value is irrelevant and we default it -to arbitrary number of `1,000,000` +:::tip Note +For Multisig DAOs without the community governance token this value is irrelevant and we default it to an arbitrary number of `1,000,000` ::: -**Min instruction hold up time (days):** The minimal number of days before you can transfer funds from the treasury after a vote on the transfer proposal is approved. +**Min instruction hold up time (days):** The minimum number of days before you can transfer funds from the treasury after a vote on the transfer proposal is approved. -:::tip -The delay for treasuries is usually set to `0` to allow transfers of the assets immediately after they are approved +:::tip Note +The delay for treasuries is usually set to `0` to allow transfers of the assets immediately after they are approved. ::: -**Max voting time (days):** The maximum number of days the DAO can vote on the treasury proposals. -If consensus is not reached by the end of the voting time the proposal is defeated. - -**Yes vote threshold (%):** The Yes vote threshold defines the number of Approve votes required to approve a transfer from a treasury account. -For example if there are 10 members in the DAO and the Yes threshold is set to 60% then at least 6 members must approve any transfers from the treasury. +**Max voting time (days):** The maximum number of days the DAO can vote on the treasury proposals. If consensus is not reached by the end of the voting time the proposal is defeated. +**Yes vote threshold (%):** The Yes vote threshold defines the number of **Approve** votes required to approve a transfer from a treasury account. For example if there are 10 members in the DAO and the Yes threshold is set to 60% then at least 6 members must approve any transfers from the treasury. After providing all the details press the `Create` button and the new treasury account will created and accessible from the main page of your DAO diff --git a/static/img/DAO-add-members/add-member-button.png b/static/img/DAO-add-members/add-member-button.png new file mode 100644 index 0000000..cb3485c Binary files /dev/null and b/static/img/DAO-add-members/add-member-button.png differ diff --git a/static/img/multisig-DAO/select-devnet-button.png b/static/img/multisig-DAO/select-devnet-button.png new file mode 100644 index 0000000..1d9ad6b Binary files /dev/null and b/static/img/multisig-DAO/select-devnet-button.png differ diff --git a/static/img/treasuryAccount/add_treasury.png b/static/img/treasuryAccount/add_treasury.png index cb57278..84bd173 100644 Binary files a/static/img/treasuryAccount/add_treasury.png and b/static/img/treasuryAccount/add_treasury.png differ