diff --git a/404.html b/404.html index 0de71b7f..1c8c3e2a 100644 --- a/404.html +++ b/404.html @@ -4,8 +4,8 @@ DAO DAO - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/images/create-button-d32e699e60fb8c1905a0bd3401247d58.jpg b/assets/images/create-button-d32e699e60fb8c1905a0bd3401247d58.jpg deleted file mode 100644 index a5658255..00000000 Binary files a/assets/images/create-button-d32e699e60fb8c1905a0bd3401247d58.jpg and /dev/null differ diff --git a/assets/images/proposal-c0382f63260d3ba4f83022a00d51d045.png b/assets/images/single-choice-proposal-c0382f63260d3ba4f83022a00d51d045.png similarity index 100% rename from assets/images/proposal-c0382f63260d3ba4f83022a00d51d045.png rename to assets/images/single-choice-proposal-c0382f63260d3ba4f83022a00d51d045.png diff --git a/assets/js/04048f79.6d5b1a8e.js b/assets/js/04048f79.2fe248fd.js similarity index 95% rename from assets/js/04048f79.6d5b1a8e.js rename to assets/js/04048f79.2fe248fd.js index f73b108f..8f41a46c 100644 --- a/assets/js/04048f79.6d5b1a8e.js +++ b/assets/js/04048f79.2fe248fd.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[347],{2501:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var o=n(5893),r=n(1151);const i={sidebar_position:8},s="Contribute to DAO DAO!",a={id:"how-to-contribute",title:"Contribute to DAO DAO!",description:"DAO DAO rewards the people who contribute to it.",source:"@site/docs/how-to-contribute.md",sourceDirName:".",slug:"/how-to-contribute",permalink:"/how-to-contribute",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/how-to-contribute.md",tags:[],version:"current",sidebarPosition:8,frontMatter:{sidebar_position:8},sidebar:"tutorialSidebar",previous:{title:"Upgrading a multisig",permalink:"/upgrading/v1/multisig"}},c={},u=[];function d(t){const e={a:"a",admonition:"admonition",h1:"h1",p:"p",...(0,r.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"contribute-to-dao-dao",children:"Contribute to DAO DAO!"}),"\n",(0,o.jsx)(e.p,{children:"DAO DAO rewards the people who contribute to it."}),"\n",(0,o.jsxs)(e.p,{children:["The first step is to join the community! We generally hang out in Discord\n(",(0,o.jsx)(e.a,{href:"https://discord.daodao.zone",children:"invite link"}),", be sure to complete the\nverification process)."]}),"\n",(0,o.jsx)(e.p,{children:"Anyone can contribute, and contributions are not limited to code. Design, bug\nreports, research, educational materials, translations, and being helpful to\nother users with questions are all contributions, and are all eligible for\nrewards!"}),"\n",(0,o.jsxs)(e.p,{children:["Want to get started? ",(0,o.jsx)(e.a,{href:"https://docs.google.com/document/d/12WpREOPrvhW3YVxGLoOkrhTgf_bDUy4cn9VKeyH4PUY/edit",children:"Learn about our retroactive rewards program\nhere"}),"."]}),"\n",(0,o.jsx)(e.admonition,{type:"warning",children:(0,o.jsx)(e.p,{children:"DAO DAO's contributor compensation system is temporarily paused while we figure\nout our legal plans. For the time being, keep track of your contributions\nyourself. We fully intend on restarting our system in the near future."})})]})}function l(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>a,a:()=>s});var o=n(7294);const r={},i=o.createContext(r);function s(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[347],{2501:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var o=n(5893),r=n(1151);const i={sidebar_position:7},s="Contribute to DAO DAO!",a={id:"how-to-contribute",title:"Contribute to DAO DAO!",description:"DAO DAO rewards the people who contribute to it.",source:"@site/docs/how-to-contribute.md",sourceDirName:".",slug:"/how-to-contribute",permalink:"/how-to-contribute",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/how-to-contribute.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7},sidebar:"tutorialSidebar",previous:{title:"Upgrading a multisig",permalink:"/upgrading/v1/multisig"}},c={},u=[];function d(t){const e={a:"a",admonition:"admonition",h1:"h1",p:"p",...(0,r.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"contribute-to-dao-dao",children:"Contribute to DAO DAO!"}),"\n",(0,o.jsx)(e.p,{children:"DAO DAO rewards the people who contribute to it."}),"\n",(0,o.jsxs)(e.p,{children:["The first step is to join the community! We generally hang out in Discord\n(",(0,o.jsx)(e.a,{href:"https://discord.daodao.zone",children:"invite link"}),", be sure to complete the\nverification process)."]}),"\n",(0,o.jsx)(e.p,{children:"Anyone can contribute, and contributions are not limited to code. Design, bug\nreports, research, educational materials, translations, and being helpful to\nother users with questions are all contributions, and are all eligible for\nrewards!"}),"\n",(0,o.jsxs)(e.p,{children:["Want to get started? ",(0,o.jsx)(e.a,{href:"https://docs.google.com/document/d/12WpREOPrvhW3YVxGLoOkrhTgf_bDUy4cn9VKeyH4PUY/edit",children:"Learn about our retroactive rewards program\nhere"}),"."]}),"\n",(0,o.jsx)(e.admonition,{type:"warning",children:(0,o.jsx)(e.p,{children:"DAO DAO's contributor compensation system is temporarily paused while we figure\nout our legal plans. For the time being, keep track of your contributions\nyourself. We fully intend on restarting our system in the near future."})})]})}function l(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(d,{...t})}):d(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>a,a:()=>s});var o=n(7294);const r={},i=o.createContext(r);function s(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/1c8a3af9.78fb3288.js b/assets/js/1c8a3af9.78fb3288.js deleted file mode 100644 index f586370d..00000000 --- a/assets/js/1c8a3af9.78fb3288.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[25],{9577:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var o=n(5893),a=n(1151);const r={sidebar_position:2},s="Deploying a smart contract from a DAO",i={id:"recipes/contract-deployment",title:"Deploying a smart contract from a DAO",description:"Have a smart contract, but want your DAO to control it?",source:"@site/docs/recipes/contract-deployment.md",sourceDirName:"recipes",slug:"/recipes/contract-deployment",permalink:"/recipes/contract-deployment",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/recipes/contract-deployment.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Diversify your DAO's treasury",permalink:"/recipes/diversify-treasury"},next:{title:"Updating the config of a DAO",permalink:"/recipes/config-updates"}},c={},l=[{value:"Motivation",id:"motivation",level:2},{value:"Setup",id:"setup",level:2},{value:"Deploying a contract",id:"deploying-a-contract",level:2},{value:"Collecting information about the contract to be deployed",id:"collecting-information-about-the-contract-to-be-deployed",level:3},{value:"Creating the deployment proposal",id:"creating-the-deployment-proposal",level:3},{value:"Deployment",id:"deployment",level:2}];function d(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"deploying-a-smart-contract-from-a-dao",children:"Deploying a smart contract from a DAO"}),"\n",(0,o.jsx)(t.p,{children:"Have a smart contract, but want your DAO to control it?"}),"\n",(0,o.jsx)(t.p,{children:"In this recipe, we'll walk through the process of deploying a smart contract via\na proposal in DAO DAO."}),"\n",(0,o.jsxs)(t.p,{children:["This example is intended for folks who already have some amount of\nexperience deploying smart contracts in Juno. If you'd like a\nrefresher consider reading the ",(0,o.jsx)(t.a,{href:"https://docs.junonetwork.io/smart-contracts-and-junod-development/tutorial-erc-20",children:"Juno\ndocumentation"}),"\non smart contract deployment to learn more."]}),"\n",(0,o.jsx)(t.h2,{id:"motivation",children:"Motivation"}),"\n",(0,o.jsx)(t.p,{children:"Smart contracts are typically structured such that their owner (the\nperson who deploys them) controls them. For example, the owner of a\nsmart contract that collects fees for its usage can withdraw those\nfunds. By deploying a smart contract from a DAO we can make sure that\nthe DAO owns the smart contract instead of a potentially untrustworthy\nindividual."}),"\n",(0,o.jsxs)(t.admonition,{title:"Did you know?",type:"tip",children:[(0,o.jsxs)(t.p,{children:["The Ethereum Name Service (ENS) is currently controlled by a four-of-seven\nmultisig. This means that at the root of the entire system are seven\npeople, four of whom together have complete control over the\ncontract. As they write in ",(0,o.jsx)(t.a,{href:"https://ens.domains/about/#about-root",children:"their\ndocs"}),":"]}),(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsx)(t.p,{children:"In the long term, we would like the root multisig to be replaced by\nsome form of distributed decision making process, as such systems\nbecome available."}),"\n"]}),(0,o.jsx)(t.p,{children:"DAO DAO is one such system."})]}),"\n",(0,o.jsx)(t.h2,{id:"setup",children:"Setup"}),"\n",(0,o.jsxs)(t.p,{children:["Before beginning you'll need to have a DAO deployed on DAO-DAO. For a\nquick introduction to that see the\n",(0,o.jsx)(t.a,{href:"/quickstart/create-a-dao",children:"quickstart"})," guide."]}),"\n",(0,o.jsx)(t.h2,{id:"deploying-a-contract",children:"Deploying a contract"}),"\n",(0,o.jsx)(t.p,{children:"From the homepage for your DAO go the proposals page and press the\ncreate button to create a new proposal."}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{src:n(1330).Z+"",width:"1130",height:"326"})}),"\n",(0,o.jsx)(t.p,{children:"Type in the name and description of your proposal and then add a\n\"WASM\" message. We'll be using a WASM message as we'll be interacting\nwith a smart contract."}),"\n",(0,o.jsx)(t.h3,{id:"collecting-information-about-the-contract-to-be-deployed",children:"Collecting information about the contract to be deployed"}),"\n",(0,o.jsx)(t.p,{children:"Next, you'll need to gather some information about the contract you'll\nbe deploying. You'll need to know the code ID for the contract and\nwhat information the contract expects to be instantiated with."}),"\n",(0,o.jsxs)(t.p,{children:["At the time of writing the DAO-DAO smart contract is deployed with\ncode id ",(0,o.jsx)(t.code,{children:"280"})," and we can learn what information it expects for\ninstantiation by taking a look at its\n",(0,o.jsx)(t.a,{href:"https://github.com/DA0-DA0/dao-contracts/blob/28744e2040fa09c0e3a4eb87905fc68895b01e9a/contracts/cw3-dao/src/msg.rs#L12-L28",children:(0,o.jsx)(t.code,{children:"InstantiateMsg"})}),"."]}),"\n",(0,o.jsx)(t.h3,{id:"creating-the-deployment-proposal",children:"Creating the deployment proposal"}),"\n",(0,o.jsxs)(t.p,{children:["In order to deploy the contract DAO-DAO expects a\n",(0,o.jsx)(t.a,{href:"https://docs.rs/cosmwasm-std/0.16.2/cosmwasm_std/enum.WasmMsg.html",children:(0,o.jsx)(t.code,{children:"WasmMsg"})}),",\nwhich encapsulates all of ways that one might interact with a smart\ncontract on Juno. We'll be using the ",(0,o.jsx)(t.code,{children:"Instantiate"})," variant so our\nmessage will look something like this:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n "wasm": {\n "instantiate": {\n "admin": "juno147huky2j39qccdw4a0j68y8xrpg7wwqfvkm29qfmsecn5nu6rl8qsle7gk",\n "code_id": 280,\n "label": "baby dao",\n "msg": {} // TODO - We\'ll create the message below.\n }\n }\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["Here we've set the ",(0,o.jsx)(t.code,{children:"admin"})," of the contract to the address of the DAO\nwe'll be deploying the contract from. This allows the DAO to ",(0,o.jsx)(t.a,{href:"https://github.com/CosmWasm/wasmd/blob/315284e3601b5e4a15a57b8b9ab5edd785323b9c/x/wasm/internal/types/tx.proto#L51-L52",children:"perform\na\nmigration"}),"\nof the contract code should it want to. The admin field is optional if\nyou'd prefer to disable migration. You can find the address of your\nDAO in the \"Info\" tab on your DAO's homepage."]}),"\n",(0,o.jsx)(t.p,{children:"The message field will vary from contract to contract and based on\nhow you'd like to set up the DAO you're deploying so its particulars\naren't terribly important. Here we'll use a pretty standard issue DAO\nconfiguration:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-json",children:'{\n "name": "baby dao",\n "description": "this is a dao created via a DAO-DAO proposal",\n "gov_token": {\n "instantiate_new_cw20": {\n "code_id": 279,\n "label": "bdao",\n "msg": {\n "name": "baby dao",\n "symbol": "bdao",\n "decimals": 6,\n "initial_balances": [\n {\n "address": "juno1m7a7nva00p82xr0tssye052r8sxsxvcy2v5qz6",\n "amount": "6000000"\n }\n\t ]\n }\n }\n },\n "threshold": {\n "absolute_percentage": {\n "percentage": "0.5"\n }\n },\n "proposal_deposit_amount": "1",\n "max_voting_period": {\n "time": 604800\n }\n}\n'})}),"\n",(0,o.jsxs)(t.p,{children:["Our final message is our WASM message with the above JSON object\nreplacing the ",(0,o.jsx)(t.code,{children:"TODO"})," line above. With the replacement done you can\ngo ahead and create the proposal."]}),"\n",(0,o.jsx)(t.h2,{id:"deployment",children:"Deployment"}),"\n",(0,o.jsx)(t.p,{children:"All that is left is to chat with the other members of your DAO and\nvote on it. If it passes you can execute the proposal and your smart\ncontract will be instantiated!"})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1330:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/create-button-d32e699e60fb8c1905a0bd3401247d58.jpg"},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>s});var o=n(7294);const a={},r=o.createContext(a);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2737ffef.3adee269.js b/assets/js/2737ffef.3adee269.js deleted file mode 100644 index 352b1c5e..00000000 --- a/assets/js/2737ffef.3adee269.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[131],{3435:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var s=n(5893),t=n(1151);const a={sidebar_position:1},i="Proposals",r={id:"definitions/proposals",title:"Proposals",description:"Proposals are how DAOs take action. You can think of proposals as the nervous",source:"@site/docs/definitions/proposals.md",sourceDirName:"definitions",slug:"/definitions/proposals",permalink:"/definitions/proposals",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/definitions/proposals.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Congratulations!",permalink:"/quickstart/congratulations"},next:{title:"What are SubDAOs?",permalink:"/definitions/subdaos/what"}},l={},c=[{value:"Title",id:"title",level:3},{value:"Description",id:"description",level:3},{value:"Actions",id:"actions",level:3},{value:"Multiple choice proposals",id:"multiple-choice-proposals",level:2},{value:"How do they work?",id:"how-do-they-work",level:3},{value:"Enable multiple choice proposals",id:"enable-multiple-choice-proposals",level:3}];function p(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.h1,{id:"proposals",children:"Proposals"}),"\n",(0,s.jsxs)(o.p,{children:["Proposals are how DAOs take action. You can think of proposals as the nervous\nsystem of the DAO\u2014members submit and vote on proposals, and if passed, the DAO\n",(0,s.jsx)(o.em,{children:"does something"}),". Proposals are composed of three components: a title, a\ndescription, and actions."]}),"\n",(0,s.jsxs)(o.admonition,{type:"note",children:[(0,s.jsx)(o.p,{children:"When you create a proposal, the voting distribution of members at the time of\nproposal creation is snapshotted and used for the proposal. This means that if\nyou were not a member when a proposal was created, you will not be able to vote\non it."}),(0,s.jsxs)(o.p,{children:["This is a security measure that prevents an attacker from purchasing a DAO's\ngovernance tokens if it's listed on an exchange, manipulating a vote, and then\nselling tokens immediately afterward. It also ensures that a DAO members knows\n",(0,s.jsx)(o.em,{children:"to whom"})," they are making a proposal: the people who have voting power at the\nmoment the proposal goes live."]})]}),"\n",(0,s.jsx)(o.p,{children:"Actions are where things get interesting. They are software instructions that\nget executed on the blockchain after a proposal is passed. As a simple example:\nan action could pay a contributor by transferring money from the DAO's treasury\nto their wallet. The purpose of the DAO DAO UI is to make it easy to do this by\nabstracting away the technicalities of the blockchain in an easy-to-use\ninterface that we call actions."}),"\n",(0,s.jsxs)(o.admonition,{title:"Examples",type:"tip",children:[(0,s.jsx)(o.p,{children:"A blockchain software instruction could:"}),(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["Deploy a docker container on ",(0,s.jsx)(o.a,{href:"https://akash.network/",children:"Akash"}),"."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A7",children:"Update the\nconfiguration"}),"\nof a smart contract."]}),"\n",(0,s.jsxs)(o.li,{children:["Pay a ",(0,s.jsx)(o.a,{href:"https://daodao.zone/dao/juno1gpwekludv6vu8pkpnp2hwwf7f84a7mcvgm9t2cvp92hvpxk07kdq8z4xj2/proposals/A7",children:"RPC node\nprovider"}),"."]}),"\n"]}),(0,s.jsx)(o.p,{children:"Truly anything you can do on a blockchain is supported by DAO DAO DAOs, with the\nadded benefits of sophisticated governance processes."})]}),"\n",(0,s.jsx)(o.p,{children:"The components of a proposal are shown and described below."}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Proposal form",src:n(2186).Z+"",width:"2144",height:"1494"})}),"\n",(0,s.jsx)(o.h3,{id:"title",children:"Title"}),"\n",(0,s.jsx)(o.p,{children:"A title identifies the purpose of a proposal. It should be concise."}),"\n",(0,s.jsx)(o.h3,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(o.p,{children:["A description explains in detail what a proposal ",(0,s.jsx)(o.em,{children:"is"}),". This may be a\n",(0,s.jsx)(o.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1",children:"constitution"}),",\nlegal agreement, justification, or simply a place to document relevant\ninformation. Really it can be anything you want. There are no rules, and you\nshould feel free to experiment."]}),"\n",(0,s.jsx)(o.p,{children:"For example, if you are submitting a proposal to pay someone's salary, you may\nwant to explain why you're paying them or what the relevant terms of work are."}),"\n",(0,s.jsxs)(o.p,{children:["You can use ",(0,s.jsx)(o.a,{href:"https://www.markdownguide.org/basic-syntax/",children:"Markdown syntax"})," for\nrich formatting."]}),"\n",(0,s.jsx)(o.h3,{id:"actions",children:"Actions"}),"\n",(0,s.jsxs)(o.p,{children:["Actions execute when a proposal is passed and executed. These actions let you do\nthings like ",(0,s.jsx)(o.em,{children:"spend"})," from the DAO's treasury, add or remove members, ",(0,s.jsx)(o.em,{children:"mint"})," new\ngovernance tokens, and more."]}),"\n",(0,s.jsxs)(o.p,{children:["DAO DAO already has many actions that cover almost every possible action you can\ntake on a blockchain. For the most part, you can create proposals without\nneeding to actually write out any software instructions (i.e. transactions) by\nhand. The DAO DAO UI abstracts away many of those details for you. If you're\ndoing something custom or experimental, you can always use a custom message. If\nyou'd like to create a new action for DAOs to use, ",(0,s.jsx)(o.a,{href:"https://github.com/DA0-DA0/dao-dao-ui/wiki/Adding-an-action-to-DAO-DAO",children:"you can do that\ntoo"}),"!"]}),"\n",(0,s.jsx)(o.h2,{id:"multiple-choice-proposals",children:"Multiple choice proposals"}),"\n",(0,s.jsxs)(o.p,{children:["The default proposal type is ",(0,s.jsx)(o.code,{children:"single choice"}),", meaning voters only have the\noption to vote ",(0,s.jsx)(o.code,{children:"Yes"})," or ",(0,s.jsx)(o.code,{children:"No"}),", and thus a proposal either passes or fails.\nMultiple choice proposals, on the other hand, allow many options to be voted on."]}),"\n",(0,s.jsxs)(o.p,{children:["If your DAO does not have multiple choice proposals enabled, ensure the DAO is\nat least on ",(0,s.jsx)(o.a,{href:"/upgrading/v2",children:"version 2"}),", and then ",(0,s.jsx)(o.a,{href:"#enable-multiple-choice-proposals",children:"enable them with a\nproposal"}),"."]}),"\n",(0,s.jsx)(o.h3,{id:"how-do-they-work",children:"How do they work?"}),"\n",(0,s.jsx)(o.p,{children:"A multiple choice proposal is just like a single choice proposal, except that\ninstead of a single set of actions, you can create many labeled options, each\nwith their own set of actions."}),"\n",(0,s.jsxs)(o.p,{children:["Simply choose the ",(0,s.jsx)(o.code,{children:"Multiple Choice"})," proposal type when creating a new proposal."]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Multiple choice proposal",src:n(5038).Z+"",width:"1942",height:"1872"})}),"\n",(0,s.jsx)(o.p,{children:"Each option has different actions associated with it."}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Option 1",src:n(7380).Z+"",width:"1908",height:"1160"})}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Option 2",src:n(9628).Z+"",width:"1908",height:"1174"})}),"\n",(0,s.jsxs)(o.p,{children:["When you go to vote, the proposal will show each of the options, instead of just\n",(0,s.jsx)(o.code,{children:"Yes"})," and ",(0,s.jsx)(o.code,{children:"No"}),"."]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Multiple choice proposal",src:n(2435).Z+"",width:"1940",height:"2234"})}),"\n",(0,s.jsx)(o.h3,{id:"enable-multiple-choice-proposals",children:"Enable multiple choice proposals"}),"\n",(0,s.jsxs)(o.p,{children:["If you create a new DAO, multiple choice proposals are enabled by default. If\nyou have an existing DAO without multiple choice proposals enabled, you can\nenable them by passing a single choice proposal containing the ",(0,s.jsx)(o.code,{children:"Enable Multiple Choice Proposals"})," action."]}),"\n",(0,s.jsxs)(o.p,{children:["On the proposal creation page, click the ",(0,s.jsx)(o.code,{children:"Add an action"})," button."]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Proposal creation form",src:n(2052).Z+"",width:"2150",height:"1362"})}),"\n",(0,s.jsxs)(o.p,{children:["Click on the ",(0,s.jsx)(o.code,{children:"DAO Governance"})," category, and then choose ",(0,s.jsx)(o.code,{children:"Enable Multiple Choice Proposals"}),"."]}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"DAO Governance category",src:n(4641).Z+"",width:"934",height:"1188"})}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Enable multiple choice\naction",src:n(7677).Z+"",width:"2082",height:"1596"})}),"\n",(0,s.jsx)(o.p,{children:(0,s.jsx)(o.img,{alt:"Complete proposal",src:n(6658).Z+"",width:"2130",height:"1766"})}),"\n",(0,s.jsx)(o.p,{children:"Once you submit, pass, and execute this proposal, multiple choice proposals will\nbe enabled for the DAO!"})]})}function h(e={}){const{wrapper:o}={...(0,t.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},4641:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/action-modal-dao-governance-category-b0209e2e28ee6868612d247007bc7719.png"},2052:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/enable-multiple-choice-add-action-818d1a5be7302948dea3f1dfeee249aa.png"},7677:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/enable-multiple-choice-dao-governance-category-eba9b1182232378d42da751e3e8e2748.png"},6658:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/enable-multiple-choice-done-2d5bb9f282cef6fd9723f626f00e8a6d.png"},2435:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/multiple-choice-proposal-done-ef0ff3567a4c93d0a0927b49cee31408.png"},7380:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/multiple-choice-proposal-option-1-592a3bfdd901b5e0263fdf45f71afb0c.png"},9628:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/multiple-choice-proposal-option-2-6455bed2e709a2aa39c173b84ad7f1fc.png"},5038:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/multiple-choice-proposal-280ffa70c00461e3a2d7818a876ae827.png"},2186:(e,o,n)=>{n.d(o,{Z:()=>s});const s=n.p+"assets/images/proposal-c0382f63260d3ba4f83022a00d51d045.png"},1151:(e,o,n)=>{n.d(o,{Z:()=>r,a:()=>i});var s=n(7294);const t={},a=s.createContext(t);function i(e){const o=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),s.createElement(a.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/277344c2.fba620c7.js b/assets/js/277344c2.fba620c7.js deleted file mode 100644 index f2c367cd..00000000 --- a/assets/js/277344c2.fba620c7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[668],{2353:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=t(5893),a=t(1151);const o={},r="Executing smart contracts",c={id:"recipes/executing-smart-contracts",title:"Executing smart contracts",description:"Once you've deployed a smart contract from",source:"@site/docs/recipes/executing-smart-contracts.md",sourceDirName:"recipes",slug:"/recipes/executing-smart-contracts",permalink:"/recipes/executing-smart-contracts",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/recipes/executing-smart-contracts.md",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Updating the config of a DAO",permalink:"/recipes/config-updates"},next:{title:"V1 -> V2",permalink:"/upgrading/v2"}},i={},d=[{value:"Background",id:"background",level:2},{value:"JSON conversion",id:"json-conversion",level:2},{value:"House",id:"house",level:3},{value:"Bar",id:"bar",level:3},{value:"Blu",id:"blu",level:3},{value:"Executing a contract",id:"executing-a-contract",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"executing-smart-contracts",children:"Executing smart contracts"}),"\n",(0,s.jsxs)(n.p,{children:["Once you've ",(0,s.jsx)(n.a,{href:"/recipes/contract-deployment",children:"deployed a smart contract"})," from\nyour DAO you'll then likely want to start using it. The way to modify\nthe state of a contract or tell it to perform an action on cosmwasm is\nto execute a message on it. Here we'll walk through the process of\nexecuting a message on a DAO's staking contract to update its\nunstaking duration and in the process learn about controlling smart\ncontracts from a DAO DAO DAO."]}),"\n",(0,s.jsx)(n.h2,{id:"background",children:"Background"}),"\n",(0,s.jsxs)(n.p,{children:["With CosmWasm there are a number of message types that can be executed\nby the chain. These message types can do things like stake tokens with\nvalidators, send tokens to addresses, and manage smart contracts. The\nmessage types are enumerated\n",(0,s.jsx)(n.a,{href:"https://docs.rs/cosmwasm-std/latest/cosmwasm_std/enum.CosmosMsg.html",children:"here"}),'. A\n"custom" message on a DAO DAO proposal can cause any of these message\ntypes to be executed.']}),"\n",(0,s.jsx)(n.p,{children:"In order to execute one of those message types it needs to be\nconverted into JSON. JSON allows us to manually type out messages in a\nhuman readable format that the computer can convert into the Rust\ndata structures you can see in the aforementioned enum."}),"\n",(0,s.jsx)(n.h2,{id:"json-conversion",children:"JSON conversion"}),"\n",(0,s.jsxs)(n.p,{children:["Under the hood a Rust library called ",(0,s.jsx)(n.a,{href:"https://docs.serde.rs/serde_json/",children:"Serde\nJSON"})," is used to do this conversion\nfrom human readable JSON to computer readable data. You can see the\nlinked docs for all the details about how this conversion\nhappens. Here's an example to build some intuition:"]}),"\n",(0,s.jsx)(n.p,{children:"Lets say we have a Rust enum that looks something like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-rust",children:"pub enum Msg {\n\tHouse(HouseMsg),\n\tBar {\n\t baz: String,\n\t},\n\tBluBla {}\n}\n\npub struct HouseMsg {\n\twidth: Uint128,\n\theight: Decimal,\n\tdepth: u64,\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Lets see what the variants of this Rust enum look like in JSON,\nstarting with ",(0,s.jsx)(n.code,{children:"House"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"house",children:"House"}),"\n",(0,s.jsxs)(n.p,{children:["Say I want to write a ",(0,s.jsx)(n.code,{children:"House"})," with a ",(0,s.jsx)(n.code,{children:"width"})," of ",(0,s.jsx)(n.code,{children:"100"})," and a height of\n",(0,s.jsx)(n.code,{children:"0.12"})," and a depth of ",(0,s.jsx)(n.code,{children:"12"}),". The JSON for that would look like this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n\t"house": {\n\t\t"width": "100",\n\t\t"height": "0.12",\n\t\t"depth": 12\n\t}\n}\n'})}),"\n",(0,s.jsxs)(n.p,{children:["In CosmWasm ",(0,s.jsx)(n.code,{children:"Uint128"})," values are large integer values and to write one\nin JSON form you surround the number with quotes. The same applies to\nthe ",(0,s.jsx)(n.code,{children:"Decimal"})," type. For regular Rust integer types like ",(0,s.jsx)(n.code,{children:"u64"})," we can\njust write those out as normal."]}),"\n",(0,s.jsx)(n.h3,{id:"bar",children:"Bar"}),"\n",(0,s.jsxs)(n.p,{children:["Writing a ",(0,s.jsx)(n.code,{children:"Bar"})," is really similar to a Foo. Even though for the ",(0,s.jsx)(n.code,{children:"Foo"}),"\nthe data is in a separate ",(0,s.jsx)(n.code,{children:"struct"})," the serialized version looks the\nsame. Here's what a ",(0,s.jsx)(n.code,{children:"Bar"})," with a ",(0,s.jsx)(n.code,{children:"baz"})," of ",(0,s.jsx)(n.code,{children:'"zoop"'})," looks like:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n\t"bar": {\n\t\t"baz": "zoop"\n\t}\n}\n'})}),"\n",(0,s.jsxs)(n.p,{children:["For comparason, here's how you'd construct that same ",(0,s.jsx)(n.code,{children:"Bar"})," in Rust:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-rust",children:'Msg::Bar { baz: "zoop".to_string() }\n'})}),"\n",(0,s.jsx)(n.h3,{id:"blu",children:"Blu"}),"\n",(0,s.jsxs)(n.p,{children:["A ",(0,s.jsx)(n.code,{children:"BluBla"})," is just like a ",(0,s.jsx)(n.code,{children:"Bar"})," or a ",(0,s.jsx)(n.code,{children:"Foo"})," but it doesn't have any data:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n\t"blu_bla": {}\n}\n'})}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["Notice that the ",(0,s.jsx)(n.code,{children:"BluBla"})," gets converted from camel case to snake case\nduring serialization. This is not a hard rule for CosmWasm contracts,\nbut most will do this."]})}),"\n",(0,s.jsx)(n.h2,{id:"executing-a-contract",children:"Executing a contract"}),"\n",(0,s.jsx)(n.p,{children:'Now that we understand how messages are put together, let\'s try\nwriting a custom message to update the unstaking duration for a\nDAO. We\'ll start by collecting the relevant addresses for our\nmessage. For our purposes we\'ll need the DAO address and the staking\ncontract address. Those can be found in under the "Staking" and "DAO"\naddresses in the "Addresses" section of your DAO page.'}),"\n",(0,s.jsx)(n.admonition,{type:"note",children:(0,s.jsxs)(n.p,{children:["For this walk through we'll use ",(0,s.jsx)(n.code,{children:""})," and ",(0,s.jsx)(n.code,{children:""})," as placeholders\nfor those addresses. When you're writing your message you'll want to\nreplace those with the addresses you're using."]})}),"\n",(0,s.jsxs)(n.p,{children:["We can start with a basic ",(0,s.jsx)(n.a,{href:"https://docs.rs/cosmwasm-std/latest/cosmwasm_std/enum.WasmMsg.html",children:"WASM\nexecute"}),"\nmessage:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:' {\n "wasm": {\n "execute": {\n "contract_addr": "",\n "msg": {},\n "funds": []\n }\n }\n }\n'})}),"\n",(0,s.jsx)(n.p,{children:"Let's fill in this basic message with the address of our staking\ncontract. The staking contract will be the contract we want to execute\nthis message on as we want to tell it to change the unstaking\nduration."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:' {\n "wasm": {\n "execute": {\n "contract_addr": "",\n "msg": {},\n "funds": []\n }\n }\n }\n'})}),"\n",(0,s.jsxs)(n.p,{children:["If you look at the type of the ",(0,s.jsx)(n.code,{children:"msg"})," field on in the docs you'll see\nit is a ",(0,s.jsx)(n.code,{children:"Binary"})," type. The ",(0,s.jsx)(n.code,{children:"Binary"})," type in CosmWasm is a base64\nencoded JSON message. From your terminal you can create one by running:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-bash",children:"echo '' | base64\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Happily, the DAO DAO UI will automatically do that conversion for you\nso we can just put the JSON for the message we want to execute in that\nfield. We can find the format of the message we'd like to execute by\nlooking at the ",(0,s.jsxs)(n.a,{href:"https://github.com/DA0-DA0/dao-contracts/blob/2c7bc83eeb5f9a882ec36e442a1c8fdb6e3f90c6/contracts/stake-cw20/src/msg.rs#L25-L28",children:[(0,s.jsx)(n.code,{children:"UpdateConfig"}),"\nmessage"]}),"\nin the DAO DAO staking contract."]}),"\n",(0,s.jsxs)(n.p,{children:["We see that the message variant we want is ",(0,s.jsx)(n.code,{children:"UpdateConfig"})," so in JSON\nthat becomes ",(0,s.jsx)(n.code,{children:"update_config"}),". Likewise, the admin field is a string so\nwe call it ",(0,s.jsx)(n.code,{children:"admin"}),". Inspecting the ",(0,s.jsx)(n.code,{children:"Duration"})," type we see that it has\na ",(0,s.jsx)(n.code,{children:"Height"})," and ",(0,s.jsx)(n.code,{children:"Time"})," variant. We select the ",(0,s.jsx)(n.code,{children:"Time"})," variant and\nfollowing our rules of enum serialzation the ",(0,s.jsx)(n.code,{children:"duration"})," field becomes\n",(0,s.jsx)(n.code,{children:'{ "time": }'})]}),"\n",(0,s.jsxs)(n.p,{children:["As for the actual values, lets leave the admin as the DAO and update\nthe unstaking duration to ten seconds. Our ",(0,s.jsx)(n.code,{children:"msg"})," field will then look\nlike this:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n"update_config": {\n\t"admin": "",\n\t"duration": {\n\t\t"time": 10\n\t\t}\n\t}\n}\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The last field on the WASM message is the ",(0,s.jsx)(n.code,{children:"funds"})," field. We could use\nthis field to send some native tokens (for example, Juno) along with\nour message. We don't want to send money to our staking contract so\nwe'll leave that empty."]}),"\n",(0,s.jsx)(n.p,{children:"This makes our final WASM message:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n"wasm": {\n\t"execute": {\n\t\t"contract_addr": "",\n\t\t"msg": {\n\t\t\t"update_config": {\n\t\t\t\t"admin": "",\n\t\t\t\t"duration": {\n\t\t\t\t\t"time": 10\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t"funds": []\n\t}\n }\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"If we throw this into a custom message on a DAO DAO DAO proposal and\nexecute it it'll change the unstaking duration."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var s=t(7294);const a={},o=s.createContext(a);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2eb003c5.5c75640a.js b/assets/js/2eb003c5.5c75640a.js new file mode 100644 index 00000000..1172c0e0 --- /dev/null +++ b/assets/js/2eb003c5.5c75640a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[976],{6822:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>h,frontMatter:()=>n,metadata:()=>i,toc:()=>l});var s=t(5893),a=t(1151);const n={sidebar_position:1},r="What are proposals?",i={id:"features/proposals/what",title:"What are proposals?",description:"Proposals are how DAOs take action. You can think of proposals as the nervous",source:"@site/docs/features/proposals/what.md",sourceDirName:"features/proposals",slug:"/features/proposals/what",permalink:"/features/proposals/what",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/features/proposals/what.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Congratulations!",permalink:"/quickstart/congratulations"},next:{title:"Types of proposals",permalink:"/features/proposals/types"}},p={},l=[{value:"What can proposals do?",id:"what-can-proposals-do",level:2},{value:"Voting on proposals",id:"voting-on-proposals",level:2},{value:"How do I create a proposal?",id:"how-do-i-create-a-proposal",level:2}];function c(e){const o={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.h1,{id:"what-are-proposals",children:"What are proposals?"}),"\n",(0,s.jsxs)(o.p,{children:["Proposals are how DAOs take action. You can think of proposals as the nervous\nsystem of the DAO\u2014members submit and vote on proposals, and if passed, the DAO\n",(0,s.jsx)(o.em,{children:"does something"}),"."]}),"\n",(0,s.jsx)(o.h2,{id:"what-can-proposals-do",children:"What can proposals do?"}),"\n",(0,s.jsx)(o.p,{children:"Proposals can contain actions, which is where things get really interesting.\nActions are software instructions that get executed on the blockchain after a\nproposal is passed. As a simple example: an action could pay a contributor by\ntransferring money from the DAO's treasury to their wallet. The purpose of the\nDAO DAO UI is to make it easy to do this by abstracting away the technicalities\nof the blockchain in an easy-to-use interface."}),"\n",(0,s.jsxs)(o.admonition,{title:"Examples",type:"tip",children:[(0,s.jsx)(o.p,{children:"A blockchain software instruction could:"}),(0,s.jsxs)(o.ul,{children:["\n",(0,s.jsxs)(o.li,{children:["Deploy a docker container on ",(0,s.jsx)(o.a,{href:"https://akash.network/",children:"Akash"}),"."]}),"\n",(0,s.jsxs)(o.li,{children:[(0,s.jsx)(o.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A7",children:"Update the\nconfiguration"}),"\nof a smart contract."]}),"\n",(0,s.jsxs)(o.li,{children:["Pay a ",(0,s.jsx)(o.a,{href:"https://daodao.zone/dao/juno1gpwekludv6vu8pkpnp2hwwf7f84a7mcvgm9t2cvp92hvpxk07kdq8z4xj2/proposals/A7",children:"RPC node\nprovider"}),"."]}),"\n"]}),(0,s.jsx)(o.p,{children:"Truly anything you can do on a blockchain is supported by DAO DAO DAOs, with the\nadded benefits of sophisticated governance processes."})]}),"\n",(0,s.jsx)(o.h2,{id:"voting-on-proposals",children:"Voting on proposals"}),"\n",(0,s.jsx)(o.p,{children:"When you create a proposal, the voting distribution of members at the time of\nproposal creation is snapshotted and used for the proposal. This means that if\nyou were not a member when a proposal was created, you will not be able to vote\non it."}),"\n",(0,s.jsxs)(o.p,{children:["This security measure prevents an attacker from purchasing a DAO's governance\ntokens if it's listed on an exchange, manipulating a vote, and then selling the\ntokens immediately afterward. Essentially, it ensures that a DAO member knows\n",(0,s.jsx)(o.em,{children:"to whom"})," they are making a proposal: the people who have voting power at the\nmoment the proposal goes live."]}),"\n",(0,s.jsx)(o.h2,{id:"how-do-i-create-a-proposal",children:"How do I create a proposal?"}),"\n",(0,s.jsxs)(o.p,{children:["Check out the ",(0,s.jsx)(o.a,{href:"/quickstart/create-a-proposal",children:"Create your first proposal"})," guide\nin the Quickstart section to get started."]})]})}function h(e={}){const{wrapper:o}={...(0,a.a)(),...e.components};return o?(0,s.jsx)(o,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,o,t)=>{t.d(o,{Z:()=>i,a:()=>r});var s=t(7294);const a={},n=s.createContext(a);function r(e){const o=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(n.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cc8692c.1b188e24.js b/assets/js/4cc8692c.1b188e24.js deleted file mode 100644 index e9c19e42..00000000 --- a/assets/js/4cc8692c.1b188e24.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[628],{6528:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var n=o(5893),s=o(1151);const r={sidebar_position:6},i="Congratulations!",a={id:"quickstart/congratulations",title:"Congratulations!",description:"You've created your own DAO. More importantly, you've learned the basics of DAO",source:"@site/docs/quickstart/congratulations.md",sourceDirName:"quickstart",slug:"/quickstart/congratulations",permalink:"/quickstart/congratulations",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/congratulations.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Voting",permalink:"/quickstart/voting"},next:{title:"Proposals",permalink:"/definitions/proposals"}},c={},u=[];function l(t){const e={a:"a",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h1,{id:"congratulations",children:"Congratulations!"}),"\n",(0,n.jsx)(e.p,{children:"You've created your own DAO. More importantly, you've learned the basics of DAO\nDAO."}),"\n",(0,n.jsxs)(e.p,{children:["DAO DAO has ",(0,n.jsx)(e.strong,{children:"much more to offer"}),". By taking full advantage of proposal\nactions, you can create extremely simple or fascinatingly complex governance\nsystems. The limits are your imagination and your ability to organize! Check out\nthe ",(0,n.jsx)(e.code,{children:"Recipes"})," section for more information."]}),"\n",(0,n.jsxs)(e.p,{children:["One of the most important next steps to governing successful communities on DAO\nDAO is learning ",(0,n.jsx)(e.a,{href:"https://medium.com/@dao-dao/best-security-practices-for-daos-59484932377f",children:"how to design your DAO\nsecurely"}),".\nWhile we build DAO DAO to be powerful and composable, it is easy to shoot\nyourself in the foot. A great place to double check your assumptions and discuss\nideas with others before managing sensitive assets is ",(0,n.jsx)(e.a,{href:"https://discord.daodao.zone",children:"our Discord\nserver"}),"."]}),"\n",(0,n.jsxs)(e.p,{children:["Anything ",(0,n.jsx)(e.strong,{children:"unclear"})," or ",(0,n.jsx)(e.strong,{children:"buggy"})," in this tutorial? ",(0,n.jsx)(e.a,{href:"https://github.com/DA0-DA0/docs/issues",children:"Please report\nit"}),"!"]})]})}function d(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(l,{...t})}):l(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>a,a:()=>i});var n=o(7294);const s={},r=n.createContext(s);function i(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/4cc8692c.24a1cdb0.js b/assets/js/4cc8692c.24a1cdb0.js new file mode 100644 index 00000000..4e8135da --- /dev/null +++ b/assets/js/4cc8692c.24a1cdb0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[628],{6528:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var n=o(5893),s=o(1151);const r={sidebar_position:6},i="Congratulations!",a={id:"quickstart/congratulations",title:"Congratulations!",description:"You've created your own DAO. More importantly, you've learned the basics of DAO",source:"@site/docs/quickstart/congratulations.md",sourceDirName:"quickstart",slug:"/quickstart/congratulations",permalink:"/quickstart/congratulations",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/congratulations.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Voting",permalink:"/quickstart/voting"},next:{title:"What are proposals?",permalink:"/features/proposals/what"}},c={},u=[];function l(t){const e={a:"a",code:"code",h1:"h1",p:"p",strong:"strong",...(0,s.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h1,{id:"congratulations",children:"Congratulations!"}),"\n",(0,n.jsx)(e.p,{children:"You've created your own DAO. More importantly, you've learned the basics of DAO\nDAO."}),"\n",(0,n.jsxs)(e.p,{children:["DAO DAO has ",(0,n.jsx)(e.strong,{children:"much more to offer"}),". By taking full advantage of proposal\nactions, you can create extremely simple or fascinatingly complex governance\nsystems. The limits are your imagination and your ability to organize! Check out\nthe ",(0,n.jsx)(e.code,{children:"Recipes"})," section for more information."]}),"\n",(0,n.jsxs)(e.p,{children:["One of the most important next steps to governing successful communities on DAO\nDAO is learning ",(0,n.jsx)(e.a,{href:"https://medium.com/@dao-dao/best-security-practices-for-daos-59484932377f",children:"how to design your DAO\nsecurely"}),".\nWhile we build DAO DAO to be powerful and composable, it is easy to shoot\nyourself in the foot. A great place to double check your assumptions and discuss\nideas with others before managing sensitive assets is ",(0,n.jsx)(e.a,{href:"https://discord.daodao.zone",children:"our Discord\nserver"}),"."]}),"\n",(0,n.jsxs)(e.p,{children:["Anything ",(0,n.jsx)(e.strong,{children:"unclear"})," or ",(0,n.jsx)(e.strong,{children:"buggy"})," in this tutorial? ",(0,n.jsx)(e.a,{href:"https://github.com/DA0-DA0/docs/issues",children:"Please report\nit"}),"!"]})]})}function d(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(l,{...t})}):l(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>a,a:()=>i});var n=o(7294);const s={},r=n.createContext(s);function i(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:i(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ce2d58a.3d00a021.js b/assets/js/4ce2d58a.3d00a021.js deleted file mode 100644 index 2b179c6a..00000000 --- a/assets/js/4ce2d58a.3d00a021.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[393],{4935:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var a=n(5893),o=n(1151);const s={sidebar_position:1},i="Create your first DAO",r={id:"quickstart/create-a-dao",title:"Create your first DAO",description:"For this tutorial, we'll make a DAO for your reading group. This will let",source:"@site/docs/quickstart/create-a-dao.md",sourceDirName:"quickstart",slug:"/quickstart/create-a-dao",permalink:"/quickstart/create-a-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/create-a-dao.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Technical breakdown",permalink:"/introduction/technical-breakdown"},next:{title:"Joining and leaving a member-based DAO",permalink:"/quickstart/joining-leaving-member-based-dao"}},d={},l=[{value:"Install Leap",id:"install-leap",level:2},{value:"Connect your wallet",id:"connect-your-wallet",level:2},{value:"Get some testnet $OSMO",id:"get-some-testnet-osmo",level:2},{value:"Create a DAO",id:"create-a-dao",level:2},{value:"Name and describe your DAO",id:"name-and-describe-your-dao",level:2},{value:"Add the initial members",id:"add-the-initial-members",level:2},{value:"Create DAO",id:"create-dao",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"create-your-first-dao",children:"Create your first DAO"}),"\n",(0,a.jsxs)(t.p,{children:["For this tutorial, ",(0,a.jsx)(t.strong,{children:"we'll make a DAO for your reading group"}),". This will let\nfolks in your reading group vote on which books to read, organize money for\nsnacks, and so on."]}),"\n",(0,a.jsx)(t.p,{children:"To keep things cheap, we'll do everything on the Osmosis testnet. Testnet tokens\n($OSMO) have no value, and you can get some for free. More on that in a moment."}),"\n",(0,a.jsx)(t.h2,{id:"install-leap",children:"Install Leap"}),"\n",(0,a.jsxs)(t.p,{children:["To use DAO DAO you'll need a wallet. A wallet is your digital identity on a\nblockchain. There are many options, but a good choice is the ",(0,a.jsx)(t.a,{href:"https://www.leapwallet.io",children:"Leap\nwallet"}),". You'll need to install that on your phone or\nbrowser before getting started."]}),"\n",(0,a.jsx)(t.p,{children:"Once you've installed Leap, you need to create an account. To do this, open the\nLeap extension by pressing the puzzle piece icon in the top right of your\nbrowser and clicking on the Leap wallet extension."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"puzzle icon",src:n(9988).Z+"",width:"80",height:"80"})}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Leap wallet extension",src:n(8106).Z+"",width:"622",height:"92"})}),"\n",(0,a.jsx)(t.p,{children:"Once you do that, you'll be directed to a page where you can create a new\naccount."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Leap wallet extension",src:n(3712).Z+"",width:"1184",height:"1662"})}),"\n",(0,a.jsx)(t.p,{children:"Make sure to store your seed phrase somewhere only you'll be able to find it.\nThis is the recovery key in case you ever need to recover your account, like if\nyou lose your device."}),"\n",(0,a.jsx)(t.h2,{id:"connect-your-wallet",children:"Connect your wallet"}),"\n",(0,a.jsxs)(t.p,{children:["To make your first DAO, head to\n",(0,a.jsx)(t.a,{href:"https://testnet.daodao.zone/",children:"testnet.daodao.zone"})," and connect your wallet by\npressing the ",(0,a.jsx)(t.code,{children:"Log in"})," button."]}),"\n",(0,a.jsx)(t.p,{children:"Once logged in, you will see your Osmosis testnet address. Click on it to copy\nand save it for the next step."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Copy wallet address",src:n(841).Z+"",width:"816",height:"674"})}),"\n",(0,a.jsx)(t.h2,{id:"get-some-testnet-osmo",children:"Get some testnet $OSMO"}),"\n",(0,a.jsxs)(t.p,{children:["To get some testnet $OSMO, head over to\n",(0,a.jsx)(t.a,{href:"https://faucet.testnet.osmosis.zone",children:"faucet.testnet.osmosis.zone"})," and paste\nyour Osmosis address into the form. A bot should send you enough $OSMO to follow\nthis tutorial."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Osmosis faucet",src:n(4842).Z+"",width:"1346",height:"1294"})}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsxs)(t.p,{children:["We'll stick to the testnet for this tutorial, but once you're ready to build a\nreal DAO, you'll need some mainnet tokens on any of the chains supported by DAO\nDAO. (The ",(0,a.jsx)(t.a,{href:"https://daodao.zone",children:"mainnet version of DAO DAO"})," is deployed on a\nhandful of chains, including Osmosis mainnet). You can get $OSMO on some\ncentralized exchanges, such as ",(0,a.jsx)(t.a,{href:"https://kraken.com",children:"Kraken"}),", or on a\ndecentralized exchange if you already have cryptocurrencies in the Cosmos\necosystem, like ",(0,a.jsx)(t.a,{href:"https://osmosis.zone",children:"Osmosis' DEX"}),"."]})}),"\n",(0,a.jsx)(t.h2,{id:"create-a-dao",children:"Create a DAO"}),"\n",(0,a.jsxs)(t.p,{children:["Navigate to the DAO creation page ",(0,a.jsx)(t.a,{href:"https://testnet.daodao.zone/dao/create?chain=osmo-test-5",children:"on\ntestnet"})," (or ",(0,a.jsx)(t.a,{href:"https://daodao.zone/dao/create",children:"on\nmainnet"}),", if that's your thing)."]}),"\n",(0,a.jsx)(t.h2,{id:"name-and-describe-your-dao",children:"Name and describe your DAO"}),"\n",(0,a.jsx)(t.p,{children:"Every DAO has a name and a description. These will be displayed in the DAO DAO\nUI and should communicate the purpose of the DAO to the world."}),"\n",(0,a.jsxs)(t.p,{children:["Let's create a DAO called ",(0,a.jsx)(t.code,{children:"Bookclub"}),". We'll make our DAO member-based for\nsimplicity."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"DAO title and description inputs",src:n(2525).Z+"",width:"2144",height:"2250"})}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsxs)(t.p,{children:["To learn more about the differences between member- and token-based DAOs, read\nour documentation ",(0,a.jsx)(t.a,{href:"/introduction/whats-a-dao#voting-power",children:"here"}),"."]})}),"\n",(0,a.jsx)(t.h2,{id:"add-the-initial-members",children:"Add the initial members"}),"\n",(0,a.jsx)(t.p,{children:"Now we can add the initial members of our DAO. If you're making this DAO with\nfriends, add their Osmosis addresses during this step. Otherwise, you can start\nthe DAO with only yourself and add new members via proposals later."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Member weights",src:n(1438).Z+"",width:"2156",height:"2354"})}),"\n",(0,a.jsx)(t.h3,{id:"create-dao",children:"Create DAO"}),"\n",(0,a.jsxs)(t.p,{children:["On the next screen, there are many configuration options available that\ndetermine how the DAO behaves. You can ",(0,a.jsx)(t.a,{href:"../voting",children:"read about the available voting\nconfiguration options"})," if you like, but for now, we'll accept the\ndefaults and create our DAO!"]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Review page",src:n(1303).Z+"",width:"2784",height:"3054"})}),"\n",(0,a.jsxs)(t.p,{children:["Go ahead and press ",(0,a.jsx)(t.code,{children:"Create DAO"})," in the bottom right. If you see an error here,\nmake sure you have some $OSMO in your testnet wallet."]}),"\n",(0,a.jsx)(t.p,{children:"Your wallet will ask you to approve the transaction. Approve it."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Wallet approval prompt",src:n(5062).Z+"",width:"1016",height:"1496"})}),"\n",(0,a.jsxs)(t.p,{children:["\ud83c\udf89 ",(0,a.jsx)(t.strong,{children:"Congratulations!"})," You've made a DAO! \ud83c\udf89"]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Created DAO home page",src:n(7445).Z+"",width:"2136",height:"1686"})})]})}function c(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},7445:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-done-e2239b777d0a9f4be132b52346afd846.png"},1438:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-members-c5693cc0cfbda6d21e1a8988f62942b3.png"},1303:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-review-66805f496c6977470e3f94d5e37bfcc1.png"},2525:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-title-88e9f16b5ea30c7af13925d52f44d101.png"},5062:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-wallet-approve-ccb5ccbd30787457e2c5c97c930b57eb.png"},8106:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAABcCAIAAABY567LAAAUjUlEQVR42u2diV9U1d/Hf3+PLAISbimiguQSSj/SJ3dRknUYBpyFLcCXmktPuWRP7lamuJeEaS4puFCIsouKGoILlWuUqPh8Zr56vN0ZhkEtQT7zer/mdTn3zLn3njvc9/mee+6Z//Tq5UsIIYSQ5+Y/rAJCCCGEKiWEEEKoUkIIIYQqJYQQQqhSQgghhFClhBBCCFVKCCGEUKWEEEIIVUoIIYQQqpQQQgihSgkhhBCqlBBCCKFKCSGEEEKVEkIIIVQpIYQQQpUSQgghVCkhhBBCqFJCCCGEKiWEEEKoUkIIIYQqJYQQQqhSQgghhFClhBBCCFVKCCGEUKWEEEIIVUoIIYQQqpQQQgjpISoNGj4wZErooMgQ99n6DAoaMil08Pihvv4B9hQvnj9CCCE9XqW+AQHjV0xMPpOSVmc1Vpve/y6+/5hge3pgQMDgvoFD+vkPCPT27Y2UcTlRhlKjqdZsqjHH/hg/LHoEbUoIIaRnq9TL18ur96QNUxbeWnHiZuW52427rx1Ob8hJLk2L2RNvOJmactpsKrcaS9PiDia/X5BgvmT9uGFd5a2Ldbcb1t/YZb5kQ4SKcry8e/MsEkII6XkqdUSTgycMzWjIvXL318dPXwVXjxqrUmwXP5hzNj2txgbm1KZbzmfNOW/NqV3y8OHTfA8ff35j84xvoyFjBqaEEEJ6okq9fOzvY3Iiljavf9z2uLHp+tLlnz569Pj6n7dTq6ymCiveBVOlNbXSlnjakN/4fVvb48NHijfnb0XO4t/PJJYm9Rncj6eQEPIa8EHeotXrt3QIsrGuqNK/qfTtvLGLmlcixLx376/SsnJEm/X3rhkr01KrbEqlIK063VCevLZhGzL80tBUc/Y8FgqbixPLkgKD+/MUEkKoUtJzO3iD3xueWmcpvF4svbatDx//78W1yRWm1Kp0h0FtQLRqqrJAqLV3f5Gc11ru5PyyOHp3jLfPK75RGhMTGxeXGBIS2n2/AX5+gYsXf/Tdd3tPnz5TUFBosdj69h3AfwwQGxuPkxsW9pbzqsjIKKyaNi3aeRVqD6tAv35verihlSv/r62trbW11U0Kee2JnpWgbIoFHSod2brj0YWNGPMSoUr/ptKg0AHQZEpV2kf1q9c17Mg595HDo46QtBo4VFotsaktpXIObPrZL5tWNWy1VOVYLqdPXhv9ygfxitrz87d20//eTZs2P3x2C/rZ69SpMl/fgJ58XUMLAzJDVaCF4bz27t17UlHOvoQFZVViYrKH29q48Uvkx+bcpHSK6dNnzp4dP2zYCPqp2/lGlKmzRXvp3e64XhZdsB7+bZV6eTt6d73ty2+ljMlszE2tsCZXpBgqklMq0yDLJx6tsqmo1PFulXdDhdFQnpxSYTbXZSYeM/kEBEh3sfQYU6WdoqTkJ+XO+/fvX79+488//1Qpv/32W2hoeE++rl27dh310NLSokuHolQtLViwULe2srIK6Y8ePfL29ntVKpVGwJ49BZQTVdq9uq89oWvG5a/sYRgv794RH7yTcSXHVGFNs/syw+7RauuTTt3qpx281XLfVKUgW4bdrDW2lLI5fYJf8bCj7qvSZctWyM7jop+dnavSQ0JCGxubZBUWevJ1bdeu3VIPISHDXcadeJWVndZ96q+//kL65cuXPd8QVUpee5XyXunLxMfPL3Leu+Nyo/wHBOLP8OTRGVdyTeUWU6VV3RaVqFQ8qmwqIalEqzKsd05dRtIxk3TwjkqLeOfDCT7+ft1CpbguexLt+fj4RURE+vkFelJmUFD/sWP/63mXbEBAkOrXzc2d65zh7Nk6WRsZGeWyBBwCNurJhsaMGetJfDZw4GDnDkmpBE+OC1tB5g6zhYePHjBgsIe1NHXqDKmExYs/+nvlnFUqhTj/dskLe0vSv/xyk660QYNCXN52fQ6Voj5Hjhzj5l4sVUqVktdZpUNnjMi6lpfZmJtckjZ0RtiE+TOs9dmplU/uhsq7VqI6VDevXb1nrYYi67BJI6dvmZl1NQ/FovCurFJIpaioGCGgfKSlpeXnn0snT57mchDKvXv31MX6jz/+2Ldvvy4PRIiiFixYlJOTp8185UrjhAkTO9yZ+fM/lPyHD//oMgMEJhmOHTuuTTeZ0srLKyTwwuvmzZtHjhwNCxvpXMLOnbuw55INV/bbt29brRnaDA0NV3AIKD8vbx7WSs4HDx4sX/4p1kZFTUAG9fHff7/ZXl3V11+UZgGyNTU1YbvO6kVpiLBV5be2tp46VeZJUwD7g/w4U7rKR+LFi5ekNDRi1KqlS5frElE5Fy5ckHLsT0Q/fHj16tVJk6Y+n0pRbF3dOXW6Uf8HDhyEpFWG+/fvq8OULge8Zs+O55WOKiWvj0pHGsdYL2Qay+aYz2VYLmQYDqQbfoQULamVEnSqZ2CcJarJUGkPT2HTxELbnKos68WslNNmFBtuGN2VVVpfX+88ugcXVoRT2mwVFZWPXb3On7/gvF0VO2pfuJgGBw91vzNyPw8vBDduYrKkJON7701WKQZDist9g8t1oZ7SjPhALX/11bNYDXaUO7LaDPJas2ad82AopOhC5G3bdrjcn+rqGm221FSz2oR2W2gQdDjIVmoYB6hSpk2Llo9D7SIt7UGdPn1GG6pGR8doxaY1HCqzsyqFMlUjRvv69ddfVe+Fc2Xipd0WoUpJt1fpkCmh5vMZsKCpAi60pNZYEvfZjCVPbVqpHoBRT5Q6LTukm1ZrSdxvTT5hTa0xO4qyws1Dpgzvsio9fPjI01trZQgRRo2KWLt2vVz1ELqph0/UZfrateu4/A0cOBgRG4IYScR1WbdduSh/+eUmFBgTE1tcfEwSb9xodt/bCYHJZz0/UjhVrIAAC6oLDx89c+b7CIlki83NzSoWxAFKYknJT4j8vL39kCIRKnSoLvqiUhEPAlYc7KJFS7QmQCyOdgZQw6N27dqt9ueTT5ZJIspBdI7WAwpR7ZWDBw+pnHLrF7uNloF0sCNy9fDEqdui2D1J+eabPdJewTLaN1huaGhQ+VtaWrSDfi9duiwfx+nGOUJwDP3LMSLm7pRKUW9QppS2det2tCrgcvW9Uq0HtGlgXFUJWAaeD4AiVCnpBioNCu1vOmNOq9EEl+WWhN225OMOm1Y7EqtsrnH0A6fV2t8T9tqgUoeA8Sc+aEM5fUcM6JoqRegj2RALatPnzVsg6VCIpJjN1pMnS2BEbbSEi6Zkw1XYWaVZWTnaMk+dKvPkSQwZqQsJPcdwXxGS4tChw5JuMqVJyv79ByRF29E6YcLE48dP4OjUfWKlUm0HKWpSEktLTznvcH39RZUi3dqtra3aEBwNCOUbaUzgXf784YcD2gK//noLduazzz53f9TYW/n4/PkfSgqaKWq0kYgWwpNtYU8k88KFi1UTCluB6bVl1tbW6toxnqhUfVuwUW1pqv305pvBvFdKlZIeoVIvH9/Y/UmWC5lPpgastEGHhiJL3Kb0xB+sKWWIMh2yrJHnSjXY0y34CKQL9cbn290po5AQklrOZ8QfSvbx66LDjiBIyYa4xKXScMF1vxXRBjSp2642slF3ZJ27Utu7BXjhwgXPj1TMV1d3znkIjFy4d+zYKSkbNmyUfdi9+1s3w6ZUB682MSHBIJ/NyMjSpmNXte73939DsmFbumLj4hJlFYJm7cEiXvTkLnJ7lY92AJYDA/tJ4Xl587TulGYEmkTyp/uRTRCtTn6eqFQ6ACQadil7bY1RpVRpVyN6VsLLglM0OKKTFZPso3YrLM+mBqy0xu+yxX2dHr/NllBoMxy1Gn+2ppxxzMRbibDVrtjkk9akQ7Z4SHSLPac9JK2VkNSeLb0hZ9LaGV32YRgYRbIhqNKhunN1g1E/+WTZsWPHz56tgyylM9alShERthdxlpdXuNkl6Ye8c+eOh4epfOny6iyDhtTdXLQY1A1CLOAwN2/Od74pKyqtqKjUJsJ/8kHdwBwcjlalyrhY0BWrbAcb6XrX5ZBRsQjlPRnuK0Ci+CCOEcs5OXliODRZZO3NmzfViZDAHSm6xo3NlgkR4khRFfKs6nOoVD2h1N63qKCgkCrt7qiHL9tTaTedNZBTNLx8hs0c4VDps6nqIcWkA1Y4Mn6rLX5zup389Pjttvid6Qm7bPE7bFBs/BZJx7I9Z/Ix6em1maosCE8zm/JGmiK6rEqrq2seu32pUSq4vsuF2+XLWaWrVq1x3lxTU5MMRXGzS83NzZ16bBF2ly1+/PFS57USMt69+2xszuTJ06QjVPuCRbRjrESlOuV7qFIcuGTTDl7VxdwnT5aolL17v9eNY0IeDx9hyszMlo/07TsAZWIBNawtGSm3bt1S8au2Jxkhcmtra3sntFMqRTzq/lukbZRQpd3aoy596X5ttzi6lwWnaHDEN769E48a55xNtw8XcpBabUkqssZussXlW4FdqEJ++hOepsQiwxZr3FarsdQ+K6+pQm6g2kxnzAGD3uiyKt23b7/qFdSxcOFivKu7jCp+QmSJq/aKFStzc+cmJRklyHNW6f79B5w3JwN8dKNYdYgS8IqK+h+PHgj2eRKVagf+KCQy097IVALetGkzRKsGE8EravzOi6jUaEyVbDExsbqNqr5fbFp3CNnZuUVFxdpnh7S3n908xSSZ8XGJ5hFkO++wam2o4bI4UjVs+MqVRnxJFi1aYrHYVC9Fp1QqrR80CNr7FmlrjCrt1h5tb+JZzmjPe6VP8fIdOC7YcCLNdjnbfC7DQaalPtNck2UsyE0pzEv+NjtxZ2bCdntnrzJowrb0xB0ZSbsyjQU5Kd/lJRdmW85nms9n2N/PZVjrs2DTwe8NeyWT8XqiUuhQsnU4J6pYUBveSedqeyq9dEk/pY6vb4Anu5SaapZs7d0uxa7qZqBF4IU/a2pqnTPL7n3zzR430y+o8VBqpr0XUanqxXWOy1UJsbHtPkwJ20mQqqvq9rh+/Ya0TqTkiIhI5yC4qqpaOwQJLFnyscvJBdXQqk6pVIYXoY3lyQ5Tpd2OzvZwssZ6tEp7BwXEfBtnOGaKO2CIP2SIO2jAQlJx6vilk0ImjPxv1rRpyxNj1qch9LTrc2cm9AmJYnn2V5aZq42TFr8/Jmn8oHHDpm+elXgk5UkhKKHINLswwa9/n66p0pCQUMmGq6FuVUFBYWnpKTWOVK6AuCi77GB0Vqkn42nbu/cpAZYuxlKIGOTpSe3YYOyh7udQ1IMliLeUKo4eLUJIrc0WHj5asn3xxVcvrlLV7MBR6H7HBvGflCAjnqZOnYGdOXz4R+yAc687LOjJWVZxpMspeVVd6eYLxMmVRO2mIVo1dLlTKlUP/8ybt0DXTCkp+QnfIu3Do/JFct8zQahS0m1H8Pby8/L28/bx9/Z9io+/T2/t3DS9ff379Bk4oO/Qwf1Ch/QPG9JveHBQyCD/vn212bx69cafjnICpBAUi8JflUqPHz8RExPrjBprI3cTZXYh6VMdNSpCXYI//3y1NvqRR1xgAkhi2bIVqnfUpUohg4ULFyMnClRWu3Pnjr9/Bz3ecK0qBOGLDDrFRhHMqedJrl69qvLPmjVb9uT+/ftz584PCuoPQ0DDaotqJI6aZWL16jWS2K/fm2qyPTU10guqVI0TbmpqQnsCioL1y8pOS6Kan0j1uyKqVk/dWK0ZEkmfOVPuyVmePn2mqisZyqtFDdzV9SqrGS3q6s7JTWKcemX6zqoUmWVAGRLxhUH7DO0hfMekd103xaPM5IDIOzs7t8NvAukiA3N0RM9KULO3d4tfGaNKWQsvqtL2Xmquc1zO1EBc3Zw7Fy9eUl2CKvLQ5sFFX7oQnVWqHQ6qnRXI+akbl6xZs073Qe2fN2406+YKlvGrLudX0vZdQ2m6SYVcjpx6QZWCgwcPudwfhIbaSQngS23LQx0mFuBID0+0+pTZbG3vuWGdz7AP2vuyqk7Q7HgOlfZyzBro8hfxnG/6yqRL6uX5z72Rrv9gDKFKfbPCDmaNcEWYBkdKdvghRVa4U7Z2CulqKtWaY9CgkJKSn7TXVlzWt2/fqZswdsGChdoxn4g5oqNj5D6ldiZYWbt8+aerVq1R87vKMxtu7hG6vGkq41l0o1v37v3e5RQ58+YtaGhoUM+6QJOIQaOiJjgPOGpsbNIKFRGVbj4EaVvo4kIV/2knLFQ61D2EClCBKoYWSxUVFav4WBvCamsV+w/dduon5GQGQRyRy7n1Zbiy80OfsCyaStppC/ft269aJGoE1rp1G3TidE5R9VNbW6s9lrt376npI7Qh7MmTJeo0GY2pvNJRpeT1UemW8W3549u2/ANIsd2ixkNChsfExLofgoS17vMolap4JSnJ2N4Pj3QIPp6bOxdB6ty58z0pBJadOHGKm/l7Fe+88y6aAoGB/+xv4SHoRzjb4U++QGzIphs09C/g4+OHIBt4+Ds/Hp4yaNX9HMLYbnDw0A4nZCZU6b8Ap2h4mawb92B95D9IT+tYViolhFClXf9YOEXDy1Lpw/XjHv1DoHCqlBBClXbNB2c5RcNLY8XbTV9EPoTz1o21O3VDZNsLYjfoWHuBKBaFU6WEEKqUvOYqNQz5In9829pxreJRFVA+h0HVB/GOAlFs0pCNPee0GQwpJlMab4MRQpWSHqfSN3xDVrzduOXdtrVjWxFKatXYKY+qZRSColAgikXhPJ2EkNcGqpQqbX/8qn/UyrGXEERufBpcPnfXLkAhKAoFolieS0LIaxaY0qNUqQtkQqI+PiHJIRs/ffuK3DHtrFCfDTWKfIBCUBQKVIUTQgghr3lUSgghhFClhBBCCKFKCSGEEKqUEEIIoUoJIYQQqpQQQgihSgkhhBBClRJCCCFUKSGEEEKVEkIIIVQpIYQQQqhSQgghhColhBBCqFJCCCGEKiWEEEIIVUoIIYRQpYQQQghVSgghhFClhBBCCKFKCSGEEKqUEEIIoUoJIYQQqpQQQgghVCkhhBBClRJCCCFUKSGEEEKVEkIIIVQpIYQQQqhSQgghhColhBBCqFJCCCGEKiWEEEJIx/w/13XwKcixXMwAAAAASUVORK5CYII="},4842:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/osmosis-faucet-5c197081f4ec7afabb4e99b81d662c80.png"},9988:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAM1BMVEUrID0sID0sID4tID0tID4tIT0tIT4yNEQ1N0c8Pk09P05AQlBCRFNtbnuYmaPCwsru7fLtkWJAAAABRUlEQVRYw+2Y25KDIAyGtaeVSpK+/9MuUm3tEFwSsjO9yO/IiM58SshBGH6MNTjQgQ78CuAU5tisOUx/AUMUKhwD71Gs+xEwRIVCHThFlaYqMOiAoQqcdcC5CoxKOdCBrABMgfhIQjtg4hEdEYVAyKxE7QfmoSbR0lkvsQO48Z6DpbUDauAyVMjaZjqJnp+rBbIGdaAIWDpzDzA7ClgCI5ZOAlwItoceFJ/I2qEdiOWYcQtFLbC0GBVvkUwKxgY79LgNa4d2IJf4U354GEYKawcxEBB2Nwk7Yxlol1cNksMyN+8g7ARCnlTKpqO6Z0r8cCspr/rCeVIrEFbE/porKZLk8K5RAPuC5b9zDvw/oPnSzHzxaL68NV+A228R2G9i2G+z+N6XAx3IAk8XxTGOuf3sD5fTeWlv0mO85vZ2Tm06r59PfwFQ5+x4symNWgAAAABJRU5ErkJggg=="},841:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/wallet-copy-address-87b0b03adcb4f96d4b64026df47af5ae.png"},3712:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/welcome-to-leap-db2eb83f6f6b08db4ce2378c3256a60d.png"},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>i});var a=n(7294);const o={},s=a.createContext(o);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ce2d58a.d01610ba.js b/assets/js/4ce2d58a.d01610ba.js new file mode 100644 index 00000000..b46605fc --- /dev/null +++ b/assets/js/4ce2d58a.d01610ba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[393],{4935:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var a=n(5893),o=n(1151);const s={sidebar_position:1},i="Create your first DAO",r={id:"quickstart/create-a-dao",title:"Create your first DAO",description:"For this tutorial, we'll make a DAO for your reading group. This will let",source:"@site/docs/quickstart/create-a-dao.md",sourceDirName:"quickstart",slug:"/quickstart/create-a-dao",permalink:"/quickstart/create-a-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/create-a-dao.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Technical breakdown",permalink:"/introduction/technical-breakdown"},next:{title:"Joining and leaving a member-based DAO",permalink:"/quickstart/joining-leaving-member-based-dao"}},d={},l=[{value:"Install Leap",id:"install-leap",level:2},{value:"Connect your wallet",id:"connect-your-wallet",level:2},{value:"Get some testnet $OSMO",id:"get-some-testnet-osmo",level:2},{value:"Create a DAO",id:"create-a-dao",level:2},{value:"Name and describe your DAO",id:"name-and-describe-your-dao",level:2},{value:"Add the initial members",id:"add-the-initial-members",level:2},{value:"Create DAO",id:"create-dao",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",strong:"strong",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"create-your-first-dao",children:"Create your first DAO"}),"\n",(0,a.jsxs)(t.p,{children:["For this tutorial, ",(0,a.jsx)(t.strong,{children:"we'll make a DAO for your reading group"}),". This will let\nfolks in your reading group vote on which books to read, organize money for\nsnacks, and so on."]}),"\n",(0,a.jsx)(t.p,{children:"To keep things cheap, we'll do everything on the Osmosis testnet. Testnet tokens\n($OSMO) have no value, and you can get some for free. More on that in a moment."}),"\n",(0,a.jsx)(t.h2,{id:"install-leap",children:"Install Leap"}),"\n",(0,a.jsxs)(t.p,{children:["To use DAO DAO you'll need a wallet. A wallet is your digital identity on a\nblockchain. There are many options, but a good choice is the ",(0,a.jsx)(t.a,{href:"https://www.leapwallet.io",children:"Leap\nwallet"}),". You'll need to install that on your phone or\nbrowser before getting started."]}),"\n",(0,a.jsx)(t.p,{children:"Once you've installed Leap, you need to create an account. To do this, open the\nLeap extension by pressing the puzzle piece icon in the top right of your\nbrowser and clicking on the Leap wallet extension."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"puzzle icon",src:n(6874).Z+"",width:"80",height:"80"})}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Leap wallet extension",src:n(7756).Z+"",width:"622",height:"92"})}),"\n",(0,a.jsx)(t.p,{children:"Once you do that, you'll be directed to a page where you can create a new\naccount."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Leap wallet extension",src:n(3090).Z+"",width:"1184",height:"1662"})}),"\n",(0,a.jsx)(t.p,{children:"Make sure to store your seed phrase somewhere only you'll be able to find it.\nThis is the recovery key in case you ever need to recover your account, like if\nyou lose your device."}),"\n",(0,a.jsx)(t.h2,{id:"connect-your-wallet",children:"Connect your wallet"}),"\n",(0,a.jsxs)(t.p,{children:["To make your first DAO, head to\n",(0,a.jsx)(t.a,{href:"https://testnet.daodao.zone/",children:"testnet.daodao.zone"})," and connect your wallet by\npressing the ",(0,a.jsx)(t.code,{children:"Log in"})," button."]}),"\n",(0,a.jsx)(t.p,{children:"Once logged in, you will see your Osmosis testnet address. Click on it to copy\nand save it for the next step."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Copy wallet address",src:n(74).Z+"",width:"816",height:"674"})}),"\n",(0,a.jsx)(t.h2,{id:"get-some-testnet-osmo",children:"Get some testnet $OSMO"}),"\n",(0,a.jsxs)(t.p,{children:["To get some testnet $OSMO, head over to\n",(0,a.jsx)(t.a,{href:"https://faucet.testnet.osmosis.zone",children:"faucet.testnet.osmosis.zone"})," and paste\nyour Osmosis address into the form. A bot should send you enough $OSMO to follow\nthis tutorial."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Osmosis faucet",src:n(983).Z+"",width:"1346",height:"1294"})}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsxs)(t.p,{children:["We'll stick to the testnet for this tutorial, but once you're ready to build a\nreal DAO, you'll need some mainnet tokens on any of the chains supported by DAO\nDAO. (The ",(0,a.jsx)(t.a,{href:"https://daodao.zone",children:"mainnet version of DAO DAO"})," is deployed on a\nhandful of chains, including Osmosis mainnet). You can get $OSMO on some\ncentralized exchanges, such as ",(0,a.jsx)(t.a,{href:"https://kraken.com",children:"Kraken"}),", or on a\ndecentralized exchange if you already have cryptocurrencies in the Cosmos\necosystem, like ",(0,a.jsx)(t.a,{href:"https://osmosis.zone",children:"Osmosis' DEX"}),"."]})}),"\n",(0,a.jsx)(t.h2,{id:"create-a-dao",children:"Create a DAO"}),"\n",(0,a.jsxs)(t.p,{children:["Navigate to the DAO creation page ",(0,a.jsx)(t.a,{href:"https://testnet.daodao.zone/dao/create?chain=osmo-test-5",children:"on\ntestnet"})," (or ",(0,a.jsx)(t.a,{href:"https://daodao.zone/dao/create",children:"on\nmainnet"}),", if that's your thing)."]}),"\n",(0,a.jsx)(t.h2,{id:"name-and-describe-your-dao",children:"Name and describe your DAO"}),"\n",(0,a.jsx)(t.p,{children:"Every DAO has a name and a description. These will be displayed in the DAO DAO\nUI and should communicate the purpose of the DAO to the world."}),"\n",(0,a.jsxs)(t.p,{children:["Let's create a DAO called ",(0,a.jsx)(t.code,{children:"Bookclub"}),". We'll make our DAO member-based for\nsimplicity."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"DAO title and description inputs",src:n(9290).Z+"",width:"2144",height:"2250"})}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsxs)(t.p,{children:["To learn more about the differences between member- and token-based DAOs, read\nour documentation ",(0,a.jsx)(t.a,{href:"/introduction/whats-a-dao#voting-power",children:"here"}),"."]})}),"\n",(0,a.jsx)(t.h2,{id:"add-the-initial-members",children:"Add the initial members"}),"\n",(0,a.jsx)(t.p,{children:"Now we can add the initial members of our DAO. If you're making this DAO with\nfriends, add their Osmosis addresses during this step. Otherwise, you can start\nthe DAO with only yourself and add new members via proposals later."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Member weights",src:n(8637).Z+"",width:"2156",height:"2354"})}),"\n",(0,a.jsx)(t.h3,{id:"create-dao",children:"Create DAO"}),"\n",(0,a.jsxs)(t.p,{children:["On the next screen, there are many configuration options available that\ndetermine how the DAO behaves. You can ",(0,a.jsx)(t.a,{href:"../voting",children:"read about the available voting\nconfiguration options"})," if you like, but for now, we'll accept the\ndefaults and create our DAO!"]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Review page",src:n(1690).Z+"",width:"2784",height:"3054"})}),"\n",(0,a.jsxs)(t.p,{children:["Go ahead and press ",(0,a.jsx)(t.code,{children:"Create DAO"})," in the bottom right. If you see an error here,\nmake sure you have some $OSMO in your testnet wallet."]}),"\n",(0,a.jsx)(t.p,{children:"Your wallet will ask you to approve the transaction. Approve it."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Wallet approval prompt",src:n(8461).Z+"",width:"1016",height:"1496"})}),"\n",(0,a.jsxs)(t.p,{children:["\ud83c\udf89 ",(0,a.jsx)(t.strong,{children:"Congratulations!"})," You've made a DAO! \ud83c\udf89"]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Created DAO home page",src:n(59).Z+"",width:"2136",height:"1686"})})]})}function c(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},59:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-done-e2239b777d0a9f4be132b52346afd846.png"},8637:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-members-c5693cc0cfbda6d21e1a8988f62942b3.png"},1690:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-review-66805f496c6977470e3f94d5e37bfcc1.png"},9290:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-title-88e9f16b5ea30c7af13925d52f44d101.png"},8461:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/create-dao-wallet-approve-ccb5ccbd30787457e2c5c97c930b57eb.png"},7756:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAABcCAIAAABY567LAAAUjUlEQVR42u2diV9U1d/Hf3+PLAISbimiguQSSj/SJ3dRknUYBpyFLcCXmktPuWRP7lamuJeEaS4puFCIsouKGoILlWuUqPh8Zr56vN0ZhkEtQT7zer/mdTn3zLn3njvc9/mee+6Z//Tq5UsIIYSQ5+Y/rAJCCCGEKiWEEEKoUkIIIYQqJYQQQqhSQgghhFClhBBCCFVKCCGEUKWEEEIIVUoIIYQQqpQQQgihSgkhhBCqlBBCCKFKCSGEEEKVEkIIIVQpIYQQQpUSQgghVCkhhBBCqFJCCCGEKiWEEEKoUkIIIYQqJYQQQqhSQgghhFClhBBCCFVKCCGEUKWEEEIIVUoIIYQQqpQQQgjpISoNGj4wZErooMgQ99n6DAoaMil08Pihvv4B9hQvnj9CCCE9XqW+AQHjV0xMPpOSVmc1Vpve/y6+/5hge3pgQMDgvoFD+vkPCPT27Y2UcTlRhlKjqdZsqjHH/hg/LHoEbUoIIaRnq9TL18ur96QNUxbeWnHiZuW52427rx1Ob8hJLk2L2RNvOJmactpsKrcaS9PiDia/X5BgvmT9uGFd5a2Ldbcb1t/YZb5kQ4SKcry8e/MsEkII6XkqdUSTgycMzWjIvXL318dPXwVXjxqrUmwXP5hzNj2txgbm1KZbzmfNOW/NqV3y8OHTfA8ff35j84xvoyFjBqaEEEJ6okq9fOzvY3Iiljavf9z2uLHp+tLlnz569Pj6n7dTq6ymCiveBVOlNbXSlnjakN/4fVvb48NHijfnb0XO4t/PJJYm9Rncj6eQEPIa8EHeotXrt3QIsrGuqNK/qfTtvLGLmlcixLx376/SsnJEm/X3rhkr01KrbEqlIK063VCevLZhGzL80tBUc/Y8FgqbixPLkgKD+/MUEkKoUtJzO3iD3xueWmcpvF4svbatDx//78W1yRWm1Kp0h0FtQLRqqrJAqLV3f5Gc11ru5PyyOHp3jLfPK75RGhMTGxeXGBIS2n2/AX5+gYsXf/Tdd3tPnz5TUFBosdj69h3AfwwQGxuPkxsW9pbzqsjIKKyaNi3aeRVqD6tAv35verihlSv/r62trbW11U0Kee2JnpWgbIoFHSod2brj0YWNGPMSoUr/ptKg0AHQZEpV2kf1q9c17Mg595HDo46QtBo4VFotsaktpXIObPrZL5tWNWy1VOVYLqdPXhv9ygfxitrz87d20//eTZs2P3x2C/rZ69SpMl/fgJ58XUMLAzJDVaCF4bz27t17UlHOvoQFZVViYrKH29q48Uvkx+bcpHSK6dNnzp4dP2zYCPqp2/lGlKmzRXvp3e64XhZdsB7+bZV6eTt6d73ty2+ljMlszE2tsCZXpBgqklMq0yDLJx6tsqmo1PFulXdDhdFQnpxSYTbXZSYeM/kEBEh3sfQYU6WdoqTkJ+XO+/fvX79+488//1Qpv/32W2hoeE++rl27dh310NLSokuHolQtLViwULe2srIK6Y8ePfL29ntVKpVGwJ49BZQTVdq9uq89oWvG5a/sYRgv794RH7yTcSXHVGFNs/syw+7RauuTTt3qpx281XLfVKUgW4bdrDW2lLI5fYJf8bCj7qvSZctWyM7jop+dnavSQ0JCGxubZBUWevJ1bdeu3VIPISHDXcadeJWVndZ96q+//kL65cuXPd8QVUpee5XyXunLxMfPL3Leu+Nyo/wHBOLP8OTRGVdyTeUWU6VV3RaVqFQ8qmwqIalEqzKsd05dRtIxk3TwjkqLeOfDCT7+ft1CpbguexLt+fj4RURE+vkFelJmUFD/sWP/63mXbEBAkOrXzc2d65zh7Nk6WRsZGeWyBBwCNurJhsaMGetJfDZw4GDnDkmpBE+OC1tB5g6zhYePHjBgsIe1NHXqDKmExYs/+nvlnFUqhTj/dskLe0vSv/xyk660QYNCXN52fQ6Voj5Hjhzj5l4sVUqVktdZpUNnjMi6lpfZmJtckjZ0RtiE+TOs9dmplU/uhsq7VqI6VDevXb1nrYYi67BJI6dvmZl1NQ/FovCurFJIpaioGCGgfKSlpeXnn0snT57mchDKvXv31MX6jz/+2Ldvvy4PRIiiFixYlJOTp8185UrjhAkTO9yZ+fM/lPyHD//oMgMEJhmOHTuuTTeZ0srLKyTwwuvmzZtHjhwNCxvpXMLOnbuw55INV/bbt29brRnaDA0NV3AIKD8vbx7WSs4HDx4sX/4p1kZFTUAG9fHff7/ZXl3V11+UZgGyNTU1YbvO6kVpiLBV5be2tp46VeZJUwD7g/w4U7rKR+LFi5ekNDRi1KqlS5frElE5Fy5ckHLsT0Q/fHj16tVJk6Y+n0pRbF3dOXW6Uf8HDhyEpFWG+/fvq8OULge8Zs+O55WOKiWvj0pHGsdYL2Qay+aYz2VYLmQYDqQbfoQULamVEnSqZ2CcJarJUGkPT2HTxELbnKos68WslNNmFBtuGN2VVVpfX+88ugcXVoRT2mwVFZWPXb3On7/gvF0VO2pfuJgGBw91vzNyPw8vBDduYrKkJON7701WKQZDist9g8t1oZ7SjPhALX/11bNYDXaUO7LaDPJas2ad82AopOhC5G3bdrjcn+rqGm221FSz2oR2W2gQdDjIVmoYB6hSpk2Llo9D7SIt7UGdPn1GG6pGR8doxaY1HCqzsyqFMlUjRvv69ddfVe+Fc2Xipd0WoUpJt1fpkCmh5vMZsKCpAi60pNZYEvfZjCVPbVqpHoBRT5Q6LTukm1ZrSdxvTT5hTa0xO4qyws1Dpgzvsio9fPjI01trZQgRRo2KWLt2vVz1ELqph0/UZfrateu4/A0cOBgRG4IYScR1WbdduSh/+eUmFBgTE1tcfEwSb9xodt/bCYHJZz0/UjhVrIAAC6oLDx89c+b7CIlki83NzSoWxAFKYknJT4j8vL39kCIRKnSoLvqiUhEPAlYc7KJFS7QmQCyOdgZQw6N27dqt9ueTT5ZJIspBdI7WAwpR7ZWDBw+pnHLrF7uNloF0sCNy9fDEqdui2D1J+eabPdJewTLaN1huaGhQ+VtaWrSDfi9duiwfx+nGOUJwDP3LMSLm7pRKUW9QppS2det2tCrgcvW9Uq0HtGlgXFUJWAaeD4AiVCnpBioNCu1vOmNOq9EEl+WWhN225OMOm1Y7EqtsrnH0A6fV2t8T9tqgUoeA8Sc+aEM5fUcM6JoqRegj2RALatPnzVsg6VCIpJjN1pMnS2BEbbSEi6Zkw1XYWaVZWTnaMk+dKvPkSQwZqQsJPcdwXxGS4tChw5JuMqVJyv79ByRF29E6YcLE48dP4OjUfWKlUm0HKWpSEktLTznvcH39RZUi3dqtra3aEBwNCOUbaUzgXf784YcD2gK//noLduazzz53f9TYW/n4/PkfSgqaKWq0kYgWwpNtYU8k88KFi1UTCluB6bVl1tbW6toxnqhUfVuwUW1pqv305pvBvFdKlZIeoVIvH9/Y/UmWC5lPpgastEGHhiJL3Kb0xB+sKWWIMh2yrJHnSjXY0y34CKQL9cbn290po5AQklrOZ8QfSvbx66LDjiBIyYa4xKXScMF1vxXRBjSp2642slF3ZJ27Utu7BXjhwgXPj1TMV1d3znkIjFy4d+zYKSkbNmyUfdi9+1s3w6ZUB682MSHBIJ/NyMjSpmNXte73939DsmFbumLj4hJlFYJm7cEiXvTkLnJ7lY92AJYDA/tJ4Xl587TulGYEmkTyp/uRTRCtTn6eqFQ6ACQadil7bY1RpVRpVyN6VsLLglM0OKKTFZPso3YrLM+mBqy0xu+yxX2dHr/NllBoMxy1Gn+2ppxxzMRbibDVrtjkk9akQ7Z4SHSLPac9JK2VkNSeLb0hZ9LaGV32YRgYRbIhqNKhunN1g1E/+WTZsWPHz56tgyylM9alShERthdxlpdXuNkl6Ye8c+eOh4epfOny6iyDhtTdXLQY1A1CLOAwN2/Od74pKyqtqKjUJsJ/8kHdwBwcjlalyrhY0BWrbAcb6XrX5ZBRsQjlPRnuK0Ci+CCOEcs5OXliODRZZO3NmzfViZDAHSm6xo3NlgkR4khRFfKs6nOoVD2h1N63qKCgkCrt7qiHL9tTaTedNZBTNLx8hs0c4VDps6nqIcWkA1Y4Mn6rLX5zup389Pjttvid6Qm7bPE7bFBs/BZJx7I9Z/Ix6em1maosCE8zm/JGmiK6rEqrq2seu32pUSq4vsuF2+XLWaWrVq1x3lxTU5MMRXGzS83NzZ16bBF2ly1+/PFS57USMt69+2xszuTJ06QjVPuCRbRjrESlOuV7qFIcuGTTDl7VxdwnT5aolL17v9eNY0IeDx9hyszMlo/07TsAZWIBNawtGSm3bt1S8au2Jxkhcmtra3sntFMqRTzq/lukbZRQpd3aoy596X5ttzi6lwWnaHDEN769E48a55xNtw8XcpBabUkqssZussXlW4FdqEJ++hOepsQiwxZr3FarsdQ+K6+pQm6g2kxnzAGD3uiyKt23b7/qFdSxcOFivKu7jCp+QmSJq/aKFStzc+cmJRklyHNW6f79B5w3JwN8dKNYdYgS8IqK+h+PHgj2eRKVagf+KCQy097IVALetGkzRKsGE8EravzOi6jUaEyVbDExsbqNqr5fbFp3CNnZuUVFxdpnh7S3n908xSSZ8XGJ5hFkO++wam2o4bI4UjVs+MqVRnxJFi1aYrHYVC9Fp1QqrR80CNr7FmlrjCrt1h5tb+JZzmjPe6VP8fIdOC7YcCLNdjnbfC7DQaalPtNck2UsyE0pzEv+NjtxZ2bCdntnrzJowrb0xB0ZSbsyjQU5Kd/lJRdmW85nms9n2N/PZVjrs2DTwe8NeyWT8XqiUuhQsnU4J6pYUBveSedqeyq9dEk/pY6vb4Anu5SaapZs7d0uxa7qZqBF4IU/a2pqnTPL7n3zzR430y+o8VBqpr0XUanqxXWOy1UJsbHtPkwJ20mQqqvq9rh+/Ya0TqTkiIhI5yC4qqpaOwQJLFnyscvJBdXQqk6pVIYXoY3lyQ5Tpd2OzvZwssZ6tEp7BwXEfBtnOGaKO2CIP2SIO2jAQlJx6vilk0ImjPxv1rRpyxNj1qch9LTrc2cm9AmJYnn2V5aZq42TFr8/Jmn8oHHDpm+elXgk5UkhKKHINLswwa9/n66p0pCQUMmGq6FuVUFBYWnpKTWOVK6AuCi77GB0Vqkn42nbu/cpAZYuxlKIGOTpSe3YYOyh7udQ1IMliLeUKo4eLUJIrc0WHj5asn3xxVcvrlLV7MBR6H7HBvGflCAjnqZOnYGdOXz4R+yAc687LOjJWVZxpMspeVVd6eYLxMmVRO2mIVo1dLlTKlUP/8ybt0DXTCkp+QnfIu3Do/JFct8zQahS0m1H8Pby8/L28/bx9/Z9io+/T2/t3DS9ff379Bk4oO/Qwf1Ch/QPG9JveHBQyCD/vn212bx69cafjnICpBAUi8JflUqPHz8RExPrjBprI3cTZXYh6VMdNSpCXYI//3y1NvqRR1xgAkhi2bIVqnfUpUohg4ULFyMnClRWu3Pnjr9/Bz3ecK0qBOGLDDrFRhHMqedJrl69qvLPmjVb9uT+/ftz584PCuoPQ0DDaotqJI6aZWL16jWS2K/fm2qyPTU10guqVI0TbmpqQnsCioL1y8pOS6Kan0j1uyKqVk/dWK0ZEkmfOVPuyVmePn2mqisZyqtFDdzV9SqrGS3q6s7JTWKcemX6zqoUmWVAGRLxhUH7DO0hfMekd103xaPM5IDIOzs7t8NvAukiA3N0RM9KULO3d4tfGaNKWQsvqtL2Xmquc1zO1EBc3Zw7Fy9eUl2CKvLQ5sFFX7oQnVWqHQ6qnRXI+akbl6xZs073Qe2fN2406+YKlvGrLudX0vZdQ2m6SYVcjpx6QZWCgwcPudwfhIbaSQngS23LQx0mFuBID0+0+pTZbG3vuWGdz7AP2vuyqk7Q7HgOlfZyzBro8hfxnG/6yqRL6uX5z72Rrv9gDKFKfbPCDmaNcEWYBkdKdvghRVa4U7Z2CulqKtWaY9CgkJKSn7TXVlzWt2/fqZswdsGChdoxn4g5oqNj5D6ldiZYWbt8+aerVq1R87vKMxtu7hG6vGkq41l0o1v37v3e5RQ58+YtaGhoUM+6QJOIQaOiJjgPOGpsbNIKFRGVbj4EaVvo4kIV/2knLFQ61D2EClCBKoYWSxUVFav4WBvCamsV+w/dduon5GQGQRyRy7n1Zbiy80OfsCyaStppC/ft269aJGoE1rp1G3TidE5R9VNbW6s9lrt376npI7Qh7MmTJeo0GY2pvNJRpeT1UemW8W3549u2/ANIsd2ixkNChsfExLofgoS17vMolap4JSnJ2N4Pj3QIPp6bOxdB6ty58z0pBJadOHGKm/l7Fe+88y6aAoGB/+xv4SHoRzjb4U++QGzIphs09C/g4+OHIBt4+Ds/Hp4yaNX9HMLYbnDw0A4nZCZU6b8Ap2h4mawb92B95D9IT+tYViolhFClXf9YOEXDy1Lpw/XjHv1DoHCqlBBClXbNB2c5RcNLY8XbTV9EPoTz1o21O3VDZNsLYjfoWHuBKBaFU6WEEKqUvOYqNQz5In9829pxreJRFVA+h0HVB/GOAlFs0pCNPee0GQwpJlMab4MRQpWSHqfSN3xDVrzduOXdtrVjWxFKatXYKY+qZRSColAgikXhPJ2EkNcGqpQqbX/8qn/UyrGXEERufBpcPnfXLkAhKAoFolieS0LIaxaY0qNUqQtkQqI+PiHJIRs/ffuK3DHtrFCfDTWKfIBCUBQKVIUTQgghr3lUSgghhFClhBBCCKFKCSGEEKqUEEIIoUoJIYQQqpQQQgihSgkhhBBClRJCCCFUKSGEEEKVEkIIIVQpIYQQQqhSQgghhColhBBCqFJCCCGEKiWEEEIIVUoIIYRQpYQQQghVSgghhFClhBBCCKFKCSGEEKqUEEIIoUoJIYQQqpQQQgghVCkhhBBClRJCCCFUKSGEEEKVEkIIIVQpIYQQQqhSQgghhColhBBCqFJCCCGEKiWEEEJIx/w/13XwKcixXMwAAAAASUVORK5CYII="},983:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/osmosis-faucet-5c197081f4ec7afabb4e99b81d662c80.png"},6874:(e,t,n)=>{n.d(t,{Z:()=>a});const a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAM1BMVEUrID0sID0sID4tID0tID4tIT0tIT4yNEQ1N0c8Pk09P05AQlBCRFNtbnuYmaPCwsru7fLtkWJAAAABRUlEQVRYw+2Y25KDIAyGtaeVSpK+/9MuUm3tEFwSsjO9yO/IiM58SshBGH6MNTjQgQ78CuAU5tisOUx/AUMUKhwD71Gs+xEwRIVCHThFlaYqMOiAoQqcdcC5CoxKOdCBrABMgfhIQjtg4hEdEYVAyKxE7QfmoSbR0lkvsQO48Z6DpbUDauAyVMjaZjqJnp+rBbIGdaAIWDpzDzA7ClgCI5ZOAlwItoceFJ/I2qEdiOWYcQtFLbC0GBVvkUwKxgY79LgNa4d2IJf4U354GEYKawcxEBB2Nwk7Yxlol1cNksMyN+8g7ARCnlTKpqO6Z0r8cCspr/rCeVIrEFbE/porKZLk8K5RAPuC5b9zDvw/oPnSzHzxaL68NV+A228R2G9i2G+z+N6XAx3IAk8XxTGOuf3sD5fTeWlv0mO85vZ2Tm06r59PfwFQ5+x4symNWgAAAABJRU5ErkJggg=="},74:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/wallet-copy-address-87b0b03adcb4f96d4b64026df47af5ae.png"},3090:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/welcome-to-leap-db2eb83f6f6b08db4ce2378c3256a60d.png"},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>i});var a=n(7294);const o={},s=a.createContext(o);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e25a0a3.86eccf85.js b/assets/js/5e25a0a3.bf74e2ca.js similarity index 59% rename from assets/js/5e25a0a3.86eccf85.js rename to assets/js/5e25a0a3.bf74e2ca.js index 934e6b60..36a8fe45 100644 --- a/assets/js/5e25a0a3.86eccf85.js +++ b/assets/js/5e25a0a3.bf74e2ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[188],{3449:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var r=t(5893),n=t(1151);const s={sidebar_position:4},a="Create your first proposal",i={id:"quickstart/create-a-proposal",title:"Create your first proposal",description:"After creating a DAO for your book club, I'm sure",source:"@site/docs/quickstart/create-a-proposal.md",sourceDirName:"quickstart",slug:"/quickstart/create-a-proposal",permalink:"/quickstart/create-a-proposal",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/create-a-proposal.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Joining and leaving a token-based DAO",permalink:"/quickstart/joining-leaving-token-based-dao"},next:{title:"Voting",permalink:"/quickstart/voting"}},c={},p=[{value:"Crafting your proposal",id:"crafting-your-proposal",level:2},{value:"Ship it!",id:"ship-it",level:2}];function l(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.h1,{id:"create-your-first-proposal",children:"Create your first proposal"}),"\n",(0,r.jsxs)(o.p,{children:["After ",(0,r.jsx)(o.a,{href:"/quickstart/create-a-dao",children:"creating a DAO for your book club"}),", I'm sure\nyou're busy telling all of your friends to download Leap so they can join you.\nOnce they join your DAO, why don't we make a governance proposal for everyone to\nvote on?"]}),"\n",(0,r.jsx)(o.p,{children:"Let's create a proposal to decide what book to read."}),"\n",(0,r.jsx)(o.admonition,{type:"note",children:(0,r.jsx)(o.p,{children:"If you create a proposal before your friends join, they won't be able to vote on\nit since they won't have registered to vote in time. Make sure that everyone has\njoined the DAO before making your proposal."})}),"\n",(0,r.jsx)(o.h2,{id:"crafting-your-proposal",children:"Crafting your proposal"}),"\n",(0,r.jsxs)(o.p,{children:["Since you were the first one here, it's only fair that you suggest what everyone\nread next. Let's create a proposal suggesting the group read Murray Bookchin's\n",(0,r.jsx)(o.em,{children:"The Next Revolution: Popular Assemblies and the Promise of Direct Democracy"}),"."]}),"\n",(0,r.jsxs)(o.p,{children:["To begin, starting from your DAO's page, navigate to ",(0,r.jsx)(o.strong,{children:"Proposals > New\nProposal"}),"."]}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"Create proposal button",src:t(3530).Z+"",width:"2164",height:"1988"})}),"\n",(0,r.jsx)(o.p,{children:"Then, fill in the proposal's name and description."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"Proposal creation form",src:t(4908).Z+"",width:"2168",height:"1360"})}),"\n",(0,r.jsxs)(o.admonition,{title:"Actions?",type:"tip",children:[(0,r.jsxs)(o.p,{children:["You'll notice the ",(0,r.jsx)(o.code,{children:"Actions"})," label there. ",(0,r.jsx)(o.a,{href:"/definitions/proposals#actions",children:"Proposal\nactions"})," allow you to add rich functionality to\nproposals: software instructions that execute on the blockchain when a proposal\nis passed and executed."]}),(0,r.jsx)(o.p,{children:"The proposal we are creating is a social agreement, so we don't need to run any\ncode."})]}),"\n",(0,r.jsx)(o.h2,{id:"ship-it",children:"Ship it!"}),"\n",(0,r.jsxs)(o.p,{children:["Now that we're ready, go ahead and press ",(0,r.jsx)(o.strong,{children:"Publish"}),". Your wallet will prompt\nyou to approve the transaction."]}),"\n",(0,r.jsx)(o.p,{children:"Once you approve it, you'll see that your proposal is live!"}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"Created proposal",src:t(7983).Z+"",width:"2160",height:"1682"})}),"\n",(0,r.jsxs)(o.p,{children:["Now that we've made a proposal, let's ",(0,r.jsx)(o.a,{href:"/quickstart/voting",children:"vote on it"}),"."]})]})}function d(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,r.jsx)(o,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},3530:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/create-proposal-button-e36a68c4d98d4ffb7c60b21446b6549b.png"},7983:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/create-proposal-done-966e2ba37b08f390217e286cbbd825fa.png"},4908:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/create-proposal-form-2b6db693d12f6687cb39b47e84c07941.png"},1151:(e,o,t)=>{t.d(o,{Z:()=>i,a:()=>a});var r=t(7294);const n={},s=r.createContext(n);function a(e){const o=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:a(e.components),r.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[188],{3449:(e,o,t)=>{t.r(o),t.d(o,{assets:()=>c,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var r=t(5893),n=t(1151);const a={sidebar_position:4},s="Create your first proposal",i={id:"quickstart/create-a-proposal",title:"Create your first proposal",description:"After creating a DAO for your book club, I'm sure",source:"@site/docs/quickstart/create-a-proposal.md",sourceDirName:"quickstart",slug:"/quickstart/create-a-proposal",permalink:"/quickstart/create-a-proposal",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/create-a-proposal.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Joining and leaving a token-based DAO",permalink:"/quickstart/joining-leaving-token-based-dao"},next:{title:"Voting",permalink:"/quickstart/voting"}},c={},p=[{value:"Crafting your proposal",id:"crafting-your-proposal",level:2},{value:"Ship it!",id:"ship-it",level:2}];function l(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.h1,{id:"create-your-first-proposal",children:"Create your first proposal"}),"\n",(0,r.jsxs)(o.p,{children:["After ",(0,r.jsx)(o.a,{href:"/quickstart/create-a-dao",children:"creating a DAO for your book club"}),", I'm sure\nyou're busy telling all of your friends to download Leap so they can join you.\nOnce they join your DAO, why don't we make a governance proposal for everyone to\nvote on?"]}),"\n",(0,r.jsx)(o.p,{children:"Let's create a proposal to decide what book to read."}),"\n",(0,r.jsx)(o.admonition,{type:"note",children:(0,r.jsx)(o.p,{children:"If you create a proposal before your friends join, they won't be able to vote on\nit since they won't have registered to vote in time. Make sure that everyone has\njoined the DAO before making your proposal."})}),"\n",(0,r.jsx)(o.h2,{id:"crafting-your-proposal",children:"Crafting your proposal"}),"\n",(0,r.jsxs)(o.p,{children:["Since you were the first one here, it's only fair that you suggest what everyone\nread next. Let's create a proposal suggesting the group read Murray Bookchin's\n",(0,r.jsx)(o.em,{children:"The Next Revolution: Popular Assemblies and the Promise of Direct Democracy"}),"."]}),"\n",(0,r.jsxs)(o.p,{children:["To begin, starting from your DAO's page, navigate to ",(0,r.jsx)(o.strong,{children:"Proposals > New\nProposal"}),"."]}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"Create proposal button",src:t(4841).Z+"",width:"2164",height:"1988"})}),"\n",(0,r.jsx)(o.p,{children:"Then, fill in the proposal's name and description."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"Proposal creation form",src:t(219).Z+"",width:"2168",height:"1360"})}),"\n",(0,r.jsxs)(o.admonition,{title:"Actions?",type:"tip",children:[(0,r.jsxs)(o.p,{children:["You'll notice the ",(0,r.jsx)(o.code,{children:"Actions"})," label there. ",(0,r.jsx)(o.a,{href:"/features/proposals/what#actions",children:"Proposal\nactions"})," allow you to add rich functionality\nto proposals: software instructions that execute on the blockchain when a\nproposal is passed and executed."]}),(0,r.jsx)(o.p,{children:"The proposal we are creating is a social agreement, so we don't need to run any\ncode."})]}),"\n",(0,r.jsx)(o.h2,{id:"ship-it",children:"Ship it!"}),"\n",(0,r.jsxs)(o.p,{children:["Now that we're ready, go ahead and press ",(0,r.jsx)(o.strong,{children:"Publish"}),". Your wallet will prompt\nyou to approve the transaction."]}),"\n",(0,r.jsx)(o.p,{children:"Once you approve it, you'll see that your proposal is live!"}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"Created proposal",src:t(5275).Z+"",width:"2160",height:"1682"})}),"\n",(0,r.jsxs)(o.p,{children:["Now that we've made a proposal, let's ",(0,r.jsx)(o.a,{href:"/quickstart/voting",children:"vote on it"}),"."]})]})}function d(e={}){const{wrapper:o}={...(0,n.a)(),...e.components};return o?(0,r.jsx)(o,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},4841:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/create-proposal-button-e36a68c4d98d4ffb7c60b21446b6549b.png"},5275:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/create-proposal-done-966e2ba37b08f390217e286cbbd825fa.png"},219:(e,o,t)=>{t.d(o,{Z:()=>r});const r=t.p+"assets/images/create-proposal-form-2b6db693d12f6687cb39b47e84c07941.png"},1151:(e,o,t)=>{t.d(o,{Z:()=>i,a:()=>s});var r=t(7294);const n={},a=r.createContext(n);function s(e){const o=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function i(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(a.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/65c1537b.2b712c8f.js b/assets/js/65c1537b.2b712c8f.js new file mode 100644 index 00000000..448cd68e --- /dev/null +++ b/assets/js/65c1537b.2b712c8f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[510],{4534:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>u,contentTitle:()=>r,default:()=>c,frontMatter:()=>o,metadata:()=>i,toc:()=>h});var n=t(5893),a=t(1151);const o={sidebar_position:1},r="What are SubDAOs?",i={id:"features/subdaos/what",title:"What are SubDAOs?",description:"A SubDAO is a DAO with another DAO set as its admin, which establishes a",source:"@site/docs/features/subdaos/what.md",sourceDirName:"features/subdaos",slug:"/features/subdaos/what",permalink:"/features/subdaos/what",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/features/subdaos/what.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Types of proposals",permalink:"/features/proposals/types"},next:{title:"How to create a SubDAO",permalink:"/features/subdaos/how-to-create"}},u={},h=[];function d(e){const s={a:"a",em:"em",h1:"h1",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h1,{id:"what-are-subdaos",children:"What are SubDAOs?"}),"\n",(0,n.jsxs)(s.p,{children:["A SubDAO is a DAO with another DAO set as its admin, which establishes a\nhierarchical relationship. The SubDAO's admin (or the ",(0,n.jsx)(s.strong,{children:"parent DAO"}),") can\nexecute any action on behalf of the SubDAO. In other words, the parent DAO can\nforce the SubDAO to ",(0,n.jsx)(s.em,{children:"do something"}),", like spend from it's treasury, manage\nmembers, or executing a smart contract."]}),"\n",(0,n.jsx)(s.p,{children:"SubDAOs allow DAOs to build complex organizational structures. You can use\nSubDAOs to build teams, groups, departments, committees, advisory boards, and\nmore!"}),"\n",(0,n.jsx)(s.p,{children:"How you design your organization is up to you. Here are some examples:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/subdaos",children:"DAO\nDAO"}),"\nitself uses SubDAOs to manage various initiatives, like its development\nprocesses and validator operations."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://daodao.zone/dao/juno1xd2fed839exdvqfa4nqluyxxclvwul7kd48e9pyfm0z2g90dc37srnqy39/subdaos",children:"The\nCorporation"}),"\nwas a ",(0,n.jsx)(s.a,{href:"https://en.wikipedia.org/wiki/Live_action_role-playing_game",children:"LARP"})," that\nrelied on SubDAOs heavily, demonstrating how to create a\n",(0,n.jsx)(s.a,{href:"https://www.investopedia.com/terms/c/c-corporation.asp",children:"C-Corp"}),"-like structure\nusing DAO DAO."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.a,{href:"https://daodao.zone/dao/neutron1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrstdxvff/subdaos",children:"Neutron\nDAO"}),",\nwhich manages the ",(0,n.jsx)(s.a,{href:"https://www.neutron.org/",children:"Neutron blockchain"}),", integrates\nSubDAOs in its processes. The ",(0,n.jsx)(s.a,{href:"https://daodao.zone/dao/neutron1fuyxwxlsgjkfjmxfthq8427dm2am3ya3cwcdr8gls29l7jadtazsuyzwcc/home",children:"Security\nSubDAO"}),"\nhas special privileges over on-chain features, while the ",(0,n.jsx)(s.a,{href:"https://daodao.zone/dao/neutron1zjdv3u6svlazlydmje2qcp44yqkt0059chz8gmyl5yrklmgv6fzq9chelu/home",children:"Grants\nSubDAO"}),"\noversees the distribution of grants in the ecosystem."]}),"\n"]}),"\n",(0,n.jsx)(s.p,{children:"There are many ways take advantage of SubDAOs. Be creative, and show us what you\ncome up with!"})]})}function c(e={}){const{wrapper:s}={...(0,a.a)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,s,t)=>{t.d(s,{Z:()=>i,a:()=>r});var n=t(7294);const a={},o=n.createContext(a);function r(e){const s=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/66405fec.7157085f.js b/assets/js/66405fec.7157085f.js deleted file mode 100644 index 86dd06a2..00000000 --- a/assets/js/66405fec.7157085f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[887],{8086:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>h});var t=s(5893),a=s(1151);const o={sidebar_position:1},i="What are SubDAOs?",r={id:"definitions/subdaos/what",title:"What are SubDAOs?",description:"A SubDAO is a DAO with another DAO set as its admin, which establishes a",source:"@site/docs/definitions/subdaos/what.md",sourceDirName:"definitions/subdaos",slug:"/definitions/subdaos/what",permalink:"/definitions/subdaos/what",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/definitions/subdaos/what.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Proposals",permalink:"/definitions/proposals"},next:{title:"How to create a SubDAO",permalink:"/definitions/subdaos/how-to-create"}},d={},h=[];function c(e){const n={a:"a",em:"em",h1:"h1",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"what-are-subdaos",children:"What are SubDAOs?"}),"\n",(0,t.jsxs)(n.p,{children:["A SubDAO is a DAO with another DAO set as its admin, which establishes a\nhierarchical relationship. The SubDAO's admin (or the ",(0,t.jsx)(n.strong,{children:"parent DAO"}),") can\nexecute any action on behalf of the SubDAO. In other words, the parent DAO can\nforce the SubDAO to ",(0,t.jsx)(n.em,{children:"do something"}),", like spend from it's treasury, manage\nmembers, or executing a smart contract."]}),"\n",(0,t.jsx)(n.p,{children:"SubDAOs allow DAOs to build complex organizational structures. You can use\nSubDAOs to build teams, groups, departments, committees, advisory boards, and\nmore!"}),"\n",(0,t.jsx)(n.p,{children:"How you design your organization is up to you. Here are some examples:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/subdaos",children:"DAO\nDAO"}),"\nitself uses SubDAOs to manage various initiatives, like its development\nprocesses and validator operations."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://daodao.zone/dao/juno1xd2fed839exdvqfa4nqluyxxclvwul7kd48e9pyfm0z2g90dc37srnqy39/subdaos",children:"The\nCorporation"}),"\nwas a ",(0,t.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Live_action_role-playing_game",children:"LARP"})," that\nrelied on SubDAOs heavily, demonstrating how to create a\n",(0,t.jsx)(n.a,{href:"https://www.investopedia.com/terms/c/c-corporation.asp",children:"C-Corp"}),"-like structure\nusing DAO DAO."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.a,{href:"https://daodao.zone/dao/neutron1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrstdxvff/subdaos",children:"Neutron\nDAO"}),",\nwhich manages the ",(0,t.jsx)(n.a,{href:"https://www.neutron.org/",children:"Neutron blockchain"}),", integrates\nSubDAOs in its processes. The ",(0,t.jsx)(n.a,{href:"https://daodao.zone/dao/neutron1fuyxwxlsgjkfjmxfthq8427dm2am3ya3cwcdr8gls29l7jadtazsuyzwcc/home",children:"Security\nSubDAO"}),"\nhas special privileges over on-chain features, while the ",(0,t.jsx)(n.a,{href:"https://daodao.zone/dao/neutron1zjdv3u6svlazlydmje2qcp44yqkt0059chz8gmyl5yrklmgv6fzq9chelu/home",children:"Grants\nSubDAO"}),"\noversees the distribution of grants in the ecosystem."]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"There are many ways take advantage of SubDAOs. Be creative, and show us what you\ncome up with!"})]})}function u(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1151:(e,n,s)=>{s.d(n,{Z:()=>r,a:()=>i});var t=s(7294);const a={},o=t.createContext(a);function i(e){const n=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),t.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6980f84d.2b93e45c.js b/assets/js/6980f84d.bd3f8b54.js similarity index 97% rename from assets/js/6980f84d.2b93e45c.js rename to assets/js/6980f84d.bd3f8b54.js index e877df49..15833b32 100644 --- a/assets/js/6980f84d.2b93e45c.js +++ b/assets/js/6980f84d.bd3f8b54.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[898],{9874:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>h,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var o=t(5893),s=t(1151);const a={sidebar_position:2},i="What's a DAO?",r={id:"introduction/whats-a-dao",title:"What's a DAO?",description:"Decentralized Autonomous Organizations (DAOs) are collectively owned governance",source:"@site/docs/introduction/whats-a-dao.md",sourceDirName:"introduction",slug:"/introduction/whats-a-dao",permalink:"/introduction/whats-a-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/introduction/whats-a-dao.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Welcome to DAO DAO",permalink:"/introduction/welcome-to-dao-dao"},next:{title:"What's a blockchain?",permalink:"/introduction/whats-a-blockchain"}},h={},c=[{value:"Proposals",id:"proposals",level:2},{value:"Voting power",id:"voting-power",level:2},{value:"Members (multisig replacement)",id:"members-multisig-replacement",level:3},{value:"Tokens",id:"tokens",level:3},{value:"NFTs",id:"nfts",level:3}];function l(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"whats-a-dao",children:"What's a DAO?"}),"\n",(0,o.jsx)(n.p,{children:"Decentralized Autonomous Organizations (DAOs) are collectively owned governance\nsystems whose governing software is cryptographically bound to obey the wishes\nof its members."}),"\n",(0,o.jsx)(n.h2,{id:"proposals",children:"Proposals"}),"\n",(0,o.jsx)(n.p,{children:"At its simplest, a DAO performs actions through a proposal process. Members\nsubmit proposals to the DAO, which are then voted on by all members. These\nproposals\u2014their content, votes, and outcomes\u2014are written to an immutable, public\nledger (e.g. a blockchain). Proposals can contain natural language (e.g. laws,\ndeclarations, etc.), or they can contain software instructions (we call these\nActions in the DAO DAO UI). Thus DAOs can be used to govern anything from a\nlow-level software protocol to an entire legislature or government."}),"\n",(0,o.jsx)(n.p,{children:"When a proposal is passed and executed by the members of the DAO, it becomes\ncanonical. Any actions within the proposal are executed on the blockchain and\ntake immediate effect. For example, once a proposal to pay someone's salary is\npassed and executed, the salary is paid."}),"\n",(0,o.jsx)(n.admonition,{title:"Real examples",type:"tip",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A6",children:"This\nproposal"}),"\nin the DAO DAO DAO has a single action associated with it. Only because it was\npassed and executed did it take effect. This action was responsible for\nupgrading the DAO to v2.1 of the smart contracts, which brought new features.\nConversely, ",(0,o.jsx)(n.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1",children:"this other\nproposal"}),"\ncontained no actions and served only to ratify the constitution of the DAO."]})}),"\n",(0,o.jsx)(n.p,{children:"The DAO governance process can itself be modified through proposals. For\nexample, voting rules like the voting period length, or what proportion of\nmembers need to vote yes to pass, can be modified by governance proposals."}),"\n",(0,o.jsxs)(n.p,{children:["You can think of DAOs as a big game of\n",(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Nomic#:~:text=Nomic%20is%20a%20game%20in,done%20afterwards%2C%20and%20doing%20it.",children:"Nomic"}),".\nFor example, ",(0,o.jsx)(n.a,{href:"https://daodao.zone/dao/juno1czh5dy2kxwwt5hlw6rr2q25clj96sheftsdccswg9qe34m3wzgdswmw8ju/proposals/A9",children:"this\nproposal"}),"\nin Dog Dao updates the DAOs' voting rules to shorten the voting duration and,\nthus, make proposals complete more quickly."]}),"\n",(0,o.jsx)(n.h2,{id:"voting-power",children:"Voting power"}),"\n",(0,o.jsx)(n.p,{children:"Because DAOs are programmable, there are infinite mechanisms one could create to\ndetermine a member's voting power. We have created three options that cover the\nmost common use cases of today:"}),"\n",(0,o.jsx)(n.h3,{id:"members-multisig-replacement",children:"Members (multisig replacement)"}),"\n",(0,o.jsxs)(n.p,{children:["We call the simplest form of DAO a member-based DAO. This type of DAO has\n",(0,o.jsx)(n.em,{children:"static membership"}),", meaning that the DAO must pass a proposal to change its\nmembers. Adding a new member, removing an existing member, and changing the\nvoting powers of existing members all must be voted on by existing members\nthrough a proposal. In other words, no individual has the power to change the\nmembership of the DAO."]}),"\n",(0,o.jsxs)(n.p,{children:["This is the DAO structure that replaces the\n",(0,o.jsx)(n.a,{href:"https://www.coindesk.com/learn/what-is-a-multisig-wallet/",children:"multisig"}),". Multisigs\ncan be seen as an early form of a DAO since they solve some of the same issues.\nBoth offer the ability to require multiple people to approve an action, thus\nallowing a group of people to manage assets and make decisions together."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Membership-based DAO members screenshot",src:t(4223).Z+"",width:"2140",height:"1647"})}),"\n",(0,o.jsx)(n.h3,{id:"tokens",children:"Tokens"}),"\n",(0,o.jsxs)(n.p,{children:["Some DAOs prefer a more fluid approach to membership, where members can join and\nleave the DAO at-will. These DAOs use ",(0,o.jsx)(n.em,{children:"governance tokens"})," to determine voting\npower such that anyone who owns (and stakes) tokens can submit proposals and\nvote. These tokens are fungible and may be considered cryptocurrencies if traded\non a market."]}),"\n",(0,o.jsx)(n.p,{children:"Governance tokens are by default freely transferrable, meaning any token holder\ncan send any amount of their tokens to someone else (thereby changing the\nmembership of the DAO)."}),"\n",(0,o.jsx)(n.admonition,{title:"Tokens are programmable",type:"tip",children:(0,o.jsx)(n.p,{children:"Through smart contracts on the blockchain, token behavior can be programmed.\nTokens, and thus voting power, can slowly unlock (i.e. vest) over time, or be\nentirely frozen such that members cannot transfer to anyone else. Anything is\npossible."})}),"\n",(0,o.jsx)(n.p,{children:"In some ways, governance tokens are analogous to shares in a corporation.\nHowever, their programmability allows them to become something entirely new."}),"\n",(0,o.jsxs)(n.admonition,{title:"Hot take",type:"tip",children:[(0,o.jsxs)(n.p,{children:["Most DAOs do ",(0,o.jsx)(n.em,{children:"not"})," need a token. The blockchain ecosystem is token-heavy due to\nthe role cryptocurrencies have played in the blockchain narrative."]}),(0,o.jsx)(n.p,{children:"Tokens can bring undesirable attention, speculation, and financial expectations,\nwhich may distract from the DAO's purpose. If you do use a token, make sure you\nknow why and who can acquire it."}),(0,o.jsx)(n.p,{children:"We encourage you to think deeply about whether or not the tradeoffs are worth\nit, especially because you can always start as a member-based DAO and then\nswitch to being token-based later."})]}),"\n",(0,o.jsx)(n.p,{children:'In DAO DAO, tokens must be "staked" in order to be counted as voting power,\nwhich is analogous to registering to vote. Staked tokens are non-transferrable.\nWhen you want to access your tokens again (in order to transfer or use them\nelsewhere), you must unstake them first.'}),"\n",(0,o.jsx)(n.p,{children:"Most DAOs have unstaking durations configured, meaning there is a minimum amount\nof time you must wait after unstaking your tokens before they are available to\nyou. During the unstaking period, the tokens do not count towards your voting\npower, and you cannot transfer them. This adds a time cost to staking and\nensures a greater level of participatory commitment from a DAO's members."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Token-based DAO members screenshot",src:t(1898).Z+"",width:"2105",height:"1361"})}),"\n",(0,o.jsx)(n.h3,{id:"nfts",children:"NFTs"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Non-fungible_token",children:"Non-fungible tokens (NFTs)"}),"\nare the non-fungible versions of tokens described above. DAOs that use NFTs to\ndetermine voting power operate in the same way as token-based DAOs."]})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},4223:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/membership-aa9cc6ea3663d38f58d27600f92c187a.png"},1898:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/tokens-1aa29165a78bc1010256df2efa722fea.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>i});var o=t(7294);const s={},a=o.createContext(s);function i(e){const n=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[898],{9874:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>h,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>r,toc:()=>c});var o=t(5893),s=t(1151);const a={sidebar_position:2},i="What's a DAO?",r={id:"introduction/whats-a-dao",title:"What's a DAO?",description:"Decentralized Autonomous Organizations (DAOs) are collectively owned governance",source:"@site/docs/introduction/whats-a-dao.md",sourceDirName:"introduction",slug:"/introduction/whats-a-dao",permalink:"/introduction/whats-a-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/introduction/whats-a-dao.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Welcome to DAO DAO",permalink:"/introduction/welcome-to-dao-dao"},next:{title:"What's a blockchain?",permalink:"/introduction/whats-a-blockchain"}},h={},c=[{value:"Proposals",id:"proposals",level:2},{value:"Voting power",id:"voting-power",level:2},{value:"Members (multisig replacement)",id:"members-multisig-replacement",level:3},{value:"Tokens",id:"tokens",level:3},{value:"NFTs",id:"nfts",level:3}];function l(e){const n={a:"a",admonition:"admonition",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"whats-a-dao",children:"What's a DAO?"}),"\n",(0,o.jsx)(n.p,{children:"Decentralized Autonomous Organizations (DAOs) are collectively owned governance\nsystems whose governing software is cryptographically bound to obey the wishes\nof its members."}),"\n",(0,o.jsx)(n.h2,{id:"proposals",children:"Proposals"}),"\n",(0,o.jsx)(n.p,{children:"At its simplest, a DAO performs actions through a proposal process. Members\nsubmit proposals to the DAO, which are then voted on by all members. These\nproposals\u2014their content, votes, and outcomes\u2014are written to an immutable, public\nledger (e.g. a blockchain). Proposals can contain natural language (e.g. laws,\ndeclarations, etc.), or they can contain software instructions (we call these\nActions in the DAO DAO UI). Thus DAOs can be used to govern anything from a\nlow-level software protocol to an entire legislature or government."}),"\n",(0,o.jsx)(n.p,{children:"When a proposal is passed and executed by the members of the DAO, it becomes\ncanonical. Any actions within the proposal are executed on the blockchain and\ntake immediate effect. For example, once a proposal to pay someone's salary is\npassed and executed, the salary is paid."}),"\n",(0,o.jsx)(n.admonition,{title:"Real examples",type:"tip",children:(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A6",children:"This\nproposal"}),"\nin the DAO DAO DAO has a single action associated with it. Only because it was\npassed and executed did it take effect. This action was responsible for\nupgrading the DAO to v2.1 of the smart contracts, which brought new features.\nConversely, ",(0,o.jsx)(n.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1",children:"this other\nproposal"}),"\ncontained no actions and served only to ratify the constitution of the DAO."]})}),"\n",(0,o.jsx)(n.p,{children:"The DAO governance process can itself be modified through proposals. For\nexample, voting rules like the voting period length, or what proportion of\nmembers need to vote yes to pass, can be modified by governance proposals."}),"\n",(0,o.jsxs)(n.p,{children:["You can think of DAOs as a big game of\n",(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Nomic#:~:text=Nomic%20is%20a%20game%20in,done%20afterwards%2C%20and%20doing%20it.",children:"Nomic"}),".\nFor example, ",(0,o.jsx)(n.a,{href:"https://daodao.zone/dao/juno1czh5dy2kxwwt5hlw6rr2q25clj96sheftsdccswg9qe34m3wzgdswmw8ju/proposals/A9",children:"this\nproposal"}),"\nin Dog Dao updates the DAOs' voting rules to shorten the voting duration and,\nthus, make proposals complete more quickly."]}),"\n",(0,o.jsx)(n.h2,{id:"voting-power",children:"Voting power"}),"\n",(0,o.jsx)(n.p,{children:"Because DAOs are programmable, there are infinite mechanisms one could create to\ndetermine a member's voting power. We have created three options that cover the\nmost common use cases of today:"}),"\n",(0,o.jsx)(n.h3,{id:"members-multisig-replacement",children:"Members (multisig replacement)"}),"\n",(0,o.jsxs)(n.p,{children:["We call the simplest form of DAO a member-based DAO. This type of DAO has\n",(0,o.jsx)(n.em,{children:"static membership"}),", meaning that the DAO must pass a proposal to change its\nmembers. Adding a new member, removing an existing member, and changing the\nvoting powers of existing members all must be voted on by existing members\nthrough a proposal. In other words, no individual has the power to change the\nmembership of the DAO."]}),"\n",(0,o.jsxs)(n.p,{children:["This is the DAO structure that replaces the\n",(0,o.jsx)(n.a,{href:"https://www.coindesk.com/learn/what-is-a-multisig-wallet/",children:"multisig"}),". Multisigs\ncan be seen as an early form of a DAO since they solve some of the same issues.\nBoth offer the ability to require multiple people to approve an action, thus\nallowing a group of people to manage assets and make decisions together."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Membership-based DAO members screenshot",src:t(5456).Z+"",width:"2140",height:"1647"})}),"\n",(0,o.jsx)(n.h3,{id:"tokens",children:"Tokens"}),"\n",(0,o.jsxs)(n.p,{children:["Some DAOs prefer a more fluid approach to membership, where members can join and\nleave the DAO at-will. These DAOs use ",(0,o.jsx)(n.em,{children:"governance tokens"})," to determine voting\npower such that anyone who owns (and stakes) tokens can submit proposals and\nvote. These tokens are fungible and may be considered cryptocurrencies if traded\non a market."]}),"\n",(0,o.jsx)(n.p,{children:"Governance tokens are by default freely transferrable, meaning any token holder\ncan send any amount of their tokens to someone else (thereby changing the\nmembership of the DAO)."}),"\n",(0,o.jsx)(n.admonition,{title:"Tokens are programmable",type:"tip",children:(0,o.jsx)(n.p,{children:"Through smart contracts on the blockchain, token behavior can be programmed.\nTokens, and thus voting power, can slowly unlock (i.e. vest) over time, or be\nentirely frozen such that members cannot transfer to anyone else. Anything is\npossible."})}),"\n",(0,o.jsx)(n.p,{children:"In some ways, governance tokens are analogous to shares in a corporation.\nHowever, their programmability allows them to become something entirely new."}),"\n",(0,o.jsxs)(n.admonition,{title:"Hot take",type:"tip",children:[(0,o.jsxs)(n.p,{children:["Most DAOs do ",(0,o.jsx)(n.em,{children:"not"})," need a token. The blockchain ecosystem is token-heavy due to\nthe role cryptocurrencies have played in the blockchain narrative."]}),(0,o.jsx)(n.p,{children:"Tokens can bring undesirable attention, speculation, and financial expectations,\nwhich may distract from the DAO's purpose. If you do use a token, make sure you\nknow why and who can acquire it."}),(0,o.jsx)(n.p,{children:"We encourage you to think deeply about whether or not the tradeoffs are worth\nit, especially because you can always start as a member-based DAO and then\nswitch to being token-based later."})]}),"\n",(0,o.jsx)(n.p,{children:'In DAO DAO, tokens must be "staked" in order to be counted as voting power,\nwhich is analogous to registering to vote. Staked tokens are non-transferrable.\nWhen you want to access your tokens again (in order to transfer or use them\nelsewhere), you must unstake them first.'}),"\n",(0,o.jsx)(n.p,{children:"Most DAOs have unstaking durations configured, meaning there is a minimum amount\nof time you must wait after unstaking your tokens before they are available to\nyou. During the unstaking period, the tokens do not count towards your voting\npower, and you cannot transfer them. This adds a time cost to staking and\nensures a greater level of participatory commitment from a DAO's members."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Token-based DAO members screenshot",src:t(2879).Z+"",width:"2105",height:"1361"})}),"\n",(0,o.jsx)(n.h3,{id:"nfts",children:"NFTs"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Non-fungible_token",children:"Non-fungible tokens (NFTs)"}),"\nare the non-fungible versions of tokens described above. DAOs that use NFTs to\ndetermine voting power operate in the same way as token-based DAOs."]})]})}function d(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},5456:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/membership-aa9cc6ea3663d38f58d27600f92c187a.png"},2879:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/tokens-1aa29165a78bc1010256df2efa722fea.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>i});var o=t(7294);const s={},a=o.createContext(s);function i(e){const n=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6db0afdf.86fa6e00.js b/assets/js/6db0afdf.86fa6e00.js deleted file mode 100644 index de06234a..00000000 --- a/assets/js/6db0afdf.86fa6e00.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[171],{2654:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=t(5893),r=t(1151);const o={sidebar_position:1},i="Diversify your DAO's treasury",a={id:"recipes/diversify-treasury",title:"Diversify your DAO's treasury",description:"So, you have a DAO, but you want its treasury to hold some tokens other than",source:"@site/docs/recipes/diversify-treasury.md",sourceDirName:"recipes",slug:"/recipes/diversify-treasury",permalink:"/recipes/diversify-treasury",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/recipes/diversify-treasury.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Staking",permalink:"/configuration/staking"},next:{title:"Deploying a smart contract from a DAO",permalink:"/recipes/contract-deployment"}},c={},d=[{value:"Enabling IBC transfers on Juno",id:"enabling-ibc-transfers-on-juno",level:2},{value:"Sending the tokens to your DAO",id:"sending-the-tokens-to-your-dao",level:2}];function u(e){const n={a:"a",admonition:"admonition",h1:"h1",h2:"h2",p:"p",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"diversify-your-daos-treasury",children:"Diversify your DAO's treasury"}),"\n",(0,s.jsx)(n.p,{children:"So, you have a DAO, but you want its treasury to hold some tokens other than\nyour governance token."}),"\n",(0,s.jsx)(n.p,{children:"It's as easy as making an IBC transaction with the DAO's address as the recipient."}),"\n",(0,s.jsx)(n.h2,{id:"enabling-ibc-transfers-on-juno",children:"Enabling IBC transfers on Juno"}),"\n",(0,s.jsx)(n.p,{children:"First, enable IBC transfers in Juno."}),"\n",(0,s.jsx)(n.p,{children:'In Keplr, go to Settings, then check "Advanced IBC Transfers."'}),"\n",(0,s.jsx)(n.h2,{id:"sending-the-tokens-to-your-dao",children:"Sending the tokens to your DAO"}),"\n",(0,s.jsxs)(n.p,{children:["Find the coin you want to send, and follow ",(0,s.jsx)(n.a,{href:"https://keplr.crunch.help/ibc-guides-troubleshooting/cosmos-ibc-transfers",children:"these\ninstructions"}),"\nto send your tokens over IBC."]}),"\n",(0,s.jsx)(n.p,{children:"Your destination chain will be Juno, and your destination address will be your\nDAO's address."}),"\n",(0,s.jsx)(n.admonition,{type:"danger",children:(0,s.jsxs)(n.p,{children:["Make sure you have the right channel ID. Check the ",(0,s.jsx)(n.a,{href:"https://hub.mintscan.io/ibc-network",children:"active IBC\nchannels"})," for Juno."]})})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>i});var s=t(7294);const r={},o=s.createContext(r);function i(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/73a2cf18.5948036a.js b/assets/js/73a2cf18.5948036a.js deleted file mode 100644 index c742d95b..00000000 --- a/assets/js/73a2cf18.5948036a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[370],{7796:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var a=n(5893),s=n(1151);const o={sidebar_position:2},i="How to create a SubDAO",r={id:"definitions/subdaos/how-to-create",title:"How to create a SubDAO",description:"Creating a SubDAO is as easy as creating a regular DAO, with one extra step at",source:"@site/docs/definitions/subdaos/how-to-create.md",sourceDirName:"definitions/subdaos",slug:"/definitions/subdaos/how-to-create",permalink:"/definitions/subdaos/how-to-create",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/definitions/subdaos/how-to-create.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"What are SubDAOs?",permalink:"/definitions/subdaos/what"},next:{title:"How to act on behalf of a SubDAO",permalink:"/definitions/subdaos/act-on-behalf-of-subdao"}},c={},d=[];function h(e){const t={a:"a",h1:"h1",img:"img",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h1,{id:"how-to-create-a-subdao",children:"How to create a SubDAO"}),"\n",(0,a.jsx)(t.p,{children:"Creating a SubDAO is as easy as creating a regular DAO, with one extra step at\nthe end!"}),"\n",(0,a.jsxs)(t.p,{children:["To start, go to the DAO you want to create a SubDAO for, and navigate to\n",(0,a.jsx)(t.strong,{children:"SubDAOs > New SubDAO"}),"."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Create SubDAO button",src:n(6595).Z+"",width:"2142",height:"1976"})}),"\n",(0,a.jsx)(t.p,{children:"You will be brought to an interface that looks identical to the interface for\ncreating a DAO, except the header should contain the name of the parent DAO."}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"New SubDAO UI",src:n(320).Z+"",width:"2154",height:"1644"})}),"\n",(0,a.jsxs)(t.p,{children:["Create the SubDAO like you would any other DAO. If you need help, check out\n",(0,a.jsx)(t.a,{href:"/quickstart/create-a-dao",children:"Create your first DAO"})," in the Quickstart section."]}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"SubDAO home",src:n(9925).Z+"",width:"2144",height:"1784"})}),"\n",(0,a.jsx)(t.p,{children:"Lastly, the parent DAO needs to recognize the SubDAO with a proposal. This\nsecurity step prevents anyone from creating a SubDAO of an organization and\npretending to be a part of it."}),"\n",(0,a.jsx)(t.p,{children:"If you are a member of the parent DAO, you can click on the banner at the top of\nthe SubDAO's home page to open the parent DAO's proposal creation page with the\naction prefilled."}),"\n",(0,a.jsx)(t.p,{children:"Clicking the alert banner at the top of the page will take you here:"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Parent DAO proposal\ncreation",src:n(9745).Z+"",width:"2148",height:"1912"})}),"\n",(0,a.jsx)(t.p,{children:"Once the parent DAO passes and executes this proposal, the SubDAO will be\nrecognized!"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Recognized SubDAO home",src:n(5385).Z+"",width:"2146",height:"1626"})}),"\n",(0,a.jsx)(t.p,{children:"And it will show up in the parent DAO's SubDAOs tab!"}),"\n",(0,a.jsx)(t.p,{children:(0,a.jsx)(t.img,{alt:"Parent DAO SubDAOs tab",src:n(6105).Z+"",width:"2158",height:"2286"})})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},320:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/new-subdao-74125e033f5a2d5cb76009f14ec01b5c.png"},9745:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/prefilled-subdao-recognition-89bccaae7f815362b1c913d495b8bd69.png"},5385:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/subdao-home-recognized-46d6a818c93f8190e0e45049b04710f4.png"},6105:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/subdaos-tab-recognized-a36e689bfbf486b2e28e0475d6505383.png"},6595:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/subdaos-tab-9ce5a8b8a961b7e5590293b45bba1bc8.png"},9925:(e,t,n)=>{n.d(t,{Z:()=>a});const a=n.p+"assets/images/unregistered-subdao-home-72abec6237d51eacec1e85b4a721ba25.png"},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>i});var a=n(7294);const s={},o=a.createContext(s);function i(e){const t=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),a.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/87054f68.44dfd4b7.js b/assets/js/87054f68.44dfd4b7.js deleted file mode 100644 index e64cd89c..00000000 --- a/assets/js/87054f68.44dfd4b7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[664],{1817:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>d});var o=n(5893),a=n(1151);const r={sidebar_position:1},s="V1 -> V2",i={id:"upgrading/v2",title:"V1 -> V2",description:"To upgrade a V1 DAO (or multisig) to a V2 DAO, you just need to pass and execute",source:"@site/docs/upgrading/v2.md",sourceDirName:"upgrading",slug:"/upgrading/v2",permalink:"/upgrading/v2",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/upgrading/v2.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Executing smart contracts",permalink:"/recipes/executing-smart-contracts"},next:{title:"Upgrading a DAO",permalink:"/upgrading/v1/dao"}},c={},d=[{value:"Why upgrade",id:"why-upgrade",level:2}];function p(e){const t={code:"code",h1:"h1",h2:"h2",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"v1---v2",children:"V1 -> V2"}),"\n",(0,o.jsxs)(t.p,{children:["To upgrade a V1 DAO (or multisig) to a V2 DAO, you just need to pass and execute\na proposal with the ",(0,o.jsx)(t.code,{children:"Upgrade to V2"})," action."]}),"\n",(0,o.jsx)(t.p,{children:"First, create a new proposal."}),"\n",(0,o.jsxs)(t.p,{children:["Add the ",(0,o.jsx)(t.code,{children:"Upgrade to V2"})," action under the ",(0,o.jsx)(t.code,{children:"DAO Governance"})," category."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Action picker modal with DAO Governance\ncategory",src:n(4641).Z+"",width:"934",height:"1188"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"DAO Governance category with Upgrade to V2\naction",src:n(8028).Z+"",width:"1878",height:"1194"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Upgrade to V2 action",src:n(8078).Z+"",width:"1880",height:"466"})}),"\n",(0,o.jsx)(t.p,{children:"If you created any SubDAOs while on V1, you can optionally choose to officially\nrecognize them as SubDAOs (which will show up on the DAO's page)."}),"\n",(0,o.jsx)(t.p,{children:"Once you submit, pass, and execute this proposal, your DAO will be upgraded to\nV2!"}),"\n",(0,o.jsx)(t.h2,{id:"why-upgrade",children:"Why upgrade"}),"\n",(0,o.jsx)(t.p,{children:"By upgrading from V1 to V2, you'll receive new feature releases from DAO DAO and\nuse the latest audited smart contracts."})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},4641:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/action-modal-dao-governance-category-b0209e2e28ee6868612d247007bc7719.png"},8078:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/upgrade-to-v2-action-done-5837a5cb966e3e168016e3259bc5c10f.png"},8028:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/upgrade-to-v2-action-b1f09ac026725153c8332b1870b2edbe.png"},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>s});var o=n(7294);const a={},r=o.createContext(a);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/87054f68.f32daca1.js b/assets/js/87054f68.f32daca1.js new file mode 100644 index 00000000..814559d1 --- /dev/null +++ b/assets/js/87054f68.f32daca1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[664],{1817:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var o=n(5893),a=n(1151);const i={sidebar_position:1},r="V1 -> V2",s={id:"upgrading/v2",title:"V1 -> V2",description:"To upgrade a V1 DAO (or multisig) to a V2 DAO, you just need to pass and execute",source:"@site/docs/upgrading/v2.md",sourceDirName:"upgrading",slug:"/upgrading/v2",permalink:"/upgrading/v2",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/upgrading/v2.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Staking",permalink:"/configuration/staking"},next:{title:"Upgrading a DAO",permalink:"/upgrading/v1/dao"}},c={},d=[{value:"Why upgrade",id:"why-upgrade",level:2}];function p(e){const t={code:"code",h1:"h1",h2:"h2",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"v1---v2",children:"V1 -> V2"}),"\n",(0,o.jsxs)(t.p,{children:["To upgrade a V1 DAO (or multisig) to a V2 DAO, you just need to pass and execute\na proposal with the ",(0,o.jsx)(t.code,{children:"Upgrade to V2"})," action."]}),"\n",(0,o.jsx)(t.p,{children:"First, create a new proposal."}),"\n",(0,o.jsxs)(t.p,{children:["Add the ",(0,o.jsx)(t.code,{children:"Upgrade to V2"})," action under the ",(0,o.jsx)(t.code,{children:"DAO Governance"})," category."]}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Action picker modal with DAO Governance\ncategory",src:n(2662).Z+"",width:"934",height:"1188"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"DAO Governance category with Upgrade to V2\naction",src:n(8057).Z+"",width:"1878",height:"1194"})}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.img,{alt:"Upgrade to V2 action",src:n(6960).Z+"",width:"1880",height:"466"})}),"\n",(0,o.jsx)(t.p,{children:"If you created any SubDAOs while on V1, you can optionally choose to officially\nrecognize them as SubDAOs (which will show up on the DAO's page)."}),"\n",(0,o.jsx)(t.p,{children:"Once you submit, pass, and execute this proposal, your DAO will be upgraded to\nV2!"}),"\n",(0,o.jsx)(t.h2,{id:"why-upgrade",children:"Why upgrade"}),"\n",(0,o.jsx)(t.p,{children:"By upgrading from V1 to V2, you'll receive new feature releases from DAO DAO and\nuse the latest audited smart contracts."})]})}function u(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},2662:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/action-modal-dao-governance-category-b0209e2e28ee6868612d247007bc7719.png"},6960:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/upgrade-to-v2-action-done-5837a5cb966e3e168016e3259bc5c10f.png"},8057:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/upgrade-to-v2-action-b1f09ac026725153c8332b1870b2edbe.png"},1151:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>r});var o=n(7294);const a={},i=o.createContext(a);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.1baed624.js b/assets/js/935f2afb.1baed624.js deleted file mode 100644 index b205159b..00000000 --- a/assets/js/935f2afb.1baed624.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Welcome to DAO DAO","href":"/introduction/welcome-to-dao-dao","docId":"introduction/welcome-to-dao-dao","unlisted":false},{"type":"link","label":"What\'s a DAO?","href":"/introduction/whats-a-dao","docId":"introduction/whats-a-dao","unlisted":false},{"type":"link","label":"What\'s a blockchain?","href":"/introduction/whats-a-blockchain","docId":"introduction/whats-a-blockchain","unlisted":false},{"type":"link","label":"Technical breakdown","href":"/introduction/technical-breakdown","docId":"introduction/technical-breakdown","unlisted":false}]},{"type":"category","label":"Quickstart","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create your first DAO","href":"/quickstart/create-a-dao","docId":"quickstart/create-a-dao","unlisted":false},{"type":"link","label":"Joining and leaving a member-based DAO","href":"/quickstart/joining-leaving-member-based-dao","docId":"quickstart/joining-leaving-member-based-dao","unlisted":false},{"type":"link","label":"Joining and leaving a token-based DAO","href":"/quickstart/joining-leaving-token-based-dao","docId":"quickstart/joining-leaving-token-based-dao","unlisted":false},{"type":"link","label":"Create your first proposal","href":"/quickstart/create-a-proposal","docId":"quickstart/create-a-proposal","unlisted":false},{"type":"link","label":"Voting","href":"/quickstart/voting","docId":"quickstart/voting","unlisted":false},{"type":"link","label":"Congratulations!","href":"/quickstart/congratulations","docId":"quickstart/congratulations","unlisted":false}]},{"type":"category","label":"Definitions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Proposals","href":"/definitions/proposals","docId":"definitions/proposals","unlisted":false},{"type":"category","label":"SubDAOs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"What are SubDAOs?","href":"/definitions/subdaos/what","docId":"definitions/subdaos/what","unlisted":false},{"type":"link","label":"How to create a SubDAO","href":"/definitions/subdaos/how-to-create","docId":"definitions/subdaos/how-to-create","unlisted":false},{"type":"link","label":"How to act on behalf of a SubDAO","href":"/definitions/subdaos/act-on-behalf-of-subdao","docId":"definitions/subdaos/act-on-behalf-of-subdao","unlisted":false}]}]},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Voting","href":"/configuration/voting","docId":"configuration/voting","unlisted":false},{"type":"link","label":"Proposal submission","href":"/configuration/proposal-submission","docId":"configuration/proposal-submission","unlisted":false},{"type":"link","label":"Staking","href":"/configuration/staking","docId":"configuration/staking","unlisted":false}]},{"type":"category","label":"Recipes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Diversify your DAO\'s treasury","href":"/recipes/diversify-treasury","docId":"recipes/diversify-treasury","unlisted":false},{"type":"link","label":"Deploying a smart contract from a DAO","href":"/recipes/contract-deployment","docId":"recipes/contract-deployment","unlisted":false},{"type":"link","label":"Updating the config of a DAO","href":"/recipes/config-updates","docId":"recipes/config-updates","unlisted":false},{"type":"link","label":"Executing smart contracts","href":"/recipes/executing-smart-contracts","docId":"recipes/executing-smart-contracts","unlisted":false}]},{"type":"category","label":"Upgrading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"V1 -> V2","href":"/upgrading/v2","docId":"upgrading/v2","unlisted":false},{"type":"category","label":"Legacy -> V1","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Upgrading a DAO","href":"/upgrading/v1/dao","docId":"upgrading/v1/dao","unlisted":false},{"type":"link","label":"Upgrading a multisig","href":"/upgrading/v1/multisig","docId":"upgrading/v1/multisig","unlisted":false}]}]},{"type":"link","label":"Contribute to DAO DAO!","href":"/how-to-contribute","docId":"how-to-contribute","unlisted":false}]},"docs":{"configuration/proposal-submission":{"id":"configuration/proposal-submission","title":"Proposal submission","description":"Proposal submission parameters are initially set when you create a DAO. Of","sidebar":"tutorialSidebar"},"configuration/staking":{"id":"configuration/staking","title":"Staking","description":"Token-based and NFT-based DAOs can configure the parameters of their staking","sidebar":"tutorialSidebar"},"configuration/voting":{"id":"configuration/voting","title":"Voting","description":"Voting parameters are initially set when you create a DAO. Of course you can","sidebar":"tutorialSidebar"},"definitions/proposals":{"id":"definitions/proposals","title":"Proposals","description":"Proposals are how DAOs take action. You can think of proposals as the nervous","sidebar":"tutorialSidebar"},"definitions/subdaos/act-on-behalf-of-subdao":{"id":"definitions/subdaos/act-on-behalf-of-subdao","title":"How to act on behalf of a SubDAO","description":"As discussed in What are SubDAOs?, the admin (or","sidebar":"tutorialSidebar"},"definitions/subdaos/how-to-create":{"id":"definitions/subdaos/how-to-create","title":"How to create a SubDAO","description":"Creating a SubDAO is as easy as creating a regular DAO, with one extra step at","sidebar":"tutorialSidebar"},"definitions/subdaos/what":{"id":"definitions/subdaos/what","title":"What are SubDAOs?","description":"A SubDAO is a DAO with another DAO set as its admin, which establishes a","sidebar":"tutorialSidebar"},"how-to-contribute":{"id":"how-to-contribute","title":"Contribute to DAO DAO!","description":"DAO DAO rewards the people who contribute to it.","sidebar":"tutorialSidebar"},"introduction/technical-breakdown":{"id":"introduction/technical-breakdown","title":"Technical breakdown","description":"DAO DAO\'s smart contracts are built","sidebar":"tutorialSidebar"},"introduction/welcome-to-dao-dao":{"id":"introduction/welcome-to-dao-dao","title":"Welcome to DAO DAO","description":"[DAO","sidebar":"tutorialSidebar"},"introduction/whats-a-blockchain":{"id":"introduction/whats-a-blockchain","title":"What\'s a blockchain?","description":"A blockchain is a database made of blocks of data, strung together to form a","sidebar":"tutorialSidebar"},"introduction/whats-a-dao":{"id":"introduction/whats-a-dao","title":"What\'s a DAO?","description":"Decentralized Autonomous Organizations (DAOs) are collectively owned governance","sidebar":"tutorialSidebar"},"quickstart/congratulations":{"id":"quickstart/congratulations","title":"Congratulations!","description":"You\'ve created your own DAO. More importantly, you\'ve learned the basics of DAO","sidebar":"tutorialSidebar"},"quickstart/create-a-dao":{"id":"quickstart/create-a-dao","title":"Create your first DAO","description":"For this tutorial, we\'ll make a DAO for your reading group. This will let","sidebar":"tutorialSidebar"},"quickstart/create-a-proposal":{"id":"quickstart/create-a-proposal","title":"Create your first proposal","description":"After creating a DAO for your book club, I\'m sure","sidebar":"tutorialSidebar"},"quickstart/joining-leaving-member-based-dao":{"id":"quickstart/joining-leaving-member-based-dao","title":"Joining and leaving a member-based DAO","description":"As explained in [_What\'s a","sidebar":"tutorialSidebar"},"quickstart/joining-leaving-token-based-dao":{"id":"quickstart/joining-leaving-token-based-dao","title":"Joining and leaving a token-based DAO","description":"The DAO we created in the previous guide was not a token-based DAO. However, you","sidebar":"tutorialSidebar"},"quickstart/voting":{"id":"quickstart/voting","title":"Voting","description":"Now that everyone has joined the DAO and a [proposal has been","sidebar":"tutorialSidebar"},"recipes/config-updates":{"id":"recipes/config-updates","title":"Updating the config of a DAO","description":"After you\'ve deployed your DAO you may decide that you\'d like to","sidebar":"tutorialSidebar"},"recipes/contract-deployment":{"id":"recipes/contract-deployment","title":"Deploying a smart contract from a DAO","description":"Have a smart contract, but want your DAO to control it?","sidebar":"tutorialSidebar"},"recipes/diversify-treasury":{"id":"recipes/diversify-treasury","title":"Diversify your DAO\'s treasury","description":"So, you have a DAO, but you want its treasury to hold some tokens other than","sidebar":"tutorialSidebar"},"recipes/executing-smart-contracts":{"id":"recipes/executing-smart-contracts","title":"Executing smart contracts","description":"Once you\'ve deployed a smart contract from","sidebar":"tutorialSidebar"},"upgrading/v1/dao":{"id":"upgrading/v1/dao","title":"Upgrading a DAO","description":"There are newer versions available. You must first upgrade to V1, and then","sidebar":"tutorialSidebar"},"upgrading/v1/multisig":{"id":"upgrading/v1/multisig","title":"Upgrading a multisig","description":"There are newer versions available. You must first upgrade to V1, and then","sidebar":"tutorialSidebar"},"upgrading/v2":{"id":"upgrading/v2","title":"V1 -> V2","description":"To upgrade a V1 DAO (or multisig) to a V2 DAO, you just need to pass and execute","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.e1ce75cf.js b/assets/js/935f2afb.e1ce75cf.js new file mode 100644 index 00000000..6b6cf76b --- /dev/null +++ b/assets/js/935f2afb.e1ce75cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Welcome to DAO DAO","href":"/introduction/welcome-to-dao-dao","docId":"introduction/welcome-to-dao-dao","unlisted":false},{"type":"link","label":"What\'s a DAO?","href":"/introduction/whats-a-dao","docId":"introduction/whats-a-dao","unlisted":false},{"type":"link","label":"What\'s a blockchain?","href":"/introduction/whats-a-blockchain","docId":"introduction/whats-a-blockchain","unlisted":false},{"type":"link","label":"Technical breakdown","href":"/introduction/technical-breakdown","docId":"introduction/technical-breakdown","unlisted":false}]},{"type":"category","label":"Quickstart","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create your first DAO","href":"/quickstart/create-a-dao","docId":"quickstart/create-a-dao","unlisted":false},{"type":"link","label":"Joining and leaving a member-based DAO","href":"/quickstart/joining-leaving-member-based-dao","docId":"quickstart/joining-leaving-member-based-dao","unlisted":false},{"type":"link","label":"Joining and leaving a token-based DAO","href":"/quickstart/joining-leaving-token-based-dao","docId":"quickstart/joining-leaving-token-based-dao","unlisted":false},{"type":"link","label":"Create your first proposal","href":"/quickstart/create-a-proposal","docId":"quickstart/create-a-proposal","unlisted":false},{"type":"link","label":"Voting","href":"/quickstart/voting","docId":"quickstart/voting","unlisted":false},{"type":"link","label":"Congratulations!","href":"/quickstart/congratulations","docId":"quickstart/congratulations","unlisted":false}]},{"type":"category","label":"Features","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Proposals","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"What are proposals?","href":"/features/proposals/what","docId":"features/proposals/what","unlisted":false},{"type":"link","label":"Types of proposals","href":"/features/proposals/types","docId":"features/proposals/types","unlisted":false}]},{"type":"category","label":"SubDAOs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"What are SubDAOs?","href":"/features/subdaos/what","docId":"features/subdaos/what","unlisted":false},{"type":"link","label":"How to create a SubDAO","href":"/features/subdaos/how-to-create","docId":"features/subdaos/how-to-create","unlisted":false},{"type":"link","label":"How to act on behalf of a SubDAO","href":"/features/subdaos/act-on-behalf-of-subdao","docId":"features/subdaos/act-on-behalf-of-subdao","unlisted":false}]}]},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Voting","href":"/configuration/voting","docId":"configuration/voting","unlisted":false},{"type":"link","label":"Proposal submission","href":"/configuration/proposal-submission","docId":"configuration/proposal-submission","unlisted":false},{"type":"link","label":"Staking","href":"/configuration/staking","docId":"configuration/staking","unlisted":false}]},{"type":"category","label":"Upgrading","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"V1 -> V2","href":"/upgrading/v2","docId":"upgrading/v2","unlisted":false},{"type":"category","label":"Legacy -> V1","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Upgrading a DAO","href":"/upgrading/v1/dao","docId":"upgrading/v1/dao","unlisted":false},{"type":"link","label":"Upgrading a multisig","href":"/upgrading/v1/multisig","docId":"upgrading/v1/multisig","unlisted":false}]}]},{"type":"link","label":"Contribute to DAO DAO!","href":"/how-to-contribute","docId":"how-to-contribute","unlisted":false}]},"docs":{"configuration/proposal-submission":{"id":"configuration/proposal-submission","title":"Proposal submission","description":"A DAO\'s proposal submission configuration manages the rules around submitting a","sidebar":"tutorialSidebar"},"configuration/staking":{"id":"configuration/staking","title":"Staking","description":"A DAO\'s staking configuration determines the rules of the token staking process.","sidebar":"tutorialSidebar"},"configuration/voting":{"id":"configuration/voting","title":"Voting","description":"A DAO\'s voting configuration determines the rules of the voting process. Things","sidebar":"tutorialSidebar"},"features/proposals/types":{"id":"features/proposals/types","title":"Types of proposals","description":"DAO DAO supports single choice (Yes, No, or Abstain) and multiple choice","sidebar":"tutorialSidebar"},"features/proposals/what":{"id":"features/proposals/what","title":"What are proposals?","description":"Proposals are how DAOs take action. You can think of proposals as the nervous","sidebar":"tutorialSidebar"},"features/subdaos/act-on-behalf-of-subdao":{"id":"features/subdaos/act-on-behalf-of-subdao","title":"How to act on behalf of a SubDAO","description":"As discussed in What are SubDAOs?, the admin (or","sidebar":"tutorialSidebar"},"features/subdaos/how-to-create":{"id":"features/subdaos/how-to-create","title":"How to create a SubDAO","description":"Creating a SubDAO is as easy as creating a regular DAO, with one extra step at","sidebar":"tutorialSidebar"},"features/subdaos/what":{"id":"features/subdaos/what","title":"What are SubDAOs?","description":"A SubDAO is a DAO with another DAO set as its admin, which establishes a","sidebar":"tutorialSidebar"},"how-to-contribute":{"id":"how-to-contribute","title":"Contribute to DAO DAO!","description":"DAO DAO rewards the people who contribute to it.","sidebar":"tutorialSidebar"},"introduction/technical-breakdown":{"id":"introduction/technical-breakdown","title":"Technical breakdown","description":"DAO DAO\'s smart contracts are built","sidebar":"tutorialSidebar"},"introduction/welcome-to-dao-dao":{"id":"introduction/welcome-to-dao-dao","title":"Welcome to DAO DAO","description":"[DAO","sidebar":"tutorialSidebar"},"introduction/whats-a-blockchain":{"id":"introduction/whats-a-blockchain","title":"What\'s a blockchain?","description":"A blockchain is a database made of blocks of data, strung together to form a","sidebar":"tutorialSidebar"},"introduction/whats-a-dao":{"id":"introduction/whats-a-dao","title":"What\'s a DAO?","description":"Decentralized Autonomous Organizations (DAOs) are collectively owned governance","sidebar":"tutorialSidebar"},"quickstart/congratulations":{"id":"quickstart/congratulations","title":"Congratulations!","description":"You\'ve created your own DAO. More importantly, you\'ve learned the basics of DAO","sidebar":"tutorialSidebar"},"quickstart/create-a-dao":{"id":"quickstart/create-a-dao","title":"Create your first DAO","description":"For this tutorial, we\'ll make a DAO for your reading group. This will let","sidebar":"tutorialSidebar"},"quickstart/create-a-proposal":{"id":"quickstart/create-a-proposal","title":"Create your first proposal","description":"After creating a DAO for your book club, I\'m sure","sidebar":"tutorialSidebar"},"quickstart/joining-leaving-member-based-dao":{"id":"quickstart/joining-leaving-member-based-dao","title":"Joining and leaving a member-based DAO","description":"As explained in [_What\'s a","sidebar":"tutorialSidebar"},"quickstart/joining-leaving-token-based-dao":{"id":"quickstart/joining-leaving-token-based-dao","title":"Joining and leaving a token-based DAO","description":"The DAO we created in the previous guide was not a token-based DAO. However, you","sidebar":"tutorialSidebar"},"quickstart/voting":{"id":"quickstart/voting","title":"Voting","description":"Now that everyone has joined the DAO and a [proposal has been","sidebar":"tutorialSidebar"},"upgrading/v1/dao":{"id":"upgrading/v1/dao","title":"Upgrading a DAO","description":"There are newer versions available. You must first upgrade to V1, and then","sidebar":"tutorialSidebar"},"upgrading/v1/multisig":{"id":"upgrading/v1/multisig","title":"Upgrading a multisig","description":"There are newer versions available. You must first upgrade to V1, and then","sidebar":"tutorialSidebar"},"upgrading/v2":{"id":"upgrading/v2","title":"V1 -> V2","description":"To upgrade a V1 DAO (or multisig) to a V2 DAO, you just need to pass and execute","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/986cae62.daa0bf5c.js b/assets/js/986cae62.daa0bf5c.js new file mode 100644 index 00000000..24194fb9 --- /dev/null +++ b/assets/js/986cae62.daa0bf5c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[801],{3677:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>h});var n=a(5893),s=a(1151);const o={sidebar_position:2},r="How to create a SubDAO",i={id:"features/subdaos/how-to-create",title:"How to create a SubDAO",description:"Creating a SubDAO is as easy as creating a regular DAO, with one extra step at",source:"@site/docs/features/subdaos/how-to-create.md",sourceDirName:"features/subdaos",slug:"/features/subdaos/how-to-create",permalink:"/features/subdaos/how-to-create",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/features/subdaos/how-to-create.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"What are SubDAOs?",permalink:"/features/subdaos/what"},next:{title:"How to act on behalf of a SubDAO",permalink:"/features/subdaos/act-on-behalf-of-subdao"}},c={},h=[];function d(e){const t={a:"a",h1:"h1",img:"img",p:"p",strong:"strong",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"how-to-create-a-subdao",children:"How to create a SubDAO"}),"\n",(0,n.jsx)(t.p,{children:"Creating a SubDAO is as easy as creating a regular DAO, with one extra step at\nthe end!"}),"\n",(0,n.jsxs)(t.p,{children:["To start, go to the DAO you want to create a SubDAO for, and navigate to\n",(0,n.jsx)(t.strong,{children:"SubDAOs > New SubDAO"}),"."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Create SubDAO button",src:a(808).Z+"",width:"2142",height:"1976"})}),"\n",(0,n.jsx)(t.p,{children:"You will be brought to an interface that looks identical to the interface for\ncreating a DAO, except the header should contain the name of the parent DAO."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"New SubDAO UI",src:a(4912).Z+"",width:"2154",height:"1644"})}),"\n",(0,n.jsxs)(t.p,{children:["Create the SubDAO like you would any other DAO. If you need help, check out\n",(0,n.jsx)(t.a,{href:"/quickstart/create-a-dao",children:"Create your first DAO"})," in the Quickstart section."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"SubDAO home",src:a(7061).Z+"",width:"2144",height:"1784"})}),"\n",(0,n.jsx)(t.p,{children:"Lastly, the parent DAO needs to recognize the SubDAO with a proposal. This\nsecurity step prevents anyone from creating a SubDAO of an organization and\npretending to be a part of it."}),"\n",(0,n.jsx)(t.p,{children:"If you are a member of the parent DAO, you can click on the banner at the top of\nthe SubDAO's home page to open the parent DAO's proposal creation page with the\naction prefilled."}),"\n",(0,n.jsx)(t.p,{children:"Clicking the alert banner at the top of the page will take you here:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Parent DAO proposal\ncreation",src:a(7088).Z+"",width:"2148",height:"1912"})}),"\n",(0,n.jsx)(t.p,{children:"Once the parent DAO passes and executes this proposal, the SubDAO will be\nrecognized!"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Recognized SubDAO home",src:a(6180).Z+"",width:"2146",height:"1626"})}),"\n",(0,n.jsx)(t.p,{children:"And it will show up in the parent DAO's SubDAOs tab!"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Parent DAO SubDAOs tab",src:a(7713).Z+"",width:"2158",height:"2286"})})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},4912:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/new-subdao-74125e033f5a2d5cb76009f14ec01b5c.png"},7088:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/prefilled-subdao-recognition-89bccaae7f815362b1c913d495b8bd69.png"},6180:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/subdao-home-recognized-46d6a818c93f8190e0e45049b04710f4.png"},7713:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/subdaos-tab-recognized-a36e689bfbf486b2e28e0475d6505383.png"},808:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/subdaos-tab-9ce5a8b8a961b7e5590293b45bba1bc8.png"},7061:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/unregistered-subdao-home-72abec6237d51eacec1e85b4a721ba25.png"},1151:(e,t,a)=>{a.d(t,{Z:()=>i,a:()=>r});var n=a(7294);const s={},o=n.createContext(s);function r(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9899549a.114edc53.js b/assets/js/9899549a.114edc53.js new file mode 100644 index 00000000..247d872f --- /dev/null +++ b/assets/js/9899549a.114edc53.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[435],{2003:(o,s,e)=>{e.r(s),e.d(s,{assets:()=>l,contentTitle:()=>r,default:()=>c,frontMatter:()=>t,metadata:()=>a,toc:()=>p});var n=e(5893),i=e(1151);const t={sidebar_position:2},r="Proposal submission",a={id:"configuration/proposal-submission",title:"Proposal submission",description:"A DAO's proposal submission configuration manages the rules around submitting a",source:"@site/docs/configuration/proposal-submission.md",sourceDirName:"configuration",slug:"/configuration/proposal-submission",permalink:"/configuration/proposal-submission",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/configuration/proposal-submission.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Voting",permalink:"/configuration/voting"},next:{title:"Staking",permalink:"/configuration/staking"}},l={},p=[{value:"How to update the proposal submission configuration",id:"how-to-update-the-proposal-submission-configuration",level:2},{value:"Parameters",id:"parameters",level:2},{value:"Proposal deposit",id:"proposal-deposit",level:3},{value:"Refunding proposal deposits",id:"refunding-proposal-deposits",level:4},{value:"Proposal submission policy",id:"proposal-submission-policy",level:3}];function d(o){const s={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",ul:"ul",...(0,i.a)(),...o.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.h1,{id:"proposal-submission",children:"Proposal submission"}),"\n",(0,n.jsx)(s.p,{children:"A DAO's proposal submission configuration manages the rules around submitting a\nproposal for voting."}),"\n",(0,n.jsx)(s.h2,{id:"how-to-update-the-proposal-submission-configuration",children:"How to update the proposal submission configuration"}),"\n",(0,n.jsxs)(s.p,{children:["To change the proposal submission configuration of a DAO, you must submit a\n",(0,n.jsx)(s.a,{href:"/features/proposals/what",children:"governance proposal"})," containing the ",(0,n.jsx)(s.code,{children:"Update Proposal Submission Config"})," action from the ",(0,n.jsx)(s.code,{children:"DAO Governance"})," category."]}),"\n",(0,n.jsxs)(s.p,{children:["If you have multiple choice proposals enabled, you will instead see two\ndifferent actions, one labeled ",(0,n.jsx)(s.code,{children:"Update Single Choice Proposal Submission Config"}),"\nand the other ",(0,n.jsx)(s.code,{children:"Update Multiple Choice Proposal Submission Config"}),". You may\nconfigure each proposal type (single and multiple choice) separately, though\nthey should probably be kept in sync so the voting experience is consistent."]}),"\n",(0,n.jsx)(s.h2,{id:"parameters",children:"Parameters"}),"\n",(0,n.jsx)(s.p,{children:"You can update all of these parameters with the action(s) mentioned above at any\ntime."}),"\n",(0,n.jsx)(s.h3,{id:"proposal-deposit",children:"Proposal deposit"}),"\n",(0,n.jsx)(s.p,{children:"This is a required deposit someone must put down to create a proposal. This can\nbe the DAO's governance token, if it exists, or any other token on the chain. By\ndefault, this is disabled."}),"\n",(0,n.jsx)(s.h4,{id:"refunding-proposal-deposits",children:"Refunding proposal deposits"}),"\n",(0,n.jsx)(s.p,{children:"There are three ways to handle proposal deposits:"}),"\n",(0,n.jsxs)(s.ol,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"Always"})," refund proposal deposits, regardless of whether the proposal passes\nor fails."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"Only passed proposals"})," refund proposal deposits."]}),"\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.code,{children:"Never"})," refund proposal deposits."]}),"\n"]}),"\n",(0,n.jsx)(s.admonition,{type:"tip",children:(0,n.jsx)(s.p,{children:"You may want to enable this if you are worried about spam."})}),"\n",(0,n.jsx)(s.h3,{id:"proposal-submission-policy",children:"Proposal submission policy"}),"\n",(0,n.jsx)(s.p,{children:"This determines who is allowed to submit proposals to your DAO. The options are:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Only members"}),"\n",(0,n.jsx)(s.li,{children:"Anyone"}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["It defaults to ",(0,n.jsx)(s.code,{children:"Only members"}),"."]})]})}function c(o={}){const{wrapper:s}={...(0,i.a)(),...o.components};return s?(0,n.jsx)(s,{...o,children:(0,n.jsx)(d,{...o})}):d(o)}},1151:(o,s,e)=>{e.d(s,{Z:()=>a,a:()=>r});var n=e(7294);const i={},t=n.createContext(i);function r(o){const s=n.useContext(t);return n.useMemo((function(){return"function"==typeof o?o(s):{...s,...o}}),[s,o])}function a(o){let s;return s=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:r(o.components),n.createElement(t.Provider,{value:s},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/9899549a.d882d2c8.js b/assets/js/9899549a.d882d2c8.js deleted file mode 100644 index 509c7d82..00000000 --- a/assets/js/9899549a.d882d2c8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[435],{2003:(o,e,s)=>{s.r(e),s.d(e,{assets:()=>l,contentTitle:()=>t,default:()=>c,frontMatter:()=>r,metadata:()=>a,toc:()=>p});var i=s(5893),n=s(1151);const r={sidebar_position:2},t="Proposal submission",a={id:"configuration/proposal-submission",title:"Proposal submission",description:"Proposal submission parameters are initially set when you create a DAO. Of",source:"@site/docs/configuration/proposal-submission.md",sourceDirName:"configuration",slug:"/configuration/proposal-submission",permalink:"/configuration/proposal-submission",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/configuration/proposal-submission.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Voting",permalink:"/configuration/voting"},next:{title:"Staking",permalink:"/configuration/staking"}},l={},p=[{value:"Proposal deposit",id:"proposal-deposit",level:2},{value:"Refunding proposal deposits",id:"refunding-proposal-deposits",level:3},{value:"Proposal submission policy",id:"proposal-submission-policy",level:2}];function d(o){const e={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",ul:"ul",...(0,n.a)(),...o.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"proposal-submission",children:"Proposal submission"}),"\n",(0,i.jsxs)(e.p,{children:["Proposal submission parameters are initially set when you create a DAO. Of\ncourse you can always modify them later with a ",(0,i.jsx)(e.a,{href:"/definitions/proposals",children:"governance\nproposal"})," containing the ",(0,i.jsx)(e.code,{children:"Update Proposal Submission Config"})," action from the ",(0,i.jsx)(e.code,{children:"DAO Governance"})," category."]}),"\n",(0,i.jsxs)(e.p,{children:["If you have multiple choice proposals enabled, you will instead see two\ndifferent actions, one labeled ",(0,i.jsx)(e.code,{children:"Update Single Choice Proposal Submission Config"}),"\nand the other labeled ",(0,i.jsx)(e.code,{children:"Update Multiple Choice Proposal Submission Config"}),"."]}),"\n",(0,i.jsx)(e.p,{children:"The various parameters are described below."}),"\n",(0,i.jsx)(e.h2,{id:"proposal-deposit",children:"Proposal deposit"}),"\n",(0,i.jsx)(e.p,{children:"This is a required deposit someone must put down to create a proposal. This can\nbe the DAO's governance token, if it exists, or any other token on the chain. By\ndefault, this is disabled."}),"\n",(0,i.jsx)(e.h3,{id:"refunding-proposal-deposits",children:"Refunding proposal deposits"}),"\n",(0,i.jsx)(e.p,{children:"There are three ways to handle proposal deposits:"}),"\n",(0,i.jsxs)(e.ol,{children:["\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Always"})," refund proposal deposits, regardless of whether the proposal passes\nor fails."]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Only passed proposals"})," refund proposal deposits."]}),"\n",(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.code,{children:"Never"})," refund proposal deposits."]}),"\n"]}),"\n",(0,i.jsx)(e.admonition,{type:"tip",children:(0,i.jsx)(e.p,{children:"You may want to enable this if you are worried about spam."})}),"\n",(0,i.jsx)(e.h2,{id:"proposal-submission-policy",children:"Proposal submission policy"}),"\n",(0,i.jsx)(e.p,{children:"This determines who is allowed to submit proposals to your DAO. The options are:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"Only members"}),"\n",(0,i.jsx)(e.li,{children:"Anyone"}),"\n"]}),"\n",(0,i.jsxs)(e.p,{children:["It defaults to ",(0,i.jsx)(e.code,{children:"Only members"}),"."]})]})}function c(o={}){const{wrapper:e}={...(0,n.a)(),...o.components};return e?(0,i.jsx)(e,{...o,children:(0,i.jsx)(d,{...o})}):d(o)}},1151:(o,e,s)=>{s.d(e,{Z:()=>a,a:()=>t});var i=s(7294);const n={},r=i.createContext(n);function t(o){const e=i.useContext(r);return i.useMemo((function(){return"function"==typeof o?o(e):{...e,...o}}),[e,o])}function a(o){let e;return e=o.disableParentContext?"function"==typeof o.components?o.components(n):o.components||n:t(o.components),i.createElement(r.Provider,{value:e},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/98ff6434.e42c1710.js b/assets/js/98ff6434.7de3e147.js similarity index 94% rename from assets/js/98ff6434.e42c1710.js rename to assets/js/98ff6434.7de3e147.js index 2c532535..3bb50cba 100644 --- a/assets/js/98ff6434.e42c1710.js +++ b/assets/js/98ff6434.7de3e147.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[490],{3721:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var n=o(5893),s=o(1151);const i={sidebar_position:5},a="Voting",r={id:"quickstart/voting",title:"Voting",description:"Now that everyone has joined the DAO and a [proposal has been",source:"@site/docs/quickstart/voting.md",sourceDirName:"quickstart",slug:"/quickstart/voting",permalink:"/quickstart/voting",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/voting.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Create your first proposal",permalink:"/quickstart/create-a-proposal"},next:{title:"Congratulations!",permalink:"/quickstart/congratulations"}},c={},l=[{value:"Vote yes!",id:"vote-yes",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"voting",children:"Voting"}),"\n",(0,n.jsxs)(t.p,{children:["Now that everyone has joined the DAO and a ",(0,n.jsx)(t.a,{href:"/quickstart/create-a-proposal",children:"proposal has been\nmade"}),", all current members of the DAO can vote on\nit!"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Proposal vote",src:o(4218).Z+"",width:"2168",height:"1674"})}),"\n",(0,n.jsx)(t.h3,{id:"vote-yes",children:"Vote yes!"}),"\n",(0,n.jsxs)(t.p,{children:["Go ahead and vote ",(0,n.jsx)(t.em,{children:"yes"})," on your new proposal and approve the transaction in your\nwallet. Once your fellow DAO members vote as well, the proposal will pass or\nfail depending on what everyone thinks of the book!"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Proposal passed",src:o(6837).Z+"",width:"2164",height:"1788"})}),"\n",(0,n.jsxs)(t.p,{children:["Since the proposal passed, you will see a button that says ",(0,n.jsx)(t.code,{children:"Execute"}),". A few\nthings happen when a proposal is executed:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Any software instructions (i.e. Actions) within the proposal are executed on\nthe blockchain, taking immediate effect."}),"\n",(0,n.jsx)(t.li,{children:"If a proposal deposit was required to submit the proposal, and the DAO is\nconfigured to return proposal deposits on passed proposals, the proposal\ndeposit will be refunded to the proposer."}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Since this DAO has no proposal deposit, and this proposal contains no actions,\nexecuting does nothing but change the status of the proposal to ",(0,n.jsx)(t.code,{children:"Executed"}),".\nHowever, it is a good habit to execute proposals since it signifies that the\nproposal process has completed, and it will sometimes be necessary."]}),"\n",(0,n.jsxs)(t.admonition,{title:"Revoting and early completion",type:"tip",children:[(0,n.jsxs)(t.p,{children:["You can configure a DAO to allow revoting on proposals, which means that a voter\ncan change their vote all the way up to the end of the voting period. If\nrevoting is enabled (which can be done on creation or afterwards with the\n",(0,n.jsx)(t.code,{children:"Update Voting Config"})," action), the proposal will ",(0,n.jsx)(t.em,{children:"not"})," complete early since the\noutcome is not yet determined."]}),(0,n.jsxs)(t.p,{children:["By default, revoting is disabled, which means proposals will pass or fail the\nmoment enough voters have voted to guarantee a specific outcome. At this point,\nthe proposal will be executable (when passed) or closeable (when failed).\n",(0,n.jsx)(t.strong,{children:"Voters who did not get the chance to vote before the proposal outcome was\ndetermined may still vote until the end of the voting period to ensure that all\nmembers can express their preferences."})]})]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},6837:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/proposal-vote-done-9a75aeb32feffc7e131ce0240e898e5f.png"},4218:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/proposal-vote-40944becf447081947e0abce7aa1e4ae.png"},1151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var n=o(7294);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[490],{3721:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var n=o(5893),s=o(1151);const i={sidebar_position:5},a="Voting",r={id:"quickstart/voting",title:"Voting",description:"Now that everyone has joined the DAO and a [proposal has been",source:"@site/docs/quickstart/voting.md",sourceDirName:"quickstart",slug:"/quickstart/voting",permalink:"/quickstart/voting",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/voting.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Create your first proposal",permalink:"/quickstart/create-a-proposal"},next:{title:"Congratulations!",permalink:"/quickstart/congratulations"}},c={},l=[{value:"Vote yes!",id:"vote-yes",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h3:"h3",img:"img",li:"li",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"voting",children:"Voting"}),"\n",(0,n.jsxs)(t.p,{children:["Now that everyone has joined the DAO and a ",(0,n.jsx)(t.a,{href:"/quickstart/create-a-proposal",children:"proposal has been\nmade"}),", all current members of the DAO can vote on\nit!"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Proposal vote",src:o(7354).Z+"",width:"2168",height:"1674"})}),"\n",(0,n.jsx)(t.h3,{id:"vote-yes",children:"Vote yes!"}),"\n",(0,n.jsxs)(t.p,{children:["Go ahead and vote ",(0,n.jsx)(t.em,{children:"yes"})," on your new proposal and approve the transaction in your\nwallet. Once your fellow DAO members vote as well, the proposal will pass or\nfail depending on what everyone thinks of the book!"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"Proposal passed",src:o(6023).Z+"",width:"2164",height:"1788"})}),"\n",(0,n.jsxs)(t.p,{children:["Since the proposal passed, you will see a button that says ",(0,n.jsx)(t.code,{children:"Execute"}),". A few\nthings happen when a proposal is executed:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Any software instructions (i.e. Actions) within the proposal are executed on\nthe blockchain, taking immediate effect."}),"\n",(0,n.jsx)(t.li,{children:"If a proposal deposit was required to submit the proposal, and the DAO is\nconfigured to return proposal deposits on passed proposals, the proposal\ndeposit will be refunded to the proposer."}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Since this DAO has no proposal deposit, and this proposal contains no actions,\nexecuting does nothing but change the status of the proposal to ",(0,n.jsx)(t.code,{children:"Executed"}),".\nHowever, it is a good habit to execute proposals since it signifies that the\nproposal process has completed, and it will sometimes be necessary."]}),"\n",(0,n.jsxs)(t.admonition,{title:"Revoting and early completion",type:"tip",children:[(0,n.jsxs)(t.p,{children:["You can configure a DAO to allow revoting on proposals, which means that a voter\ncan change their vote all the way up to the end of the voting period. If\nrevoting is enabled (which can be done on creation or afterwards with the\n",(0,n.jsx)(t.code,{children:"Update Voting Config"})," action), the proposal will ",(0,n.jsx)(t.em,{children:"not"})," complete early since the\noutcome is not yet determined."]}),(0,n.jsxs)(t.p,{children:["By default, revoting is disabled, which means proposals will pass or fail the\nmoment enough voters have voted to guarantee a specific outcome. At this point,\nthe proposal will be executable (when passed) or closeable (when failed).\n",(0,n.jsx)(t.strong,{children:"Voters who did not get the chance to vote before the proposal outcome was\ndetermined may still vote until the end of the voting period to ensure that all\nmembers can express their preferences."})]})]})]})}function d(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},6023:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/proposal-vote-done-9a75aeb32feffc7e131ce0240e898e5f.png"},7354:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/proposal-vote-40944becf447081947e0abce7aa1e4ae.png"},1151:(e,t,o)=>{o.d(t,{Z:()=>r,a:()=>a});var n=o(7294);const s={},i=n.createContext(s);function a(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/991c5e66.086e6ac1.js b/assets/js/991c5e66.086e6ac1.js deleted file mode 100644 index f41f822b..00000000 --- a/assets/js/991c5e66.086e6ac1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[696],{7115:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(5893),o=t(1151);const s={sidebar_position:3},a="Staking",r={id:"configuration/staking",title:"Staking",description:"Token-based and NFT-based DAOs can configure the parameters of their staking",source:"@site/docs/configuration/staking.md",sourceDirName:"configuration",slug:"/configuration/staking",permalink:"/configuration/staking",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/configuration/staking.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Proposal submission",permalink:"/configuration/proposal-submission"},next:{title:"Diversify your DAO's treasury",permalink:"/recipes/diversify-treasury"}},c={},d=[{value:"Unstaking duration",id:"unstaking-duration",level:2}];function u(n){const e={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",p:"p",...(0,o.a)(),...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.h1,{id:"staking",children:"Staking"}),"\n",(0,i.jsx)(e.p,{children:"Token-based and NFT-based DAOs can configure the parameters of their staking\nprocess."}),"\n",(0,i.jsxs)(e.p,{children:["Staking parameters are initially set when you create a DAO. Of course you can\nalways modify them later with a ",(0,i.jsx)(e.a,{href:"/definitions/proposals",children:"governance proposal"}),"\ncontaining the ",(0,i.jsx)(e.code,{children:"Update Staking Config"})," action from the ",(0,i.jsx)(e.code,{children:"DAO Governance"}),"\ncategory."]}),"\n",(0,i.jsx)(e.h2,{id:"unstaking-duration",children:"Unstaking duration"}),"\n",(0,i.jsxs)(e.p,{children:["After someone stakes tokens in a DAO, those tokens cannot be immediately\nunstaked. The unstaking duration is how long they remain locked after deciding\nto unstake. During the unstaking process, they do ",(0,i.jsx)(e.em,{children:"not"})," count towards your\nvoting power, and you cannot transfer them."]}),"\n",(0,i.jsx)(e.p,{children:"This adds a time cost to staking and ensures a greater level of participatory\ncommitment from members."})]})}function l(n={}){const{wrapper:e}={...(0,o.a)(),...n.components};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(u,{...n})}):u(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>r,a:()=>a});var i=t(7294);const o={},s=i.createContext(o);function a(n){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:a(n.components),i.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/991c5e66.599e68af.js b/assets/js/991c5e66.599e68af.js new file mode 100644 index 00000000..1250dc7f --- /dev/null +++ b/assets/js/991c5e66.599e68af.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[696],{7115:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>g,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var o=t(5893),i=t(1151);const s={sidebar_position:3},a="Staking",r={id:"configuration/staking",title:"Staking",description:"A DAO's staking configuration determines the rules of the token staking process.",source:"@site/docs/configuration/staking.md",sourceDirName:"configuration",slug:"/configuration/staking",permalink:"/configuration/staking",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/configuration/staking.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Proposal submission",permalink:"/configuration/proposal-submission"},next:{title:"V1 -> V2",permalink:"/upgrading/v2"}},c={},d=[{value:"How to update the staking configuration",id:"how-to-update-the-staking-configuration",level:2},{value:"Parameters",id:"parameters",level:2},{value:"Unstaking duration",id:"unstaking-duration",level:3}];function u(n){const e={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",p:"p",...(0,i.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h1,{id:"staking",children:"Staking"}),"\n",(0,o.jsx)(e.p,{children:"A DAO's staking configuration determines the rules of the token staking process.\nOnly token-based and NFT-based DAOs have a staking process to configure.\nMember-based DAOs do not have staking because they do not use tokens."}),"\n",(0,o.jsx)(e.h2,{id:"how-to-update-the-staking-configuration",children:"How to update the staking configuration"}),"\n",(0,o.jsxs)(e.p,{children:["To change the staking configuration of a DAO, you must submit a ",(0,o.jsx)(e.a,{href:"/features/proposals/what",children:"governance\nproposal"})," containing the ",(0,o.jsx)(e.code,{children:"Update Staking Config"}),"\naction from the ",(0,o.jsx)(e.code,{children:"DAO Governance"})," category."]}),"\n",(0,o.jsx)(e.h2,{id:"parameters",children:"Parameters"}),"\n",(0,o.jsx)(e.h3,{id:"unstaking-duration",children:"Unstaking duration"}),"\n",(0,o.jsxs)(e.p,{children:["After someone stakes tokens in a DAO, those tokens cannot be immediately\nunstaked. The unstaking duration is how long they remain locked after deciding\nto unstake. During the unstaking process, they do ",(0,o.jsx)(e.em,{children:"not"})," count towards your\nvoting power, and you cannot transfer them."]}),"\n",(0,o.jsx)(e.p,{children:"This adds a time cost to staking and ensures a greater level of participatory\ncommitment from members."})]})}function g(n={}){const{wrapper:e}={...(0,i.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(u,{...n})}):u(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>r,a:()=>a});var o=t(7294);const i={},s=o.createContext(i);function a(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function r(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/ba28bcc9.952efccd.js b/assets/js/ba28bcc9.952efccd.js deleted file mode 100644 index 7de0cdf6..00000000 --- a/assets/js/ba28bcc9.952efccd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[738],{9846:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=t(5893),i=t(1151);const s={sidebar_position:2},o="Joining and leaving a member-based DAO",r={id:"quickstart/joining-leaving-member-based-dao",title:"Joining and leaving a member-based DAO",description:"As explained in [_What's a",source:"@site/docs/quickstart/joining-leaving-member-based-dao.md",sourceDirName:"quickstart",slug:"/quickstart/joining-leaving-member-based-dao",permalink:"/quickstart/joining-leaving-member-based-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/joining-leaving-member-based-dao.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Create your first DAO",permalink:"/quickstart/create-a-dao"},next:{title:"Joining and leaving a token-based DAO",permalink:"/quickstart/joining-leaving-token-based-dao"}},d={},c=[{value:"Joining (adding)",id:"joining-adding",level:2},{value:"Leaving (removing)",id:"leaving-removing",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"joining-and-leaving-a-member-based-dao",children:"Joining and leaving a member-based DAO"}),"\n",(0,a.jsxs)(n.p,{children:["As explained in ",(0,a.jsx)(n.a,{href:"../introduction/whats-a-dao#members-multisig-replacement",children:(0,a.jsx)(n.em,{children:"What's a\nDAO?"})}),", member-based\nDAOs have static membership, meaning the DAO must pass a proposal to add or\nremove members. Members cannot independently decide to join or leave a\nmember-based DAO."]}),"\n",(0,a.jsxs)(n.p,{children:["You may want to read the ",(0,a.jsx)(n.a,{href:"/quickstart/create-a-proposal",children:"proposal creation\nguide"})," to understand how proposals work in DAOs\nbefore proceeding."]}),"\n",(0,a.jsx)(n.h2,{id:"joining-adding",children:"Joining (adding)"}),"\n",(0,a.jsxs)(n.p,{children:["To add a new member to a member-based DAO, an existing member must submit a\nproposal to do so. To begin, starting from your DAO's page, navigate to\n",(0,a.jsx)(n.strong,{children:"Proposals > New Proposal"}),"."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Create proposal button",src:t(3530).Z+"",width:"2164",height:"1988"})}),"\n",(0,a.jsxs)(n.p,{children:["Enter the details of your new proposal, and then click the ",(0,a.jsx)(n.code,{children:"Add an action"}),"\nbutton."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Add an action button",src:t(1895).Z+"",width:"2154",height:"1364"})}),"\n",(0,a.jsxs)(n.p,{children:["In the action category selection modal, select the ",(0,a.jsx)(n.code,{children:"DAO Governance"})," category."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"DAO Governance category",src:t(8266).Z+"",width:"962",height:"1218"})}),"\n",(0,a.jsxs)(n.p,{children:["Then, choose the ",(0,a.jsx)(n.code,{children:"Manage Members"})," action."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Manage Members action",src:t(7892).Z+"",width:"2098",height:"1604"})}),"\n",(0,a.jsx)(n.p,{children:"From here, you can add new members, update existing members' voting powers, and\nremove existing members. In this example, we'll just add a new member."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Add Meow",src:t(8012).Z+"",width:"2088",height:"800"})}),"\n",(0,a.jsx)(n.admonition,{title:"Voting weight",type:"tip",children:(0,a.jsx)(n.p,{children:"For Meow's voting weight, we can choose any whole number greater than zero.\nSince the DAO was created with a single member with a voting weight of 1, we\nwill choose 1 for Meow so that the members have equal voting power. If we\ninstead gave Meow a voting weight of 3, they would have 75% of the DAO's total\nvoting power, and the current member would only have 25%."})}),"\n",(0,a.jsx)(n.p,{children:"All that's left to do is publish, vote on, and then execute the proposal."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Execute proposal",src:t(5579).Z+"",width:"2174",height:"2388"})}),"\n",(0,a.jsx)(n.p,{children:"Once passed, executing the proposal will activate the software instructions\ncontained in the proposal, which in this case adds Meow to the DAO."}),"\n",(0,a.jsx)(n.p,{children:"Now that it has been executed, Meow is in the DAO!"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"DAO's members tab with Meow",src:t(5147).Z+"",width:"2170",height:"2254"})}),"\n",(0,a.jsx)(n.h2,{id:"leaving-removing",children:"Leaving (removing)"}),"\n",(0,a.jsxs)(n.p,{children:["To remove a member from a member-based DAO, the process is identical to adding a\nnew member. However, instead of adding an address under the ",(0,a.jsx)(n.code,{children:"Members to add/update"})," heading, we will add an address under the ",(0,a.jsx)(n.code,{children:"Members to remove"}),"\nheading."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Remove Meow",src:t(6202).Z+"",width:"2092",height:"794"})}),"\n",(0,a.jsx)(n.p,{children:"Passing and executing this proposal will kick Meow out of the DAO, and they will\nno longer be able to vote on future proposals."}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsx)(n.p,{children:"If a proposal was created when Meow was a member of the DAO, they will still be\nable to vote on it. Membership changes only take effect for future proposals."})})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},8266:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-action-modal-954a132ce1bafee613c3b1e5ac02f857.png"},1895:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-add-action-bd344cccdd6e02aec9467f5432f30bcc.png"},8012:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-add-meow-39fb590cdda802014c0288a4d01b51f2.png"},5147:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-done-59b9050487025357b9a8ca3498be6ab4.png"},7892:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-manage-members-1d1eb18e212d2f89b22934eb837e11cd.png"},5579:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-proposal-execute-8f394f77e4181d25a3fcd198a26591b1.png"},3530:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/create-proposal-button-e36a68c4d98d4ffb7c60b21446b6549b.png"},6202:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/remove-member-action-17cbd73b6034f644ed23d48ce38e2faa.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>o});var a=t(7294);const i={},s=a.createContext(i);function o(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ba28bcc9.ee8c07e4.js b/assets/js/ba28bcc9.ee8c07e4.js new file mode 100644 index 00000000..6d91148d --- /dev/null +++ b/assets/js/ba28bcc9.ee8c07e4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[738],{9846:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>s,metadata:()=>r,toc:()=>c});var a=t(5893),i=t(1151);const s={sidebar_position:2},o="Joining and leaving a member-based DAO",r={id:"quickstart/joining-leaving-member-based-dao",title:"Joining and leaving a member-based DAO",description:"As explained in [_What's a",source:"@site/docs/quickstart/joining-leaving-member-based-dao.md",sourceDirName:"quickstart",slug:"/quickstart/joining-leaving-member-based-dao",permalink:"/quickstart/joining-leaving-member-based-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/joining-leaving-member-based-dao.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Create your first DAO",permalink:"/quickstart/create-a-dao"},next:{title:"Joining and leaving a token-based DAO",permalink:"/quickstart/joining-leaving-token-based-dao"}},d={},c=[{value:"Joining (adding)",id:"joining-adding",level:2},{value:"Leaving (removing)",id:"leaving-removing",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",img:"img",p:"p",strong:"strong",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"joining-and-leaving-a-member-based-dao",children:"Joining and leaving a member-based DAO"}),"\n",(0,a.jsxs)(n.p,{children:["As explained in ",(0,a.jsx)(n.a,{href:"../introduction/whats-a-dao#members-multisig-replacement",children:(0,a.jsx)(n.em,{children:"What's a\nDAO?"})}),", member-based\nDAOs have static membership, meaning the DAO must pass a proposal to add or\nremove members. Members cannot independently decide to join or leave a\nmember-based DAO."]}),"\n",(0,a.jsxs)(n.p,{children:["You may want to read the ",(0,a.jsx)(n.a,{href:"/quickstart/create-a-proposal",children:"proposal creation\nguide"})," to understand how proposals work in DAOs\nbefore proceeding."]}),"\n",(0,a.jsx)(n.h2,{id:"joining-adding",children:"Joining (adding)"}),"\n",(0,a.jsxs)(n.p,{children:["To add a new member to a member-based DAO, an existing member must submit a\nproposal to do so. To begin, starting from your DAO's page, navigate to\n",(0,a.jsx)(n.strong,{children:"Proposals > New Proposal"}),"."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Create proposal button",src:t(4841).Z+"",width:"2164",height:"1988"})}),"\n",(0,a.jsxs)(n.p,{children:["Enter the details of your new proposal, and then click the ",(0,a.jsx)(n.code,{children:"Add an action"}),"\nbutton."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Add an action button",src:t(634).Z+"",width:"2154",height:"1364"})}),"\n",(0,a.jsxs)(n.p,{children:["In the action category selection modal, select the ",(0,a.jsx)(n.code,{children:"DAO Governance"})," category."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"DAO Governance category",src:t(4455).Z+"",width:"962",height:"1218"})}),"\n",(0,a.jsxs)(n.p,{children:["Then, choose the ",(0,a.jsx)(n.code,{children:"Manage Members"})," action."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Manage Members action",src:t(4365).Z+"",width:"2098",height:"1604"})}),"\n",(0,a.jsx)(n.p,{children:"From here, you can add new members, update existing members' voting powers, and\nremove existing members. In this example, we'll just add a new member."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Add Meow",src:t(4483).Z+"",width:"2088",height:"800"})}),"\n",(0,a.jsx)(n.admonition,{title:"Voting weight",type:"tip",children:(0,a.jsx)(n.p,{children:"For Meow's voting weight, we can choose any whole number greater than zero.\nSince the DAO was created with a single member with a voting weight of 1, we\nwill choose 1 for Meow so that the members have equal voting power. If we\ninstead gave Meow a voting weight of 3, they would have 75% of the DAO's total\nvoting power, and the current member would only have 25%."})}),"\n",(0,a.jsx)(n.p,{children:"All that's left to do is publish, vote on, and then execute the proposal."}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Execute proposal",src:t(6597).Z+"",width:"2174",height:"2388"})}),"\n",(0,a.jsx)(n.p,{children:"Once passed, executing the proposal will activate the software instructions\ncontained in the proposal, which in this case adds Meow to the DAO."}),"\n",(0,a.jsx)(n.p,{children:"Now that it has been executed, Meow is in the DAO!"}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"DAO's members tab with Meow",src:t(1596).Z+"",width:"2170",height:"2254"})}),"\n",(0,a.jsx)(n.h2,{id:"leaving-removing",children:"Leaving (removing)"}),"\n",(0,a.jsxs)(n.p,{children:["To remove a member from a member-based DAO, the process is identical to adding a\nnew member. However, instead of adding an address under the ",(0,a.jsx)(n.code,{children:"Members to add/update"})," heading, we will add an address under the ",(0,a.jsx)(n.code,{children:"Members to remove"}),"\nheading."]}),"\n",(0,a.jsx)(n.p,{children:(0,a.jsx)(n.img,{alt:"Remove Meow",src:t(1466).Z+"",width:"2092",height:"794"})}),"\n",(0,a.jsx)(n.p,{children:"Passing and executing this proposal will kick Meow out of the DAO, and they will\nno longer be able to vote on future proposals."}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsx)(n.p,{children:"If a proposal was created when Meow was a member of the DAO, they will still be\nable to vote on it. Membership changes only take effect for future proposals."})})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},4455:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-action-modal-954a132ce1bafee613c3b1e5ac02f857.png"},634:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-add-action-bd344cccdd6e02aec9467f5432f30bcc.png"},4483:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-add-meow-39fb590cdda802014c0288a4d01b51f2.png"},1596:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-done-59b9050487025357b9a8ca3498be6ab4.png"},4365:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-manage-members-1d1eb18e212d2f89b22934eb837e11cd.png"},6597:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/add-member-proposal-execute-8f394f77e4181d25a3fcd198a26591b1.png"},4841:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/create-proposal-button-e36a68c4d98d4ffb7c60b21446b6549b.png"},1466:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/remove-member-action-17cbd73b6034f644ed23d48ce38e2faa.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>o});var a=t(7294);const i={},s=a.createContext(i);function o(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bc77d1c8.6129949d.js b/assets/js/bc77d1c8.6129949d.js deleted file mode 100644 index 04c923a4..00000000 --- a/assets/js/bc77d1c8.6129949d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[349],{3718:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var t=n(5893),i=n(1151);const s={sidebar_position:1},a="Voting",r={id:"configuration/voting",title:"Voting",description:"Voting parameters are initially set when you create a DAO. Of course you can",source:"@site/docs/configuration/voting.md",sourceDirName:"configuration",slug:"/configuration/voting",permalink:"/configuration/voting",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/configuration/voting.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"How to act on behalf of a SubDAO",permalink:"/definitions/subdaos/act-on-behalf-of-subdao"},next:{title:"Proposal submission",permalink:"/configuration/proposal-submission"}},l={},d=[{value:"Passing threshold and quorum",id:"passing-threshold-and-quorum",level:2},{value:"Multiple choice proposals",id:"multiple-choice-proposals",level:3},{value:"With quorum enabled",id:"with-quorum-enabled",level:3},{value:"With quorum disabled",id:"with-quorum-disabled",level:3},{value:"Only members execute",id:"only-members-execute",level:2},{value:"Voting duration",id:"voting-duration",level:2},{value:"Allow revoting",id:"allow-revoting",level:2}];function h(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",p:"p",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"voting",children:"Voting"}),"\n",(0,t.jsxs)(o.p,{children:["Voting parameters are initially set when you create a DAO. Of course you can\nalways modify them later with a ",(0,t.jsx)(o.a,{href:"/definitions/proposals",children:"governance proposal"}),"\ncontaining the ",(0,t.jsx)(o.code,{children:"Update Voting Config"})," action from the ",(0,t.jsx)(o.code,{children:"DAO Governance"})," category."]}),"\n",(0,t.jsxs)(o.p,{children:["If you have multiple choice proposals enabled, you will instead see two\ndifferent actions, one labeled ",(0,t.jsx)(o.code,{children:"Update Single Choice Voting Config"})," and the\nother labeled ",(0,t.jsx)(o.code,{children:"Update Multiple Choice Voting Config"}),"."]}),"\n",(0,t.jsx)(o.p,{children:"The various parameters are described below."}),"\n",(0,t.jsx)(o.h2,{id:"passing-threshold-and-quorum",children:"Passing threshold and quorum"}),"\n",(0,t.jsxs)(o.p,{children:["The ",(0,t.jsx)(o.strong,{children:(0,t.jsx)(o.em,{children:"passing threshold"})})," is the ",(0,t.jsx)(o.code,{children:"Yes"})," threshold needed to pass a proposal. It\ndefaults to majority (i.e. any votes above 50%). It sounds simple, but it gets\ntrick very fast because it works differently depending on whether or not the\nquorum is enabled."]}),"\n",(0,t.jsxs)(o.p,{children:["The ",(0,t.jsx)(o.strong,{children:(0,t.jsx)(o.em,{children:"quorum"})})," is the proportion of all voting power that must vote for a\nproposal to be ",(0,t.jsx)(o.strong,{children:"passable"}),". It defaults to 20%. For single choice proposals,\nquorum can be disabled."]}),"\n",(0,t.jsx)(o.h3,{id:"multiple-choice-proposals",children:"Multiple choice proposals"}),"\n",(0,t.jsx)(o.p,{children:"Multiple choice proposals use quorum in the same way, but they do not have a\npassing threshold. Instead, as long as the quorum is met, whichever option\nreceived more votes (i.e. the plurality of votes) wins. You cannot disable\nquorum for multiple choice proposals."}),"\n",(0,t.jsx)(o.p,{children:"Read on to understand how passing threshold and quorum affect each other for\nsingle choice proposals."}),"\n",(0,t.jsx)(o.h3,{id:"with-quorum-enabled",children:"With quorum enabled"}),"\n",(0,t.jsxs)(o.p,{children:["If your DAO has a quorum set, the passing threshold is only calculated among\n",(0,t.jsx)(o.strong,{children:"those who voted"}),"."]}),"\n",(0,t.jsxs)(o.p,{children:["For example, with a quorum of 40% and a passing threshold of 75%, a proposal\ncould pass with only 30% of the total voting power having voted ",(0,t.jsx)(o.code,{children:"Yes"})," if exactly\n40% of voters vote. Imagine: 40% of the total voting power votes on the\nproposal. Quorum is met. Of those who voted, 75% vote ",(0,t.jsx)(o.code,{children:"Yes"}),". The rest of the\nvotes are split between ",(0,t.jsx)(o.code,{children:"Abstain"})," and ",(0,t.jsx)(o.code,{children:"No"}),". ",(0,t.jsx)(o.code,{children:"Yes"})," will have won the vote with a\n75% threshold of quorum, even though only 30% of the ",(0,t.jsx)(o.em,{children:"total"})," voting power voted\n",(0,t.jsx)(o.code,{children:"Yes"}),"."]}),"\n",(0,t.jsxs)(o.p,{children:["Setting quorum to 0% means that any single voter can pass a proposal by\nthemself. ",(0,t.jsx)(o.em,{children:"This is different from disabling quorum."})]}),"\n",(0,t.jsx)(o.admonition,{type:"tip",children:(0,t.jsx)(o.p,{children:"Enabling a quorum helps when there is a risk of low participation in a DAO.\nLarge token-based DAOs likely face this risk as membership is fluid and\nattention is finite. Setting a quorum low enough ensures that the DAO cannot be\nlocked due to lack of sufficient participation. However, setting a quorum too\nlow can lead to proposals passing that do not represent enough member's\npreferences (if not enough people are paying attention)."})}),"\n",(0,t.jsx)(o.h3,{id:"with-quorum-disabled",children:"With quorum disabled"}),"\n",(0,t.jsxs)(o.p,{children:["If your DAO has no quorum set, the passing threshold is calculated among ",(0,t.jsx)(o.strong,{children:"all\npossible voters"}),". This is considered an absolute threshold."]}),"\n",(0,t.jsxs)(o.p,{children:["For example, with a passing threshold of 67%, a proposal will pass if 67% of the\ntotal voting power voted ",(0,t.jsx)(o.code,{children:"Yes"}),"."]}),"\n",(0,t.jsx)(o.admonition,{type:"caution",children:(0,t.jsx)(o.p,{children:"Threshold and quorum can be very confusing. Please be careful and check your\nunderstanding with others before making any changes."})}),"\n",(0,t.jsx)(o.h2,{id:"only-members-execute",children:"Only members execute"}),"\n",(0,t.jsx)(o.p,{children:"If enabled, only members may execute passed proposals. If disabled, anyone can.\nThis defaults to enabled."}),"\n",(0,t.jsx)(o.h2,{id:"voting-duration",children:"Voting duration"}),"\n",(0,t.jsx)(o.p,{children:"This is the maximum time proposals remain open for voting."}),"\n",(0,t.jsx)(o.h2,{id:"allow-revoting",children:"Allow revoting"}),"\n",(0,t.jsx)(o.p,{children:"If enabled, votes can be changed before the voting duration ends. This defaults\nto disabled."}),"\n",(0,t.jsxs)(o.admonition,{type:"tip",children:[(0,t.jsx)(o.p,{children:"When this is enabled, proposals always remain open for their entire duration.\nThis is because the proposal outcome cannot be determined if votes can be\nchanged."}),(0,t.jsx)(o.p,{children:"When this is disabled, proposals will pass or fail early if sufficient voters\ncast votes to determine an outcome."})]})]})}function c(e={}){const{wrapper:o}={...(0,i.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},1151:(e,o,n)=>{n.d(o,{Z:()=>r,a:()=>a});var t=n(7294);const i={},s=t.createContext(i);function a(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/bc77d1c8.99a2f5c1.js b/assets/js/bc77d1c8.99a2f5c1.js new file mode 100644 index 00000000..e353ecaf --- /dev/null +++ b/assets/js/bc77d1c8.99a2f5c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[349],{3718:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var t=n(5893),i=n(1151);const s={sidebar_position:1},a="Voting",r={id:"configuration/voting",title:"Voting",description:"A DAO's voting configuration determines the rules of the voting process. Things",source:"@site/docs/configuration/voting.md",sourceDirName:"configuration",slug:"/configuration/voting",permalink:"/configuration/voting",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/configuration/voting.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"How to act on behalf of a SubDAO",permalink:"/features/subdaos/act-on-behalf-of-subdao"},next:{title:"Proposal submission",permalink:"/configuration/proposal-submission"}},l={},d=[{value:"How to update the voting configuration",id:"how-to-update-the-voting-configuration",level:2},{value:"Parameters",id:"parameters",level:2},{value:"Passing threshold and quorum",id:"passing-threshold-and-quorum",level:3},{value:"Multiple choice proposals",id:"multiple-choice-proposals",level:4},{value:"With quorum enabled",id:"with-quorum-enabled",level:4},{value:"With quorum disabled",id:"with-quorum-disabled",level:4},{value:"Only members execute",id:"only-members-execute",level:3},{value:"Voting duration",id:"voting-duration",level:3},{value:"Allow revoting",id:"allow-revoting",level:3}];function h(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",p:"p",strong:"strong",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.h1,{id:"voting",children:"Voting"}),"\n",(0,t.jsx)(o.p,{children:"A DAO's voting configuration determines the rules of the voting process. Things\nlike the passing threshold and voting duration."}),"\n",(0,t.jsx)(o.h2,{id:"how-to-update-the-voting-configuration",children:"How to update the voting configuration"}),"\n",(0,t.jsxs)(o.p,{children:["To change the voting configuration of a DAO, you must submit a ",(0,t.jsx)(o.a,{href:"/features/proposals/what",children:"governance\nproposal"})," containing the ",(0,t.jsx)(o.code,{children:"Update Voting Config"})," action\nfrom the ",(0,t.jsx)(o.code,{children:"DAO Governance"})," category."]}),"\n",(0,t.jsxs)(o.p,{children:["If you have multiple choice proposals enabled, you will instead see two\ndifferent actions, one labeled ",(0,t.jsx)(o.code,{children:"Update Single Choice Voting Config"})," and the\nother ",(0,t.jsx)(o.code,{children:"Update Multiple Choice Voting Config"}),". You may configure each proposal\ntype (single and multiple choice) separately, though they should probably be\nkept in sync so the voting experience is consistent."]}),"\n",(0,t.jsx)(o.h2,{id:"parameters",children:"Parameters"}),"\n",(0,t.jsx)(o.p,{children:"You can update all of these parameters with the action(s) mentioned above at any\ntime."}),"\n",(0,t.jsx)(o.h3,{id:"passing-threshold-and-quorum",children:"Passing threshold and quorum"}),"\n",(0,t.jsxs)(o.p,{children:["The ",(0,t.jsx)(o.strong,{children:(0,t.jsx)(o.em,{children:"passing threshold"})})," is the ",(0,t.jsx)(o.code,{children:"Yes"})," threshold needed to pass a proposal. It\ndefaults to majority (i.e. any votes above 50%). It sounds simple, but it gets\ntrick very fast because it works differently depending on whether or not the\nquorum is enabled."]}),"\n",(0,t.jsxs)(o.p,{children:["The ",(0,t.jsx)(o.strong,{children:(0,t.jsx)(o.em,{children:"quorum"})})," is the proportion of all voting power that must vote for a\nproposal to be ",(0,t.jsx)(o.strong,{children:"passable"}),". It defaults to 20%. For single choice proposals,\nquorum can be disabled."]}),"\n",(0,t.jsx)(o.h4,{id:"multiple-choice-proposals",children:"Multiple choice proposals"}),"\n",(0,t.jsx)(o.p,{children:"Multiple choice proposals use quorum in the same way, but they do not have a\npassing threshold. Instead, as long as the quorum is met, whichever option\nreceived more votes (i.e. the plurality of votes) wins. You cannot disable\nquorum for multiple choice proposals."}),"\n",(0,t.jsx)(o.p,{children:"Read on to understand how passing threshold and quorum affect each other for\nsingle choice proposals."}),"\n",(0,t.jsx)(o.h4,{id:"with-quorum-enabled",children:"With quorum enabled"}),"\n",(0,t.jsxs)(o.p,{children:["If your DAO has a quorum set, the passing threshold is only calculated among\n",(0,t.jsx)(o.strong,{children:"those who voted"}),"."]}),"\n",(0,t.jsxs)(o.p,{children:["For example, with a quorum of 40% and a passing threshold of 75%, a proposal\ncould pass with only 30% of the total voting power having voted ",(0,t.jsx)(o.code,{children:"Yes"})," if exactly\n40% of voters vote. Imagine: 40% of the total voting power votes on the\nproposal. Quorum is met. Of those who voted, 75% vote ",(0,t.jsx)(o.code,{children:"Yes"}),". The rest of the\nvotes are split between ",(0,t.jsx)(o.code,{children:"Abstain"})," and ",(0,t.jsx)(o.code,{children:"No"}),". ",(0,t.jsx)(o.code,{children:"Yes"})," will have won the vote with a\n75% threshold of quorum, even though only 30% of the ",(0,t.jsx)(o.em,{children:"total"})," voting power voted\n",(0,t.jsx)(o.code,{children:"Yes"}),"."]}),"\n",(0,t.jsxs)(o.p,{children:["Setting quorum to 0% means that any single voter can pass a proposal by\nthemself. ",(0,t.jsx)(o.em,{children:"This is different from disabling quorum."})]}),"\n",(0,t.jsx)(o.admonition,{type:"tip",children:(0,t.jsx)(o.p,{children:"Enabling a quorum helps when there is a risk of low participation in a DAO.\nLarge token-based DAOs likely face this risk as membership is fluid and\nattention is finite. Setting a quorum low enough ensures that the DAO cannot be\nlocked due to lack of sufficient participation. However, setting a quorum too\nlow can lead to proposals passing that do not represent enough member's\npreferences (if not enough people are paying attention)."})}),"\n",(0,t.jsx)(o.h4,{id:"with-quorum-disabled",children:"With quorum disabled"}),"\n",(0,t.jsxs)(o.p,{children:["If your DAO has no quorum set, the passing threshold is calculated among ",(0,t.jsx)(o.strong,{children:"all\npossible voters"}),". This is considered an absolute threshold."]}),"\n",(0,t.jsxs)(o.p,{children:["For example, with a passing threshold of 67%, a proposal will pass if 67% of the\ntotal voting power voted ",(0,t.jsx)(o.code,{children:"Yes"}),"."]}),"\n",(0,t.jsx)(o.admonition,{type:"caution",children:(0,t.jsx)(o.p,{children:"Threshold and quorum can be very confusing. Please be careful and check your\nunderstanding with others before making any changes."})}),"\n",(0,t.jsx)(o.h3,{id:"only-members-execute",children:"Only members execute"}),"\n",(0,t.jsx)(o.p,{children:"If enabled, only members may execute passed proposals. If disabled, anyone can.\nThis defaults to enabled."}),"\n",(0,t.jsx)(o.h3,{id:"voting-duration",children:"Voting duration"}),"\n",(0,t.jsx)(o.p,{children:"This is the maximum time proposals remain open for voting."}),"\n",(0,t.jsx)(o.h3,{id:"allow-revoting",children:"Allow revoting"}),"\n",(0,t.jsx)(o.p,{children:"If enabled, votes can be changed before the voting duration ends. This defaults\nto disabled."}),"\n",(0,t.jsxs)(o.admonition,{type:"tip",children:[(0,t.jsx)(o.p,{children:"When this is enabled, proposals always remain open for their entire duration.\nThis is because the proposal outcome cannot be determined if votes can be\nchanged."}),(0,t.jsx)(o.p,{children:"When this is disabled, proposals will pass or fail early if sufficient voters\ncast votes to determine an outcome."})]})]})}function c(e={}){const{wrapper:o}={...(0,i.a)(),...e.components};return o?(0,t.jsx)(o,{...e,children:(0,t.jsx)(h,{...e})}):h(e)}},1151:(e,o,n)=>{n.d(o,{Z:()=>r,a:()=>a});var t=n(7294);const i={},s=t.createContext(i);function a(e){const o=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function r(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),t.createElement(s.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c4a25442.6597a715.js b/assets/js/c4a25442.6597a715.js deleted file mode 100644 index 20822c1f..00000000 --- a/assets/js/c4a25442.6597a715.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[606],{832:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>r});var o=t(5893),a=t(1151);const s={sidebar_position:3},i="How to act on behalf of a SubDAO",c={id:"definitions/subdaos/act-on-behalf-of-subdao",title:"How to act on behalf of a SubDAO",description:"As discussed in What are SubDAOs?, the admin (or",source:"@site/docs/definitions/subdaos/act-on-behalf-of-subdao.md",sourceDirName:"definitions/subdaos",slug:"/definitions/subdaos/act-on-behalf-of-subdao",permalink:"/definitions/subdaos/act-on-behalf-of-subdao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/definitions/subdaos/act-on-behalf-of-subdao.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"How to create a SubDAO",permalink:"/definitions/subdaos/how-to-create"},next:{title:"Voting",permalink:"/configuration/voting"}},d={},r=[];function u(e){const n={a:"a",code:"code",h1:"h1",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"how-to-act-on-behalf-of-a-subdao",children:"How to act on behalf of a SubDAO"}),"\n",(0,o.jsxs)(n.p,{children:["As discussed in ",(0,o.jsx)(n.a,{href:"/definitions/subdaos/what",children:"What are SubDAOs?"}),", the admin (or\nparent DAO) can execute any action on behalf of the SubDAO. Follow this guide to\nlearn how."]}),"\n",(0,o.jsxs)(n.p,{children:["In the parent DAO, create a new proposal and add the ",(0,o.jsx)(n.code,{children:"DAO Admin Execute"})," action\nfrom the ",(0,o.jsx)(n.code,{children:"DAO Governance"})," category."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"DAO Governance category",src:t(7999).Z+"",width:"1816",height:"1732"})}),"\n",(0,o.jsx)(n.p,{children:"Then, select the SubDAO you want to act on behalf of."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"DAO Admin Execute action",src:t(6522).Z+"",width:"1814",height:"600"})}),"\n",(0,o.jsx)(n.p,{children:"Then simply choose the action(s) you want to execute!"}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"DAO Admin Execute with Manage Members\naction",src:t(9392).Z+"",width:"1822",height:"1568"})}),"\n",(0,o.jsx)(n.p,{children:"Once you pass and execute the proposal, your action(s) will be executed on\nbehalf of the SubDAO."})]})}function h(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},9392:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/dao-admin-execute-manage-members-674e2fab3647cdc04649170174b4cb9f.png"},6522:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/dao-admin-execute-21a908e876356c2ab68c1f4084896633.png"},7999:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/dao-governance-category-4528e7344541207e9dce54918e82b45f.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>i});var o=t(7294);const a={},s=o.createContext(a);function i(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c9790711.d201bedf.js b/assets/js/c9790711.9be82da5.js similarity index 69% rename from assets/js/c9790711.d201bedf.js rename to assets/js/c9790711.9be82da5.js index 0d871ac0..bd156973 100644 --- a/assets/js/c9790711.d201bedf.js +++ b/assets/js/c9790711.9be82da5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[515],{7290:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var o=t(5893),a=t(1151);const s={sidebar_position:3},i="Joining and leaving a token-based DAO",r={id:"quickstart/joining-leaving-token-based-dao",title:"Joining and leaving a token-based DAO",description:"The DAO we created in the previous guide was not a token-based DAO. However, you",source:"@site/docs/quickstart/joining-leaving-token-based-dao.md",sourceDirName:"quickstart",slug:"/quickstart/joining-leaving-token-based-dao",permalink:"/quickstart/joining-leaving-token-based-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/joining-leaving-token-based-dao.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Joining and leaving a member-based DAO",permalink:"/quickstart/joining-leaving-member-based-dao"},next:{title:"Create your first proposal",permalink:"/quickstart/create-a-proposal"}},l={},d=[{value:"Joining",id:"joining",level:2},{value:"Leaving",id:"leaving",level:2}];function c(e){const n={code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"joining-and-leaving-a-token-based-dao",children:"Joining and leaving a token-based DAO"}),"\n",(0,o.jsx)(n.p,{children:"The DAO we created in the previous guide was not a token-based DAO. However, you\nare likely to encounter token-based DAOs soon enough if you are engaging with\nDAOs, and there are a few things you need to learn before interacting with them."}),"\n",(0,o.jsx)(n.h2,{id:"joining",children:"Joining"}),"\n",(0,o.jsxs)(n.p,{children:["To join a token-based DAO, you must register to vote by staking governance\ntokens you obtain. Once you register to vote, you can vote on all future\nproposals. However, you ",(0,o.jsx)(n.em,{children:"cannot"})," vote on proposals that were created before you\nregistered. This is a safety feature to ensure voting power remains constant\nonce a proposal is created."]}),"\n",(0,o.jsx)(n.p,{children:"To register to vote, first visit the DAO's home page."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Token-based DAO home page",src:t(5850).Z+"",width:"2152",height:"1978"})}),"\n",(0,o.jsx)(n.p,{children:"On here you will see:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"how many tokens you have staked"}),"\n",(0,o.jsx)(n.li,{children:"how many tokens you have unstaked"}),"\n",(0,o.jsx)(n.li,{children:"how many tokens are currently unstaking"}),"\n",(0,o.jsx)(n.li,{children:"your voting power"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Click the ",(0,o.jsx)(n.code,{children:"Stake"})," or ",(0,o.jsx)(n.code,{children:"Manage... stake"})," button to stake your tokens."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Manage staking modal",src:t(7302).Z+"",width:"944",height:"1400"})}),"\n",(0,o.jsx)(n.p,{children:"By staking your tokens, you are registering those tokens as voting power. Any\ntokens you do not stake won't count towards your voting power. If you want your\nvotes to matter as much as possible, you'll likely want to stake all of them."}),"\n",(0,o.jsx)(n.p,{children:"There are some situations where you may not want to stake all of your tokens.\nFor example:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Some DAOs require a proposal deposit be paid in order to create a proposal,\nin an effort to ensure a minimum level of commitment to a proposal. If you\nplan on making a proposal, you may want to leave some tokens unstaked."}),"\n",(0,o.jsx)(n.li,{children:"Some DAOs have an unstaking duration, which is the amount of time you must\nwait after unstaking your tokens before those tokens are available to you. If\nyou are holding tokens in a DAO with a non-zero staking duration, and you\nthink you may want to sell or trade those tokens quickly in the future, you\nmay consider leaving some tokens unstaked."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"leaving",children:"Leaving"}),"\n",(0,o.jsx)(n.p,{children:"To leave a token-based DAO, you must unstake all your tokens."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Staked token membership",src:t(2881).Z+"",width:"972",height:"554"})}),"\n",(0,o.jsxs)(n.p,{children:["Click the ",(0,o.jsx)(n.code,{children:"Manage your stake"})," button, and select the ",(0,o.jsx)(n.code,{children:"Unstake"})," tab. On\nthat tab, select the ",(0,o.jsx)(n.code,{children:"100%"})," button to fill in all your tokens, then press\n",(0,o.jsx)(n.code,{children:"Unstake"})," in the bottom right."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Manage staking unstake modal",src:t(6001).Z+"",width:"946",height:"1314"})}),"\n",(0,o.jsx)(n.p,{children:"Approve the transaction in your wallet."}),"\n",(0,o.jsx)(n.p,{children:"Once doing so, you will have to wait the unstaking duration before the tokens\nare available to you again. While you are waiting, you will also not be able to\nvote on proposals."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Unstaking token membership",src:t(9373).Z+"",width:"939",height:"573"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Unstaking token modal",src:t(1389).Z+"",width:"944",height:"1266"})}),"\n",(0,o.jsxs)(n.p,{children:["After the unstaking duration, you will need to claim your tokens by clicking on\nthe ",(0,o.jsx)(n.code,{children:"Claim your "})," button. After approving the transaction in your\nwallet, the tokens will be available to you."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Unstaked all membership",src:t(3466).Z+"",width:"946",height:"512"})})]})}function u(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},6001:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/manage-staking-unstake-all-fb37db143591a385ed17ea93ae44979f.png"},7302:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/manage-staking-89690eaa41a867c0062040e47c0a181d.png"},2881:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/staked-membership-59ce9b2c9e852d3a9887e58e34414e96.png"},5850:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/token-based-home-5ac49c8519b185f4dc17848a1d2041f1.png"},1389:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/unstaking-modal-2620b75c5c9954dbc469dd1e229e1b81.png"},3466:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/your-membership-nothing-staked-c940d969c964db68b815cb3fadbc04f6.png"},9373:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/your-membership-unstaking-f69b0e8c8e183e94f087827d6ea6aaca.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>i});var o=t(7294);const a={},s=o.createContext(a);function i(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[515],{7290:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var o=t(5893),a=t(1151);const s={sidebar_position:3},i="Joining and leaving a token-based DAO",r={id:"quickstart/joining-leaving-token-based-dao",title:"Joining and leaving a token-based DAO",description:"The DAO we created in the previous guide was not a token-based DAO. However, you",source:"@site/docs/quickstart/joining-leaving-token-based-dao.md",sourceDirName:"quickstart",slug:"/quickstart/joining-leaving-token-based-dao",permalink:"/quickstart/joining-leaving-token-based-dao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/quickstart/joining-leaving-token-based-dao.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Joining and leaving a member-based DAO",permalink:"/quickstart/joining-leaving-member-based-dao"},next:{title:"Create your first proposal",permalink:"/quickstart/create-a-proposal"}},l={},d=[{value:"Joining",id:"joining",level:2},{value:"Leaving",id:"leaving",level:2}];function c(e){const n={code:"code",em:"em",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"joining-and-leaving-a-token-based-dao",children:"Joining and leaving a token-based DAO"}),"\n",(0,o.jsx)(n.p,{children:"The DAO we created in the previous guide was not a token-based DAO. However, you\nare likely to encounter token-based DAOs soon enough if you are engaging with\nDAOs, and there are a few things you need to learn before interacting with them."}),"\n",(0,o.jsx)(n.h2,{id:"joining",children:"Joining"}),"\n",(0,o.jsxs)(n.p,{children:["To join a token-based DAO, you must register to vote by staking governance\ntokens you obtain. Once you register to vote, you can vote on all future\nproposals. However, you ",(0,o.jsx)(n.em,{children:"cannot"})," vote on proposals that were created before you\nregistered. This is a safety feature to ensure voting power remains constant\nonce a proposal is created."]}),"\n",(0,o.jsx)(n.p,{children:"To register to vote, first visit the DAO's home page."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Token-based DAO home page",src:t(2272).Z+"",width:"2152",height:"1978"})}),"\n",(0,o.jsx)(n.p,{children:"On here you will see:"}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"how many tokens you have staked"}),"\n",(0,o.jsx)(n.li,{children:"how many tokens you have unstaked"}),"\n",(0,o.jsx)(n.li,{children:"how many tokens are currently unstaking"}),"\n",(0,o.jsx)(n.li,{children:"your voting power"}),"\n"]}),"\n",(0,o.jsxs)(n.p,{children:["Click the ",(0,o.jsx)(n.code,{children:"Stake"})," or ",(0,o.jsx)(n.code,{children:"Manage... stake"})," button to stake your tokens."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Manage staking modal",src:t(3288).Z+"",width:"944",height:"1400"})}),"\n",(0,o.jsx)(n.p,{children:"By staking your tokens, you are registering those tokens as voting power. Any\ntokens you do not stake won't count towards your voting power. If you want your\nvotes to matter as much as possible, you'll likely want to stake all of them."}),"\n",(0,o.jsx)(n.p,{children:"There are some situations where you may not want to stake all of your tokens.\nFor example:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"Some DAOs require a proposal deposit be paid in order to create a proposal,\nin an effort to ensure a minimum level of commitment to a proposal. If you\nplan on making a proposal, you may want to leave some tokens unstaked."}),"\n",(0,o.jsx)(n.li,{children:"Some DAOs have an unstaking duration, which is the amount of time you must\nwait after unstaking your tokens before those tokens are available to you. If\nyou are holding tokens in a DAO with a non-zero staking duration, and you\nthink you may want to sell or trade those tokens quickly in the future, you\nmay consider leaving some tokens unstaked."}),"\n"]}),"\n",(0,o.jsx)(n.h2,{id:"leaving",children:"Leaving"}),"\n",(0,o.jsx)(n.p,{children:"To leave a token-based DAO, you must unstake all your tokens."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Staked token membership",src:t(1691).Z+"",width:"972",height:"554"})}),"\n",(0,o.jsxs)(n.p,{children:["Click the ",(0,o.jsx)(n.code,{children:"Manage your stake"})," button, and select the ",(0,o.jsx)(n.code,{children:"Unstake"})," tab. On\nthat tab, select the ",(0,o.jsx)(n.code,{children:"100%"})," button to fill in all your tokens, then press\n",(0,o.jsx)(n.code,{children:"Unstake"})," in the bottom right."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Manage staking unstake modal",src:t(5950).Z+"",width:"946",height:"1314"})}),"\n",(0,o.jsx)(n.p,{children:"Approve the transaction in your wallet."}),"\n",(0,o.jsx)(n.p,{children:"Once doing so, you will have to wait the unstaking duration before the tokens\nare available to you again. While you are waiting, you will also not be able to\nvote on proposals."}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Unstaking token membership",src:t(448).Z+"",width:"939",height:"573"})}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Unstaking token modal",src:t(9928).Z+"",width:"944",height:"1266"})}),"\n",(0,o.jsxs)(n.p,{children:["After the unstaking duration, you will need to claim your tokens by clicking on\nthe ",(0,o.jsx)(n.code,{children:"Claim your "})," button. After approving the transaction in your\nwallet, the tokens will be available to you."]}),"\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Unstaked all membership",src:t(9279).Z+"",width:"946",height:"512"})})]})}function u(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},5950:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/manage-staking-unstake-all-fb37db143591a385ed17ea93ae44979f.png"},3288:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/manage-staking-89690eaa41a867c0062040e47c0a181d.png"},1691:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/staked-membership-59ce9b2c9e852d3a9887e58e34414e96.png"},2272:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/token-based-home-5ac49c8519b185f4dc17848a1d2041f1.png"},9928:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/unstaking-modal-2620b75c5c9954dbc469dd1e229e1b81.png"},9279:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/your-membership-nothing-staked-c940d969c964db68b815cb3fadbc04f6.png"},448:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/your-membership-unstaking-f69b0e8c8e183e94f087827d6ea6aaca.png"},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>i});var o=t(7294);const a={},s=o.createContext(a);function i(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/247783bb.f0025cee.js b/assets/js/caae4113.224ab595.js similarity index 62% rename from assets/js/247783bb.f0025cee.js rename to assets/js/caae4113.224ab595.js index 5654ea13..55109a5e 100644 --- a/assets/js/247783bb.f0025cee.js +++ b/assets/js/caae4113.224ab595.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[334],{3769:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[168],{3769:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/d0dcd256.2a67f746.js b/assets/js/d0dcd256.2a67f746.js new file mode 100644 index 00000000..c77b271c --- /dev/null +++ b/assets/js/d0dcd256.2a67f746.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[617],{7792:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var n=o(5893),a=o(1151);const s={sidebar_position:3},c="How to act on behalf of a SubDAO",i={id:"features/subdaos/act-on-behalf-of-subdao",title:"How to act on behalf of a SubDAO",description:"As discussed in What are SubDAOs?, the admin (or",source:"@site/docs/features/subdaos/act-on-behalf-of-subdao.md",sourceDirName:"features/subdaos",slug:"/features/subdaos/act-on-behalf-of-subdao",permalink:"/features/subdaos/act-on-behalf-of-subdao",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/features/subdaos/act-on-behalf-of-subdao.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"How to create a SubDAO",permalink:"/features/subdaos/how-to-create"},next:{title:"Voting",permalink:"/configuration/voting"}},r={},d=[];function u(e){const t={a:"a",code:"code",h1:"h1",img:"img",p:"p",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"how-to-act-on-behalf-of-a-subdao",children:"How to act on behalf of a SubDAO"}),"\n",(0,n.jsxs)(t.p,{children:["As discussed in ",(0,n.jsx)(t.a,{href:"/features/subdaos/what",children:"What are SubDAOs?"}),", the admin (or\nparent DAO) can execute any action on behalf of the SubDAO. Follow this guide to\nlearn how."]}),"\n",(0,n.jsxs)(t.p,{children:["In the parent DAO, create a new proposal and add the ",(0,n.jsx)(t.code,{children:"DAO Admin Execute"})," action\nfrom the ",(0,n.jsx)(t.code,{children:"DAO Governance"})," category."]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"DAO Governance category",src:o(5941).Z+"",width:"1816",height:"1732"})}),"\n",(0,n.jsx)(t.p,{children:"Then, select the SubDAO you want to act on behalf of."}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"DAO Admin Execute action",src:o(2317).Z+"",width:"1814",height:"600"})}),"\n",(0,n.jsx)(t.p,{children:"Then simply choose the action(s) you want to execute!"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"DAO Admin Execute with Manage Members\naction",src:o(3866).Z+"",width:"1822",height:"1568"})}),"\n",(0,n.jsx)(t.p,{children:"Once you pass and execute the proposal, your action(s) will be executed on\nbehalf of the SubDAO."})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},3866:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/dao-admin-execute-manage-members-674e2fab3647cdc04649170174b4cb9f.png"},2317:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/dao-admin-execute-21a908e876356c2ab68c1f4084896633.png"},5941:(e,t,o)=>{o.d(t,{Z:()=>n});const n=o.p+"assets/images/dao-governance-category-4528e7344541207e9dce54918e82b45f.png"},1151:(e,t,o)=>{o.d(t,{Z:()=>i,a:()=>c});var n=o(7294);const a={},s=n.createContext(a);function c(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a7434565.92d5216c.js b/assets/js/d9b1e534.49cf7982.js similarity index 62% rename from assets/js/a7434565.92d5216c.js rename to assets/js/d9b1e534.49cf7982.js index 239fcde1..50d90eea 100644 --- a/assets/js/a7434565.92d5216c.js +++ b/assets/js/d9b1e534.49cf7982.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[645],{5745:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[578],{5745:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/e0d011ba.8c8f4d02.js b/assets/js/e0d011ba.8c8f4d02.js deleted file mode 100644 index e0860661..00000000 --- a/assets/js/e0d011ba.8c8f4d02.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[219],{4759:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>s,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>d});var o=t(5893),i=t(1151);const a={sidebar_position:3},s="Updating the config of a DAO",c={id:"recipes/config-updates",title:"Updating the config of a DAO",description:"After you've deployed your DAO you may decide that you'd like to",source:"@site/docs/recipes/config-updates.md",sourceDirName:"recipes",slug:"/recipes/config-updates",permalink:"/recipes/config-updates",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/recipes/config-updates.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Deploying a smart contract from a DAO",permalink:"/recipes/contract-deployment"},next:{title:"Executing smart contracts",permalink:"/recipes/executing-smart-contracts"}},r={},d=[{value:"Setup",id:"setup",level:2},{value:"The DAO DAO config",id:"the-dao-dao-config",level:2},{value:"Updating the config",id:"updating-the-config",level:2},{value:"Executing the config update",id:"executing-the-config-update",level:2}];function l(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"updating-the-config-of-a-dao",children:"Updating the config of a DAO"}),"\n",(0,o.jsx)(n.p,{children:"After you've deployed your DAO you may decide that you'd like to\nchange parts of the config."}),"\n",(0,o.jsx)(n.p,{children:"In this recipe, we'll walk through the process of creating and voting\non a proposal to change your DAO's configuration."}),"\n",(0,o.jsx)(n.h2,{id:"setup",children:"Setup"}),"\n",(0,o.jsxs)(n.p,{children:["Before beginning you'll need to have a DAO deployed on DAO-DAO. For a\nquick introduction to that see the\n",(0,o.jsx)(n.a,{href:"/quickstart/create-a-dao",children:"quickstart"})," guide."]}),"\n",(0,o.jsx)(n.h2,{id:"the-dao-dao-config",children:"The DAO DAO config"}),"\n",(0,o.jsxs)(n.p,{children:["All DAOs deployed from DAO DAO have a config with information like\nname, description, and voting threshold. You can view the raw JSON of\na DAOs config from the command line by running a ",(0,o.jsx)(n.code,{children:"{get_config: {}}"}),"\nquery like so:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{children:"junod query wasm contract-state smart '{\"get_config\": {}}'\n"})}),"\n",(0,o.jsx)(n.p,{children:"Here's an example of what one of those configs might look like:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "config": {\n "name": "ekez dao",\n "description": "The first DAO of the new DAO DAO UI!",\n "threshold": {\n "absolute_percentage": {\n "percentage": "0.66"\n }\n },\n "max_voting_period": {\n "time": 604800\n },\n "proposal_deposit": "0",\n "refund_failed_proposals": true\n },\n "gov_token": "juno1lnrdwhf4xcx6w6tdpsghgv6uavem353gtgz77sdreyhts883wdjqpg7dk8",\n "staking_contract": "juno19nywm4al2pc2sdj834gtdm6tvcn5kqpghlwd022tvld0hek4jfes8jj6um"\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"Every part of this config can be updated via a governance proposal."}),"\n",(0,o.jsx)(n.h2,{id:"updating-the-config",children:"Updating the config"}),"\n",(0,o.jsxs)(n.p,{children:["To update a DAO's config we'll create a new proposal in the UI and add\na \"Custom\" message to it. Our custom message will be a WASM message\nwhich, when executed, will call the ",(0,o.jsx)(n.code,{children:"update_config"})," method on our DAO."]}),"\n",(0,o.jsxs)(n.p,{children:["The structure of a WASM Message can be found\n",(0,o.jsx)(n.a,{href:"https://docs.rs/cosmwasm-std/latest/cosmwasm_std/enum.WasmMsg.html",children:"here"}),". We'll\nstart by filling out most of the execute variant:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "wasm": {\n "execute": {\n "contract_addr": "",\n "msg": {}, // TODO - fill this in\n\t "funds": []\n }\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["The ",(0,o.jsx)(n.code,{children:"update_config"})," message that we'll be executing with this has the\nsame structure as a DAOs config. To change only a few fields I\nrecommend copying your DAOs current config and then only modifying the\nfields that you'd like to change. Here's an example of what your\n",(0,o.jsx)(n.code,{children:"update_config"})," message might look like:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "update_config": {\n "name": "ekez dao",\n "description": "The first DAO of the new DAO DAO UI outside a docker container!",\n "threshold": {\n "absolute_percentage": {\n "percentage": "0.66"\n }\n },\n "max_voting_period": {\n "time": 604800\n },\n "proposal_deposit": "0",\n "refund_failed_proposals": true\n }\n}\n'})}),"\n",(0,o.jsx)(n.p,{children:"Here I've updated the DAO's description to clarify that there were in\nfact other DAOs before this one but they all ran in Docker containers."}),"\n",(0,o.jsxs)(n.p,{children:["To finish up we just combine our WASM Message and our ",(0,o.jsx)(n.code,{children:"update_config"}),"\nmessage by putting the ",(0,o.jsx)(n.code,{children:"update_config"})," message into the ",(0,o.jsx)(n.code,{children:"msg"})," field of\nthe WASM Message:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-json",children:'{\n "wasm": {\n "execute": {\n "contract_addr": "",\n "msg": {\n "update_config": {\n "name": "ekez dao",\n "description": "The first DAO of the new DAO DAO UI outside a docker container!",\n "threshold": {\n "absolute_percentage": {\n "percentage": "0.66"\n }\n },\n "max_voting_period": {\n "time": 604800\n },\n "proposal_deposit": "0",\n "refund_failed_proposals": true\n }\n },\n "funds": []\n }\n }\n}\n'})}),"\n",(0,o.jsx)(n.h2,{id:"executing-the-config-update",children:"Executing the config update"}),"\n",(0,o.jsx)(n.p,{children:"To execute the config update just finish creating your proposal and\nhold a vote with your fellow DAO members. If the proposal passes you\ncan execute it and you'll have a new DAO config!"})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>s});var o=t(7294);const i={},a=o.createContext(i);function s(e){const n=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f5077fd0.2b2d715d.js b/assets/js/f5077fd0.2b2d715d.js new file mode 100644 index 00000000..17d414c7 --- /dev/null +++ b/assets/js/f5077fd0.2b2d715d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[850],{7241:(e,o,s)=>{s.r(o),s.d(o,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>r});var n=s(5893),i=s(1151);const t={sidebar_position:2},a="Types of proposals",c={id:"features/proposals/types",title:"Types of proposals",description:"DAO DAO supports single choice (Yes, No, or Abstain) and multiple choice",source:"@site/docs/features/proposals/types.md",sourceDirName:"features/proposals",slug:"/features/proposals/types",permalink:"/features/proposals/types",draft:!1,unlisted:!1,editUrl:"https://github.com/DA0-DA0/docs/tree/main/docs/features/proposals/types.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"What are proposals?",permalink:"/features/proposals/what"},next:{title:"What are SubDAOs?",permalink:"/features/subdaos/what"}},l={},r=[{value:"Single choice",id:"single-choice",level:2},{value:"Title",id:"title",level:3},{value:"Description",id:"description",level:3},{value:"Actions",id:"actions",level:3},{value:"Multiple choice",id:"multiple-choice",level:2},{value:"How do they work?",id:"how-do-they-work",level:3},{value:"Enable multiple choice proposals",id:"enable-multiple-choice-proposals",level:3}];function p(e){const o={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.h1,{id:"types-of-proposals",children:"Types of proposals"}),"\n",(0,n.jsxs)(o.p,{children:["DAO DAO supports single choice (",(0,n.jsx)(o.code,{children:"Yes"}),", ",(0,n.jsx)(o.code,{children:"No"}),", or ",(0,n.jsx)(o.code,{children:"Abstain"}),") and multiple choice\n(",(0,n.jsx)(o.code,{children:"A"}),", ",(0,n.jsx)(o.code,{children:"B"}),", ",(0,n.jsx)(o.code,{children:"C"}),", ",(0,n.jsx)(o.code,{children:"D"}),", ..., or ",(0,n.jsx)(o.code,{children:"None of the above"}),") proposals. They work very\nsimilarly."]}),"\n",(0,n.jsx)(o.h2,{id:"single-choice",children:"Single choice"}),"\n",(0,n.jsxs)(o.p,{children:["A single choice proposal contains a title, description, and an optional set of\nactions to execute if passed. The only voting options are ",(0,n.jsx)(o.code,{children:"Yes"}),", ",(0,n.jsx)(o.code,{children:"No"}),", and\n",(0,n.jsx)(o.code,{children:"Abstain"}),", and thus a single choice proposal either passes or fails."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Single choice proposal",src:s(3253).Z+"",width:"2144",height:"1494"})}),"\n",(0,n.jsx)(o.h3,{id:"title",children:"Title"}),"\n",(0,n.jsx)(o.p,{children:"A title identifies the purpose of a proposal. It should be concise."}),"\n",(0,n.jsx)(o.h3,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(o.p,{children:["A description explains in detail what a proposal ",(0,n.jsx)(o.em,{children:"is"}),". This may be a\n",(0,n.jsx)(o.a,{href:"https://daodao.zone/dao/juno10h0hc64jv006rr8qy0zhlu4jsxct8qwa0vtaleayh0ujz0zynf2s2r7v8q/proposals/A1",children:"constitution"}),",\nlegal agreement, justification, or simply a place to document relevant\ninformation. Really it can be anything you want. There are no rules, and you\nshould feel free to experiment."]}),"\n",(0,n.jsx)(o.p,{children:"For example, if you are submitting a proposal to pay someone's salary, you may\nwant to explain why you're paying them or what the relevant terms of work are."}),"\n",(0,n.jsxs)(o.p,{children:["You can use ",(0,n.jsx)(o.a,{href:"https://www.markdownguide.org/basic-syntax/",children:"Markdown syntax"})," for\nrich formatting."]}),"\n",(0,n.jsx)(o.h3,{id:"actions",children:"Actions"}),"\n",(0,n.jsx)(o.p,{children:"Actions execute when a proposal is passed and executed. These actions let you do\nthings like spend from the DAO's treasury, add or remove members, mint new\ngovernance tokens, and more."}),"\n",(0,n.jsxs)(o.p,{children:["DAO DAO already has many actions that cover almost every possible action you can\ntake on a blockchain. For the most part, you can create proposals without\nneeding to actually write out any software instructions (i.e. transactions) by\nhand. The DAO DAO UI abstracts away many of those details for you. If you're\ndoing something custom or experimental, you can always use a custom message. If\nyou'd like to create a new action for DAOs to use, ",(0,n.jsx)(o.a,{href:"https://github.com/DA0-DA0/dao-dao-ui/wiki/Adding-an-action-to-DAO-DAO",children:"you can do that\ntoo"}),"!"]}),"\n",(0,n.jsx)(o.h2,{id:"multiple-choice",children:"Multiple choice"}),"\n",(0,n.jsxs)(o.p,{children:["Multiple choice proposals can contain between 2 and 20 different options, each\nwith their own set of actions, and they always include a ",(0,n.jsx)(o.code,{children:"None of the above"}),"\noption to ensure a proposal cannot force an action to be taken."]}),"\n",(0,n.jsxs)(o.p,{children:["If your DAO does not have multiple choice proposals enabled, ensure the DAO is\nat least on ",(0,n.jsx)(o.a,{href:"/upgrading/v2",children:"V2"}),", and then ",(0,n.jsx)(o.a,{href:"#enable-multiple-choice-proposals",children:"enable multiple choice proposals with\na single choice proposal"}),"."]}),"\n",(0,n.jsx)(o.h3,{id:"how-do-they-work",children:"How do they work?"}),"\n",(0,n.jsx)(o.p,{children:"A multiple choice proposal is just like a single choice proposal, except that\ninstead of a single set of actions, you can create many labeled options, each\nwith their own set of actions."}),"\n",(0,n.jsxs)(o.p,{children:["Simply choose the ",(0,n.jsx)(o.code,{children:"Multiple Choice"})," proposal type when creating a new proposal."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Multiple choice\nproposal",src:s(1306).Z+"",width:"1942",height:"1872"})}),"\n",(0,n.jsx)(o.p,{children:"Each option has different actions associated with it."}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Option 1",src:s(3024).Z+"",width:"1908",height:"1160"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Option 2",src:s(7441).Z+"",width:"1908",height:"1174"})}),"\n",(0,n.jsxs)(o.p,{children:["When you go to vote, the proposal will show each of the options and a ",(0,n.jsx)(o.code,{children:"None of the above"})," option, instead of just ",(0,n.jsx)(o.code,{children:"Yes"})," and ",(0,n.jsx)(o.code,{children:"No"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Multiple choice\nproposal",src:s(1315).Z+"",width:"1940",height:"2234"})}),"\n",(0,n.jsx)(o.h3,{id:"enable-multiple-choice-proposals",children:"Enable multiple choice proposals"}),"\n",(0,n.jsxs)(o.p,{children:["If you create a new DAO, multiple choice proposals are enabled by default. If\nyou have an existing DAO without multiple choice proposals enabled, you can\nenable them by ",(0,n.jsx)(o.a,{href:"/quickstart/create-a-proposal",children:"passing a single choice proposal"}),"\ncontaining the ",(0,n.jsx)(o.code,{children:"Enable Multiple Choice Proposals"})," action in the ",(0,n.jsx)(o.code,{children:"DAO Governance"}),"\ncategory."]}),"\n",(0,n.jsxs)(o.p,{children:["On the proposal creation page, click the ",(0,n.jsx)(o.code,{children:"Add an action"})," button."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Proposal creation\nform",src:s(4025).Z+"",width:"2150",height:"1362"})}),"\n",(0,n.jsxs)(o.p,{children:["Click on the ",(0,n.jsx)(o.code,{children:"DAO Governance"})," category, and then choose ",(0,n.jsx)(o.code,{children:"Enable Multiple Choice Proposals"}),"."]}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"DAO Governance category",src:s(2662).Z+"",width:"934",height:"1188"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Enable multiple choice\naction",src:s(8032).Z+"",width:"2082",height:"1596"})}),"\n",(0,n.jsx)(o.p,{children:(0,n.jsx)(o.img,{alt:"Complete proposal",src:s(4023).Z+"",width:"2130",height:"1766"})}),"\n",(0,n.jsx)(o.p,{children:"Once you publish, pass, and execute this proposal, multiple choice proposals\nwill be enabled for the DAO!"})]})}function h(e={}){const{wrapper:o}={...(0,i.a)(),...e.components};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},4025:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/enable-multiple-choice-add-action-818d1a5be7302948dea3f1dfeee249aa.png"},8032:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/enable-multiple-choice-dao-governance-category-eba9b1182232378d42da751e3e8e2748.png"},4023:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/enable-multiple-choice-done-2d5bb9f282cef6fd9723f626f00e8a6d.png"},1315:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/multiple-choice-proposal-done-ef0ff3567a4c93d0a0927b49cee31408.png"},3024:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/multiple-choice-proposal-option-1-592a3bfdd901b5e0263fdf45f71afb0c.png"},7441:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/multiple-choice-proposal-option-2-6455bed2e709a2aa39c173b84ad7f1fc.png"},1306:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/multiple-choice-proposal-280ffa70c00461e3a2d7818a876ae827.png"},3253:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/single-choice-proposal-c0382f63260d3ba4f83022a00d51d045.png"},2662:(e,o,s)=>{s.d(o,{Z:()=>n});const n=s.p+"assets/images/action-modal-dao-governance-category-b0209e2e28ee6868612d247007bc7719.png"},1151:(e,o,s)=>{s.d(o,{Z:()=>c,a:()=>a});var n=s(7294);const i={},t=n.createContext(i);function a(e){const o=n.useContext(t);return n.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function c(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),n.createElement(t.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.064c1f2c.js b/assets/js/main.064c1f2c.js deleted file mode 100644 index f50400c0..00000000 --- a/assets/js/main.064c1f2c.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.064c1f2c.js.LICENSE.txt */ -(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"04048f79":[()=>n.e(347).then(n.bind(n,2501)),"@site/docs/how-to-contribute.md",2501],"10c62986":[()=>n.e(299).then(n.bind(n,3170)),"@site/docs/introduction/technical-breakdown.md",3170],17896441:[()=>Promise.all([n.e(532),n.e(918)]).then(n.bind(n,1777)),"@theme/DocItem",1777],"1c8a3af9":[()=>n.e(25).then(n.bind(n,9577)),"@site/docs/recipes/contract-deployment.md",9577],"247783bb":[()=>n.e(334).then(n.t.bind(n,3769,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"2737ffef":[()=>n.e(131).then(n.bind(n,3435)),"@site/docs/definitions/proposals.md",3435],"277344c2":[()=>n.e(668).then(n.bind(n,2353)),"@site/docs/recipes/executing-smart-contracts.md",2353],"2be540fe":[()=>n.e(462).then(n.bind(n,2154)),"@site/docs/introduction/whats-a-blockchain.md",2154],"2fcf05bf":[()=>n.e(309).then(n.bind(n,3765)),"@site/docs/introduction/welcome-to-dao-dao.md",3765],"4cc8692c":[()=>n.e(628).then(n.bind(n,6528)),"@site/docs/quickstart/congratulations.md",6528],"4ce2d58a":[()=>n.e(393).then(n.bind(n,4935)),"@site/docs/quickstart/create-a-dao.md",4935],"4f7cb923":[()=>n.e(985).then(n.bind(n,6045)),"@site/docs/upgrading/v1/dao.md",6045],"5e25a0a3":[()=>n.e(188).then(n.bind(n,3449)),"@site/docs/quickstart/create-a-proposal.md",3449],"5e95c892":[()=>n.e(661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"66405fec":[()=>n.e(887).then(n.bind(n,8086)),"@site/docs/definitions/subdaos/what.md",8086],"6980f84d":[()=>n.e(898).then(n.bind(n,9874)),"@site/docs/introduction/whats-a-dao.md",9874],"6db0afdf":[()=>n.e(171).then(n.bind(n,2654)),"@site/docs/recipes/diversify-treasury.md",2654],"73a2cf18":[()=>n.e(370).then(n.bind(n,7796)),"@site/docs/definitions/subdaos/how-to-create.md",7796],"87054f68":[()=>n.e(664).then(n.bind(n,1817)),"@site/docs/upgrading/v2.md",1817],"8e3d6317":[()=>n.e(860).then(n.bind(n,5737)),"@site/docs/upgrading/v1/multisig.md",5737],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9899549a":[()=>n.e(435).then(n.bind(n,2003)),"@site/docs/configuration/proposal-submission.md",2003],"98ff6434":[()=>n.e(490).then(n.bind(n,3721)),"@site/docs/quickstart/voting.md",3721],"991c5e66":[()=>n.e(696).then(n.bind(n,7115)),"@site/docs/configuration/staking.md",7115],a7434565:[()=>n.e(645).then(n.t.bind(n,5745,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],a7bd4aaa:[()=>n.e(518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],ba28bcc9:[()=>n.e(738).then(n.bind(n,9846)),"@site/docs/quickstart/joining-leaving-member-based-dao.md",9846],bc77d1c8:[()=>n.e(349).then(n.bind(n,3718)),"@site/docs/configuration/voting.md",3718],c4a25442:[()=>n.e(606).then(n.bind(n,832)),"@site/docs/definitions/subdaos/act-on-behalf-of-subdao.md",832],c4f5d8e4:[()=>n.e(195).then(n.bind(n,2841)),"@site/src/pages/index.js",2841],c9790711:[()=>n.e(515).then(n.bind(n,7290)),"@site/docs/quickstart/joining-leaving-token-based-dao.md",7290],e0d011ba:[()=>n.e(219).then(n.bind(n,4759)),"@site/docs/recipes/config-updates.md",4759]};var l=n(5893);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(9670),c=n(226);function d(e,t){if("*"===e)return a()({loading:s,loader:()=>n.e(772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,l.jsx)(c.z,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,u.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,l.jsx)(c.z,{value:i,children:(0,l.jsx)(o,{...a,...n})})}})}const p=[{path:"/",component:d("/","fc2"),exact:!0},{path:"/",component:d("/","706"),routes:[{path:"/",component:d("/","3a2"),routes:[{path:"/",component:d("/","563"),routes:[{path:"/configuration/proposal-submission",component:d("/configuration/proposal-submission","281"),exact:!0,sidebar:"tutorialSidebar"},{path:"/configuration/staking",component:d("/configuration/staking","75d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/configuration/voting",component:d("/configuration/voting","3cf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/definitions/proposals",component:d("/definitions/proposals","326"),exact:!0,sidebar:"tutorialSidebar"},{path:"/definitions/subdaos/act-on-behalf-of-subdao",component:d("/definitions/subdaos/act-on-behalf-of-subdao","c56"),exact:!0,sidebar:"tutorialSidebar"},{path:"/definitions/subdaos/how-to-create",component:d("/definitions/subdaos/how-to-create","5f9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/definitions/subdaos/what",component:d("/definitions/subdaos/what","c72"),exact:!0,sidebar:"tutorialSidebar"},{path:"/how-to-contribute",component:d("/how-to-contribute","ffc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/introduction/technical-breakdown",component:d("/introduction/technical-breakdown","026"),exact:!0,sidebar:"tutorialSidebar"},{path:"/introduction/welcome-to-dao-dao",component:d("/introduction/welcome-to-dao-dao","b29"),exact:!0,sidebar:"tutorialSidebar"},{path:"/introduction/whats-a-blockchain",component:d("/introduction/whats-a-blockchain","ef8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/introduction/whats-a-dao",component:d("/introduction/whats-a-dao","c8c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/quickstart/congratulations",component:d("/quickstart/congratulations","f9c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/quickstart/create-a-dao",component:d("/quickstart/create-a-dao","892"),exact:!0,sidebar:"tutorialSidebar"},{path:"/quickstart/create-a-proposal",component:d("/quickstart/create-a-proposal","ff6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/quickstart/joining-leaving-member-based-dao",component:d("/quickstart/joining-leaving-member-based-dao","fc6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/quickstart/joining-leaving-token-based-dao",component:d("/quickstart/joining-leaving-token-based-dao","591"),exact:!0,sidebar:"tutorialSidebar"},{path:"/quickstart/voting",component:d("/quickstart/voting","97a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/recipes/config-updates",component:d("/recipes/config-updates","36f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/recipes/contract-deployment",component:d("/recipes/contract-deployment","5e0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/recipes/diversify-treasury",component:d("/recipes/diversify-treasury","b2e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/recipes/executing-smart-contracts",component:d("/recipes/executing-smart-contracts","a49"),exact:!0,sidebar:"tutorialSidebar"},{path:"/upgrading/v1/dao",component:d("/upgrading/v1/dao","b7b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/upgrading/v1/multisig",component:d("/upgrading/v1/multisig","b13"),exact:!0,sidebar:"tutorialSidebar"},{path:"/upgrading/v2",component:d("/upgrading/v2","3c8"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),l=n(412);const s=[n(2497),n(3310),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),g=n(2263),h=n(4996),y=n(6668),b=n(1944),v=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.Z)(),r=(0,v.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.Z)(),{pathname:r}=(0,c.TH)();return e+(0,x.applyTrailingSlash)((0,h.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function _(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,y.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(b.d,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940),N=n(469);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,N.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.AW,{location:t,render:()=>e})})}}const I=D,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Y=n(9670);const K=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!K.has(e))(e))return!1;K.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(l.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(o.VK,{children:(0,p.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},l=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(l)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/","mainDocId":"introduction/welcome-to-dao-dao","docs":[{"id":"configuration/proposal-submission","path":"/configuration/proposal-submission","sidebar":"tutorialSidebar"},{"id":"configuration/staking","path":"/configuration/staking","sidebar":"tutorialSidebar"},{"id":"configuration/voting","path":"/configuration/voting","sidebar":"tutorialSidebar"},{"id":"definitions/proposals","path":"/definitions/proposals","sidebar":"tutorialSidebar"},{"id":"definitions/subdaos/act-on-behalf-of-subdao","path":"/definitions/subdaos/act-on-behalf-of-subdao","sidebar":"tutorialSidebar"},{"id":"definitions/subdaos/how-to-create","path":"/definitions/subdaos/how-to-create","sidebar":"tutorialSidebar"},{"id":"definitions/subdaos/what","path":"/definitions/subdaos/what","sidebar":"tutorialSidebar"},{"id":"how-to-contribute","path":"/how-to-contribute","sidebar":"tutorialSidebar"},{"id":"introduction/technical-breakdown","path":"/introduction/technical-breakdown","sidebar":"tutorialSidebar"},{"id":"introduction/welcome-to-dao-dao","path":"/introduction/welcome-to-dao-dao","sidebar":"tutorialSidebar"},{"id":"introduction/whats-a-blockchain","path":"/introduction/whats-a-blockchain","sidebar":"tutorialSidebar"},{"id":"introduction/whats-a-dao","path":"/introduction/whats-a-dao","sidebar":"tutorialSidebar"},{"id":"quickstart/congratulations","path":"/quickstart/congratulations","sidebar":"tutorialSidebar"},{"id":"quickstart/create-a-dao","path":"/quickstart/create-a-dao","sidebar":"tutorialSidebar"},{"id":"quickstart/create-a-proposal","path":"/quickstart/create-a-proposal","sidebar":"tutorialSidebar"},{"id":"quickstart/joining-leaving-member-based-dao","path":"/quickstart/joining-leaving-member-based-dao","sidebar":"tutorialSidebar"},{"id":"quickstart/joining-leaving-token-based-dao","path":"/quickstart/joining-leaving-token-based-dao","sidebar":"tutorialSidebar"},{"id":"quickstart/voting","path":"/quickstart/voting","sidebar":"tutorialSidebar"},{"id":"recipes/config-updates","path":"/recipes/config-updates","sidebar":"tutorialSidebar"},{"id":"recipes/contract-deployment","path":"/recipes/contract-deployment","sidebar":"tutorialSidebar"},{"id":"recipes/diversify-treasury","path":"/recipes/diversify-treasury","sidebar":"tutorialSidebar"},{"id":"recipes/executing-smart-contracts","path":"/recipes/executing-smart-contracts","sidebar":"tutorialSidebar"},{"id":"upgrading/v1/dao","path":"/upgrading/v1/dao","sidebar":"tutorialSidebar"},{"id":"upgrading/v1/multisig","path":"/upgrading/v1/multisig","sidebar":"tutorialSidebar"},{"id":"upgrading/v2","path":"/upgrading/v2","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/introduction/welcome-to-dao-dao","label":"introduction/welcome-to-dao-dao"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var l=n(7529);const s=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"}}}');var u=n(5893);const c={siteConfig:a.default,siteMetadata:s,globalData:o,i18n:i,codeTranslations:l},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),l=n(6040),s=n(5893);function u(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,s.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,s.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,s.jsx)(c,{error:t})]})}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,s.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,s.jsxs)(f,{fallback:()=>(0,s.jsx)(u,{error:t,tryAgain:n}),children:[(0,s.jsx)(o.Z,{children:(0,s.jsx)("title",{children:"Page Error"})}),(0,s.jsx)(l.Z,{children:(0,s.jsx)(u,{error:t,tryAgain:n})})]})}const p=e=>(0,s.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),l=n(3919),s=n(412),u=n(8138),c=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:y=!0,...b}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,c.C)(),x=(0,u.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const C=(0,l.Z)(E),_=E?.replace("pathname://","");let T=void 0!==_?(j=_,y&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;T&&C&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const A=(0,r.useRef)(!1),L=n?a.OL:a.rU,N=s.Z.canUseIntersectionObserver,R=(0,r.useRef)(),P=()=>{A.current||null==T||(window.docusaurus.preload(T),A.current=!0)};(0,r.useEffect)((()=>(!N&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{N&&R.current&&R.current.disconnect()})),[R,T,N,C]);const O=T?.startsWith("#")??!1,D=!T||!C||O;return D||h||x.collectLink(T),D?(0,d.jsx)("a",{ref:S,href:T,...E&&!C&&{target:"_blank",rel:"noopener noreferrer"},...b}):(0,d.jsx)(L,{...b,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,N&&e&&C&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),R.current.observe(e))},to:T,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},1875:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=()=>null},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>s});var r=n(7294),a=n(5893);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function l(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return o(l({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=l({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>l});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const l=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+l:l}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function l(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const l=a?`${a}.${o}`:o;r(i)?e(i,l):t[l]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),l=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:l,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>g,gA:()=>p,_r:()=>c,Jo:()=>h,zh:()=>d,yW:()=>m,gB:()=>f});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const l=e=>e.versions.find((e=>e.isLast));function s(e,t){const n=function(e,t){const n=l(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function m(e){const t=d(e);return l(t)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return s(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=l(e);return{latestDocSuggestion:s(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(3692),l=n(8138);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(5893);function c(e){let{as:t,id:n,...c}=e;const d=(0,l.Z)(),{navbar:{hideOnScroll:p}}=(0,o.L)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.Z)("anchor",p?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},6040:(e,t,n)=>{"use strict";n.d(t,{Z:()=>ft});var r=n(7294),a=n(512),o=n(4763),i=n(1944),l=n(6550),s=n(5999),u=n(5936),c=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,s.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(5281),y=n(9727);const b={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(g,{className:b.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function j(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:T.announcementBarPlaceholder}),(0,c.jsx)(_,{className:T.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var A=n(2961),L=n(2466);var N=n(902),R=n(3102);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,R.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,N.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function I(){const e=(0,r.useContext)(P);if(!e)throw new N.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,R.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=I();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(2949),z=n(2389);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),l=(0,s.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,s.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,s.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.Z)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:l,"aria-label":l,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.I)();return r?null:(0,c.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var V=n(1327);function W(){return(0,c.jsx)(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.e)();return(0,c.jsx)("button",{type:"button","aria-label":(0,s.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(W,{}),(0,c.jsx)(G,{className:"margin-right--md"}),(0,c.jsx)(Q,{})]})}var K=n(3692),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:l,prependBaseUrlToHref:s,...u}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.Z)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,m&&(0,c.jsx)(te.Z,{...l&&{width:12,height:12}})]})};return a?(0,c.jsx)(K.Z,{href:s?f:a,...u,...g}):(0,c.jsx)(K.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),le=n(8596),se=n(2263);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,le.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const s=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{s.current&&!s.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[s]),(0,c.jsxs)("div",{ref:s,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...l,onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:l.children??l.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ce,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...s}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,se.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[u,d,m]),(0,c.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.Z)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...s,onClick:e=>{e.preventDefault(),f()},children:s.children??s.label}),(0,c.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ce,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var me=n(4711);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var ye=n(1875);const be={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.Z)(n,be.navbarSearchContainer),children:t})}var we=n(143),ke=n(2802);var xe=n(373);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,se.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,l.TH)(),g=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,s.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(ye.Z,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.vY)(t,r),l=o?.path===i?.path;return null===i||i.unlisted&&!l?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>l||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.Iw)(r),i=(0,ke.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.lO)(r)[0],i=t??o.label,l=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:l})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,l.TH)(),p=(0,we.Iw)(n),f=(0,we.gB)(n),{savePreferredVersionName:m}=(0,xe.J)(n),g=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],h=(0,ke.lO)(n)[0],y=t&&g.length>1?(0,s.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,b=t&&g.length>1?void 0:Se(h).path;return g.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:y,to:b,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:y,to:b,items:g,isActive:r?()=>!1:void 0})}};function Ce(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function _e(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ce,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Te(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(s.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function je(){const e=0===(0,w.L)().navbar.items.length,t=I();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Te,{onClick:()=>t.hide()}),t.content]})}function Ae(){const e=(0,A.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(Y,{}),primaryMenu:(0,c.jsx)(_e,{}),secondaryMenu:(0,c.jsx)(je,{})}):null}const Le={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ne(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Re(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,A.e)(),{navbarRef:l,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=l?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:l,"aria-label":(0,s.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Ne,{onClick:i.toggle}),(0,c.jsx)(Ae,{})]})}var Pe=n(8780);const Oe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function De(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function Ie(e){let{error:t}=e;const n=(0,Pe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Oe.errorBoundaryError,children:n})}class Fe extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,A.e)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,s.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Fe,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(Ce,{...e})},t)))})}function qe(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function He(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(qe,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(W,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(G,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(ye.Z,{})})]})})}function Ze(){return(0,c.jsx)(Re,{children:(0,c.jsx)(He,{})})}function Ge(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,l=(0,X.Z)(n),s=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(K.Z,{className:"footer__link-item",...r?{href:o?s:r}:{to:l},...i,children:[a,r&&!(0,J.Z)(r)&&(0,c.jsx)(te.Z,{})]})}function Ve(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ge,{item:t})},t.href??t.to)}function We(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(Ve,{item:e},t)))})]})}function Qe(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(We,{column:e},t)))})}function Ye(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ke(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ge,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ke,{item:e}),t.length!==n+1&&(0,c.jsx)(Ye,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Qe,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(9965);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(K.Z,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const lt=r.memo(it),st=(0,N.Qc)([M.S,k.pl,L.OC,xe.L5,i.VC,function(e){let{children:t}=e;return(0,c.jsx)(R.n2,{children:(0,c.jsx)(A.M,{children:(0,c.jsx)(O,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(st,{children:t})}var ct=n(2503);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.Z,{as:"h1",className:"hero__title",children:(0,c.jsx)(s.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(De,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(Ie,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:l,description:s}=e;return(0,y.t)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.d,{title:l,description:s}),(0,c.jsx)(v,{}),(0,c.jsx)(j,{}),(0,c.jsx)(Ze,{}),(0,c.jsx)("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(o.Z,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(lt,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var r=n(3692),a=n(4996),o=n(2263),i=n(6668),l=n(9965),s=n(5893);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,s.jsx)(l.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,s.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:l}}=(0,i.L)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,a.Z)(l?.href||"/"),m=n?"":t,g=l?.alt??m;return(0,s.jsxs)(r.Z,{to:f,...p,...l?.target&&{target:l.target},children:[l&&(0,s.jsx)(u,{logo:l,alt:g,imageClassName:c}),null!=n&&(0,s.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const l={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var s=n(5893);function u(e){let{className:t,children:n}=e;const u=(0,o.Z)(),{colorMode:c}=(0,i.I)();return(0,s.jsx)(s.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,l.themedComponent,l[`themedComponent--${e}`])});return(0,s.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,s.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,s.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>u,z:()=>y});var r=n(7294),a=n(412),o=n(469),i=n(1442),l=n(5893);const s="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??s}`,height:`${t}px`}}function l(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.Z.canUseDOM)return e?c:d}function g(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:o}),(0,l.jsx)(t,{ref:c,style:u?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:s,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[s,u]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&u(t)}),[a,t]),a?(0,l.jsx)(g,{...n,collapsed:s}):null}function y(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,l.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>g,pl:()=>m});var r=n(7294),a=n(2389),o=n(12),i=n(902),l=n(6668),s=n(5893);const u=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,l.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,s.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>y,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),l=n(6668),s=n(5893);const u=r.createContext(void 0),c="theme",d=(0,i.WA)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,l.L)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const s=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||s.current?s.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,s.jsx)(u.Provider,{value:n,children:t})}function y(){const e=(0,r.useContext)(u);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>y});var r=n(7294),a=n(143),o=n(9935),i=n(6668),l=n(2802),s=n(902),u=n(12),c=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,l]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{l(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),l((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,c.jsx)(m.Provider,{value:n,children:t})}function y(e){let{children:t}=e;return l.cE?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function b(){const e=(0,r.useContext)(m);if(!e)throw new s.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find((e=>e.name===l))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>u,b:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),l=r.createContext(i);function s(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(l.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(l);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>m});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),l=n(902);function s(e){!function(e){const t=(0,i.k6)(),n=(0,l.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668),c=n(5893);const d=r.createContext(void 0);function p(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,l]=(0,r.useState)(!1);s((()=>{if(i)return l(!1),!1}));const c=(0,r.useCallback)((()=>{l((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=p();return(0,c.jsx)(d.Provider,{value:n,children:t})}function m(){const e=r.useContext(d);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>u,n2:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function l(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function s(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,l]=o,s=(0,a.Ql)(n);return(0,r.useEffect)((()=>{l({component:t,props:s})}),[l,t,s]),(0,r.useEffect)((()=>()=>l({component:null,props:null})),[l]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>l});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function l(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,l]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){l(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>f,_F:()=>h,cE:()=>p,SN:()=>E,lO:()=>k,vY:()=>S,oz:()=>x,s1:()=>w,f:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),l=n(373),s=n(4477),u=n(1116);function c(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const m=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),g=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||g(e.items,t))}function y(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function b(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,l.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>c([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${c(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,s.E)(),i=t.routes,l=i.find((e=>(0,a.LX)(n.pathname,e)));if(!l)return null;const u=l.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.H)(i),sidebarName:u,sidebarItems:c}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var r=n(7294),a=n(512),o=n(5742),i=n(226);function l(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var s=n(4996),u=n(2263);var c=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const l=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,s.C)(),p=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.Z,{children:[t&&(0,c.jsx)("title",{children:l}),t&&(0,c.jsx)("meta",{property:"og:title",content:l}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),l=(0,a.Z)(i,t);return(0,c.jsxs)(p.Provider,{value:l,children:[(0,c.jsx)(o.Z,{children:(0,c.jsx)("html",{className:l})}),n]})}function m(e){let{children:t}=e;const n=l(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>l,Qc:()=>c,Ql:()=>u,i6:()=>s,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function l(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>l});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function l(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>u,RF:()=>p});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),l=n(5893);const s=r.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(s.Provider,{value:n,children:t})}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>s});n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function s(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:l}}=(0,r.Z)(),{pathname:s}=(0,a.TH)(),u=(0,o.applyTrailingSlash)(s,{trailingSlash:n,baseUrl:e}),c=l===i?e:e.replace(`/${l}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},2358:(e,t,n)=>{"use strict";n.d(t,{lX:()=>S,q_:()=>A,ob:()=>g,PP:()=>N,Ep:()=>m,Hp:()=>h});var r=n(3117);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}const s=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=l(t),a=l(n);return r!==t||a!==n?e(r,a):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1};var u=n(2177);function c(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function p(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function f(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function m(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function g(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function h(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&s(e.state,t.state)}function y(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=g(e,t,p(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function s(e){return r.isMemo(e)?i:l[e.$$typeof]||a}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=s(t),g=s(n),h=0;h{"use strict";e.exports=function(e,t,n,r,a,o,i,l){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,l],c=0;(s=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){s(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),l=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,l=i.length;-1!==n.code.indexOf(a=t(r,l));)++l;return i[l]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=o.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),y=p.substring(m+f.length),b=[];g&&b.push.apply(b,i([g])),b.push(h),y&&b.push.apply(b,i([y])),"string"==typeof u?l.splice.apply(l,[s,1].concat(b)):u.content=b}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function u(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in a(t,o),l[t]=!0,n[t])l[i]=!0}t(s.require,u),t(s.optional,u),t(s.modify,u)}n[r]=l,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var p,f=r(s),m=c;a(m);){for(var g in p={},m){var h=s[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var y in d)if(!(y in c))for(var b in f(y))if(b in c){p[y]=!0;break}for(var v in m=p)c[v]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var a,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)a=r(e);else{var p=i(c.map((function(e){var t=u(e);return delete s[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return l[e]=a}for(var c in n)u(c);var d=[];for(var p in s)d.push(l[p]);return i(d)}(f,c,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n