From adb327ea0195a0b573fa9f833ae453fa2e8706a2 Mon Sep 17 00:00:00 2001 From: Tschakki Date: Wed, 24 Apr 2024 16:12:47 +0200 Subject: [PATCH] Deploy website - based on 43a2d56b730f8882e2eef4ece016d4398bf62c2f --- 404.html | 2 +- assets/js/a2ed4756.3903cfff.js | 1 + assets/js/a2ed4756.5871b3ba.js | 1 - assets/js/runtime~main.1bddeed8.js | 1 + assets/js/runtime~main.4fa83cc5.js | 1 - building-on-lisk/add-token-to-lisk.html | 2 +- building-on-lisk/add-token-to-lisk/custom-token.html | 2 +- building-on-lisk/add-token-to-lisk/standard-token.html | 2 +- building-on-lisk/deploying-smart-contract/with-Foundry.html | 2 +- building-on-lisk/deploying-smart-contract/with-Hardhat.html | 2 +- building-on-lisk/deploying-smart-contract/with-thirdweb.html | 2 +- building-on-lisk/interacting-with-the-blockchain/ethers.html | 2 +- building-on-lisk/interacting-with-the-blockchain/web3.html | 2 +- building-on-lisk/migration-guide.html | 2 +- category/building-on-lisk.html | 2 +- connecting-to-a-wallet.html | 2 +- contracts.html | 2 +- fees.html | 2 +- governance.html | 4 ++-- index.html | 2 +- interacting-with-blockchain/viem.html | 2 +- lisk-tools/api-providers.html | 2 +- lisk-tools/bridges.html | 2 +- lisk-tools/indexers.html | 2 +- lisk-tools/oracles.html | 2 +- lisk-tools/utilities.html | 2 +- markdown-page.html | 2 +- network-info.html | 2 +- search.html | 2 +- 29 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 assets/js/a2ed4756.3903cfff.js delete mode 100644 assets/js/a2ed4756.5871b3ba.js create mode 100644 assets/js/runtime~main.1bddeed8.js delete mode 100644 assets/js/runtime~main.4fa83cc5.js diff --git a/404.html b/404.html index c07608076..cdaea83d7 100644 --- a/404.html +++ b/404.html @@ -5,7 +5,7 @@ Lisk Documentation - + diff --git a/assets/js/a2ed4756.3903cfff.js b/assets/js/a2ed4756.3903cfff.js new file mode 100644 index 000000000..71f27f0b0 --- /dev/null +++ b/assets/js/a2ed4756.3903cfff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklisk_docs=self.webpackChunklisk_docs||[]).push([[55],{8719:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>h});var i=t(5893),o=t(1151),r=t(4866),s=t(5162);const a={title:"Governance",sidebar_position:1,slug:"/governance",description:"Documentation about the governance of the Lisk project.",keywords:["Lisk governance","Lisk DAO","Lisk Grants","Funding","Delegation","Voting","Proposals"]},l="Governance",c={id:"about-lisk/governance",title:"Governance",description:"Documentation about the governance of the Lisk project.",source:"@site/docs/about-lisk/governance.mdx",sourceDirName:"about-lisk",slug:"/governance",permalink:"/lisk-documentation/governance",draft:!1,unlisted:!1,editUrl:"https://github.com/LiskHQ/lisk-documentation/tree/main/docs/about-lisk/governance.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Governance",sidebar_position:1,slug:"/governance",description:"Documentation about the governance of the Lisk project.",keywords:["Lisk governance","Lisk DAO","Lisk Grants","Funding","Delegation","Voting","Proposals"]},sidebar:"documentationSidebar",previous:{title:"Network information, official explorers & faucets",permalink:"/lisk-documentation/network-info"},next:{title:"Fees",permalink:"/lisk-documentation/fees"}},d={},h=[{value:"Lisk DAO",id:"lisk-dao",level:2},{value:"Tools",id:"tools",level:3},{value:"Treasury",id:"treasury",level:3},{value:"Staking rewards",id:"staking-rewards",level:3},{value:"Staking rewards distribution",id:"staking-rewards-distribution",level:4},{value:"Proposals",id:"proposals",level:3},{value:"Proposal types",id:"proposal-types",level:4},{value:"Proposal Evaluation",id:"proposal-evaluation",level:4},{value:"Implementation of funding proposals",id:"implementation-of-funding-proposals",level:4},{value:"Implementation of general proposals",id:"implementation-of-general-proposals",level:4},{value:"Voting Power",id:"voting-power",level:3},{value:"Voting power calculation:",id:"voting-power-calculation",level:4},{value:"Boosting the voting power",id:"boosting-the-voting-power",level:4},{value:"Delegation",id:"delegation",level:3},{value:"Benefits of being a delegate",id:"benefits-of-being-a-delegate",level:4},{value:"Administrative role of the Onchain Foundation",id:"administrative-role-of-the-onchain-foundation",level:3},{value:"Governance Goals",id:"governance-goals",level:2},{value:"Capture resistance",id:"capture-resistance",level:3},{value:"Resource allocation",id:"resource-allocation",level:3},{value:"Design Principles",id:"design-principles",level:2},{value:"Governance minimization",id:"governance-minimization",level:3},{value:"Iteration",id:"iteration",level:3},{value:"Forking",id:"forking",level:3}];function u(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"governance",children:"Governance"}),"\n",(0,i.jsxs)(n.p,{children:["At the moment, the security of the Lisk Mainnet is dependent on a ",(0,i.jsx)(n.a,{href:"https://www.coindesk.com/tech/2020/11/10/multisignature-wallets-can-keep-your-coins-safer-if-you-use-them-right/",children:"multisig wallet"})," managed by several individuals of the Onchain Foundation.\nThis multisig wallet can be used to upgrade core Lisk Mainnet smart contracts without upgrade delays."]}),"\n",(0,i.jsx)(n.p,{children:"To decentralize the governance of the Lisk project further, Lisk introduces a decentralized autonomous organization, the Lisk DAO, which allows Lisk token holders to participate together in the governance of the Lisk project."}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["Every LSK token holder who participates in the DAO is rewared with ",(0,i.jsx)(n.a,{href:"#staking-rewards",children:"staking rewards"}),", to incentivize participation in the Lisk governance."]})}),"\n",(0,i.jsx)(n.h2,{id:"lisk-dao",children:"Lisk DAO"}),"\n",(0,i.jsxs)(n.p,{children:["The Lisk DAO provides the opportunity for LSK token holders to participate in the overall governance of the Lisk project, including allocation of funds, protocol updates, or strategic directions. Decisions are made via ",(0,i.jsx)(n.a,{href:"#proposals",children:"proposals"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"tools",children:"Tools"}),"\n",(0,i.jsx)(n.p,{children:"The following tools are available to participate in the Lisk DAO:"}),"\n",(0,i.jsxs)(r.Z,{children:[(0,i.jsxs)(s.Z,{value:"tally",label:"Tally",children:[(0,i.jsx)(n.p,{children:"Tally is the platform used to create and vote for proposals of the Lisk DAO."}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.a,{href:"https://www.tally.xyz/gov/3rd-testing",children:"Lisk DAO Tally instance"})," is the place where users can vote on proposals or delegate their voting power."]})]}),(0,i.jsx)(s.Z,{value:"forum",label:"Forum",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.a,{href:"https://forum.lisk.com/",children:"Lisk Governance Forum"})," is the place for the community to discuss the Lisk gonvernance and draft proposals, before they are submitted on Tally."]})}),(0,i.jsx)(s.Z,{value:"discord",label:"Discord",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"#lisk-dao"})," channel in the ",(0,i.jsx)(n.a,{href:"https://lisk.chat",children:"Lisk Chat"})," Discord server is a comunity chat dedicated to discuss topics all around the Lisk DAO, share news and updates, or share ideas for new proposals."]})})]}),"\n",(0,i.jsx)(n.h3,{id:"treasury",children:"Treasury"}),"\n","\n",(0,i.jsxs)(n.p,{children:["The Lisk DAO has an associated treasury, which resides in the ",(0,i.jsx)(n.a,{href:"https://sepolia-blockscout.lisk.com/address/0x4b727D3f74DD4c124Ced030335DebD5e7EBB8366",children:"TimeLock contract"}),".\nThe current balance of the treasury can be checked on the ",(0,i.jsx)(n.a,{href:"https://sepolia-blockscout.lisk.com/address/0x4b727D3f74DD4c124Ced030335DebD5e7EBB8366",children:"Lisk BlockScout Explorer"}),".\nThe treasury is NOT managed by the Onchain Foundation.\nInstead, the funds from the treasury can only be transferred via successful ",(0,i.jsx)(n.a,{href:"#proposal-types",children:"funding proposals"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Tokens for the Lisk DAO fund are minted newly and added to the Lisk DAO according to the following vesting plan:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Year"}),(0,i.jsx)(n.th,{children:"Amount (LSK)"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"2024"}),(0,i.jsx)(n.td,{children:"15,000,000"}),(0,i.jsx)(n.td,{children:"6,250,000 LSK liquid at migration, 8,750,000 LSK are linearly released in 2024, starting from the migration."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"2025"}),(0,i.jsx)(n.td,{children:"15,000,000"}),(0,i.jsx)(n.td,{children:"LSK are linearly released over the year."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"2026"}),(0,i.jsx)(n.td,{children:"15,000,000"}),(0,i.jsx)(n.td,{children:"LSK are linearly released over the year."})]})]})]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"The DAO fund may be increased further in the future by additional 100,000,000 LSK over the following 7 years, if the DAO members approve the corresponding proposals."})}),"\n",(0,i.jsx)(n.h3,{id:"staking-rewards",children:"Staking rewards"}),"\n",(0,i.jsxs)(n.p,{children:["Staking rewards incentivize users to participate in governance, making the decision making more decentralized and community-driven.",(0,i.jsx)(n.br,{}),"\n","In short, users get rewards for locking/staking tokens for governance participation."]}),"\n",(0,i.jsxs)(n.p,{children:["We apply a ",(0,i.jsx)(n.strong,{children:"time-weight boosting"})," on rewards:\nThe longer locking period a user sets, the more rewards they get.\nThis way, we reward token holders for committing long-term to the Lisk project so we attract them as long-term advocates for Lisk while reducing short-term speculation and volatility."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Users can modify their locking positions (increase amount, pause locking duration) at any time they want."}),"\n",(0,i.jsx)(n.li,{children:"Users can claim their rewards at any time."}),"\n",(0,i.jsxs)(n.li,{children:["Users have the option to ",(0,i.jsx)(n.strong,{children:"pause"})," their locking period countdown.\nThat means, the remaining locking duration remains fixed until the user decides to resume it.\nNote that this results in ",(0,i.jsx)(n.strong,{children:"higher staking rewards"}),", since the weight remains fixed, as opposed to a weight daily decreasing when the countdown is active."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"staking-rewards-distribution",children:"Staking rewards distribution"}),"\n",(0,i.jsxs)(n.p,{children:["Rewards are calculated on a daily basis, based on the amount locked and the remaining locking duration.\nConcretely, the weight for a locked amount is given by ",(0,i.jsx)(n.code,{children:"lockedAmount * (remainingLockingDurationInDays + 150)"}),".\nThe total daily amount of staking rewards, 8,000,000 / 365 LSK, is then shared by all users proportional to their weight."]}),"\n",(0,i.jsx)(n.p,{children:"We plan to use a total of 24 million LSK tokens over the course of 3 years for the LSK staking rewards program (8 million LSK per year).\nAfter the end of this 3 year span, we expect that developments in the Optimism Superchain Ecosystem (shared, decentralized sequencers) would lead us to a new staking mechanism."}),"\n",(0,i.jsx)(n.p,{children:"However, even in case the current staking mechanism has to be continued, extra funding could be provided; potential sources are:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"the unclaimed LSK tokens (recall they would be moved to Lisk DAO treasury after the 2-years claim window)"}),"\n",(0,i.jsx)(n.li,{children:"the staking rewards of the Onchain Foundation, which would be provided to the ecosystem and"}),"\n",(0,i.jsx)(n.li,{children:"the profit of the Onchain Foundation from sequencing rewards."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"proposals",children:"Proposals"}),"\n",(0,i.jsxs)(n.p,{children:["Proposal are created on ",(0,i.jsx)(n.a,{href:"#tally",children:"Tally"}),".\nFor spam protection, the following requirement must be fulfilled in order to create a proposal:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Proposal threshold"}),": For creating a proposal, the voting power of the proposer must be at least 300,000 vpLSK, i.e., the value corresponding to 100,000 LSK locked for 2 years where the countdown is paused."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"proposal-types",children:"Proposal types"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Funding"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"General"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.strong,{children:"Description"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"A proposal for receiving a certain amount of funds to an address. If approved, the recipient receives the amount given in the proposal."}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"General proposals about protocol parameters or the project direction in general that may be followed by the Lisk Foundation or not, depending also on feasibility and cost."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.strong,{children:"Binding?"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Yes"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"No"})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"proposal-evaluation",children:"Proposal Evaluation"}),"\n",(0,i.jsx)(n.p,{children:"The following requirements must be fulfilled for a proposal to pass:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Quorum"}),": For a proposal to pass, the \u201cyes\u201d and \u201cabstain\u201d votes must sum up at least to 24,000,000 vpLSK, i.e., the value that corresponds to 8,000,000 LSK locked for 2 years where the countdown is paused."]}),"\n",(0,i.jsx)(n.li,{children:"There must be strictly more \u201cyes\u201d than \u201cno\u201d votes."}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"implementation-of-funding-proposals",children:"Implementation of funding proposals"}),"\n",(0,i.jsxs)(n.p,{children:["The transfer from the ",(0,i.jsx)(n.a,{href:"#treasury",children:"Lisk DAO treasury"})," can be executed by anyone, once a funding proposal is approved.\nFunding proposals are ",(0,i.jsx)(n.strong,{children:"binding"}),", which means that no-one, not even the Onchain Foundation, can prevent the transfer, if the proposal passed."]}),"\n",(0,i.jsx)(n.h4,{id:"implementation-of-general-proposals",children:"Implementation of general proposals"}),"\n",(0,i.jsx)(n.p,{children:"For approved general proposals, the Onchain Foundation will determine whether the proposal is safe, secure, consistent with the scope of Lisk governance, and capable of being implemented in a legally compliant manner.\nIf it is, the Foundation will act diligently and in a commercially reasonable manner to cause the proposal to be implemented."}),"\n",(0,i.jsx)(n.h3,{id:"voting-power",children:"Voting Power"}),"\n",(0,i.jsxs)(n.p,{children:["To get some voting power, users must ",(0,i.jsx)(n.strong,{children:"lock/stake"})," some LSK tokens. This works as follows:"]}),"\n",(0,i.jsx)(n.p,{children:"Users can lock tokens for a specific locking duration (between 2 weeks and 2 years).\nAfter the locking duration ends, the users can redeem their tokens.\nLocking happens on our portal."}),"\n",(0,i.jsxs)(n.p,{children:["Initially, the voting power of a locked token will be constant during its locking duration.\nBut it is possible to ",(0,i.jsx)(n.a,{href:"#boosting-the-voting-power",children:"boost the voting power"})," by up to 200% where the boost is proportional to remaining locking duration."]}),"\n",(0,i.jsx)(n.p,{children:"We consider to transition to a voting-escrow-Token model at some point.\nIn this model the voting power decreases linearly when getting closer to end of the locking duration.\nBut this requires custom integration from Tally."}),"\n",(0,i.jsx)(n.h4,{id:"voting-power-calculation",children:"Voting power calculation:"}),"\n",(0,i.jsx)(n.p,{children:"Locked tokens provide a voting power proportional to the amount of locked tokens. Concretely, 1 locked LSK provides one unit of voting power."}),"\n",(0,i.jsx)(n.h4,{id:"boosting-the-voting-power",children:"Boosting the voting power"}),"\n",(0,i.jsxs)(n.p,{children:["To enable voting power proportional to the promised locking duration, users have the option to pause the countdown of the locking period.\nThat means, the counting towards the end of the locking period is paused until the user decides to resume it.\nIn the case of pausing, the user receives a boost of the voting power. It is set to ",(0,i.jsx)(n.code,{children:"lockedAmount * (1 + remainingLockingDurationInDays/365)"}),".\nHence, the voting power can be increased by up to 200%."]}),"\n",(0,i.jsx)(n.h3,{id:"delegation",children:"Delegation"}),"\n",(0,i.jsx)(n.p,{children:"The Governor framework requires to delegate the voting power in order to use it.\nThe voting power can be delegated to other users or to themselves.\nBut self-delegation is a requirement if users want to vote themselves."}),"\n",(0,i.jsxs)(n.p,{children:["Delegation happens on ",(0,i.jsx)(n.a,{href:"#tally",children:"Tally"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"benefits-of-being-a-delegate",children:"Benefits of being a delegate"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Impact"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Have influence on the direction of the Lisk project."}),"\n",(0,i.jsx)(n.li,{children:"Decide directly about fund allocation of the Lisk DAO treasury."}),"\n"]}),"\n","\n"]}),"\n"]}),"\n","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Reputation"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Gain reputation by being a delegate."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"administrative-role-of-the-onchain-foundation",children:"Administrative role of the Onchain Foundation"}),"\n",(0,i.jsx)(n.p,{children:"The foundation will have an administrative role and will take care of the following"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Removal of draft proposals that reasonably appear to be fraudulent, spam-oriented, defamatory, hateful, or otherwise inappropriate."}),"\n",(0,i.jsx)(n.li,{children:"Management of mutually contradictory proposals that are submitted simultaneously or in close proximity to one another."}),"\n",(0,i.jsx)(n.li,{children:"Administration of network maintenance, such as emergency bug fixes or release rollbacks (with or without a governance vote)."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"governance-goals",children:"Governance Goals"}),"\n",(0,i.jsx)(n.p,{children:"There are two primary goals of Lisks governance system:"}),"\n",(0,i.jsx)(n.h3,{id:"capture-resistance",children:"Capture resistance"}),"\n",(0,i.jsx)(n.p,{children:"Governance plays a key role in securing the anti-capture and censorship resistance of the Lisk protocol.\nGovernance should:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"make it possible for the chain or network operations to continue without reliance on any individual entity, and"}),"\n",(0,i.jsx)(n.li,{children:"prevent any one entity or small group of entities from being able to control or censor the protocol or its functions."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"resource-allocation",children:"Resource allocation"}),"\n",(0,i.jsx)(n.p,{children:"Governance\u2019s second primary responsibility is to allocate resources effectively to support the Lisks vision and accrue sustainable value to the Lisk DAO.\nVision & value may often be in conflict, and allocating resources effectively involves a blend of short- and long-term thinking.\nThis includes allocation of both the token treasury and protocol revenue."}),"\n",(0,i.jsx)(n.h2,{id:"design-principles",children:"Design Principles"}),"\n",(0,i.jsx)(n.p,{children:"Design decisions for Lisks governance system should be made in line with three key principles:"}),"\n",(0,i.jsx)(n.h3,{id:"governance-minimization",children:"Governance minimization"}),"\n",(0,i.jsx)(n.p,{children:"The set of governance responsibilities that are encoded onchain or formalized in voting processes should remain as minimal as possible.\nThe Lisk DAO aims to reduce governance to its essence and to avoid introducing regulation where freedom can achieve the same result.\nThis principle is key to encouraging permissionless innovation.\nIn practice, this looks like a minimal set of:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"onchain governance processes to upgrade Lisk contracts and tune the economic parameters of the system, and"}),"\n",(0,i.jsx)(n.li,{children:"offchain social processes to maintain a healthy community."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"iteration",children:"Iteration"}),"\n",(0,i.jsx)(n.p,{children:"Lisk is decentralizing iteratively to increase the chances of building a healthy system that lasts for the long-term.\nThis means the Foundation will play a role in establishing processes, help the DAO through its first few rapid feedback loops in improving those processes, then reduce its role over time.\n(This also means the design principles and goals outlined in this document may be invalidated or updated along the way.)\nThis iteration gives the DAO a chance to learn how to make thoughtful decisions using an un-intuitive but essential loop: introduce a governance process that involves active participation, then gradually work to automate or minimize it over time.\nGovernance\u2019s responsibility then becomes to adjust the autopilot when necessary, not to keep two hands on the wheel."}),"\n",(0,i.jsx)(n.h3,{id:"forking",children:"Forking"}),"\n",(0,i.jsx)(n.p,{children:"The ability to fork and the ability to exit are critical to protect individual freedoms.\nAll of the core software and tooling required to run the Lisk network should be made open source, freely available, and easy to use such that a fork is always a viable alternative.\nThis isn\u2019t just about vibes: in crypto, where credible commitments not to extract are what makes decentralized platforms valuable, this is a competitive advantage.\nParticipants will be more likely to join Lisk if they have the ability to make an alternative."})]})}function p(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5162:(e,n,t)=>{t.d(n,{Z:()=>s});t(7294);var i=t(512);const o={tabItem:"tabItem_Ymn6"};var r=t(5893);function s(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.Z)(o.tabItem,s),hidden:t,children:n})}},4866:(e,n,t)=>{t.d(n,{Z:()=>y});var i=t(7294),o=t(512),r=t(2466),s=t(6550),a=t(469),l=t(1980),c=t(7392),d=t(12);function h(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:t}=e;return(0,i.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:t,attributes:i,default:o}}=e;return{value:n,label:t,attributes:i,default:o}}))}(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:t}=e;const o=(0,s.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,l._X)(r),(0,i.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(o.location.search);n.set(r,e),o.replace({...o.location,search:n.toString()})}),[r,o])]}function m(e){const{defaultValue:n,queryString:t=!1,groupId:o}=e,r=u(e),[s,l]=(0,i.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const i=t.find((e=>e.default))??t[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:n,tabValues:r}))),[c,h]=g({queryString:t,groupId:o}),[m,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[o,r]=(0,d.Nk)(t);return[o,(0,i.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:o}),v=(()=>{const e=c??m;return p({value:e,tabValues:r})?e:null})();(0,a.Z)((()=>{v&&l(v)}),[v]);return{selectedValue:s,selectValue:(0,i.useCallback)((e=>{if(!p({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),f(e)}),[h,f,r]),tabValues:r}}var f=t(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(5893);function k(e){let{className:n,block:t,selectedValue:i,selectValue:s,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const n=e.currentTarget,t=l.indexOf(n),o=a[t].value;o!==i&&(c(n),s(o))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":t},n),children:a.map((e=>{let{value:n,label:t,attributes:r}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,ref:e=>l.push(e),onKeyDown:h,onClick:d,...r,className:(0,o.Z)("tabs__item",v.tabItem,r?.className,{"tabs__item--active":i===n}),children:t??n},n)}))})}function b(e){let{lazy:n,children:t,selectedValue:o}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===o));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==o})))})}function j(e){const n=m(e);return(0,x.jsxs)("div",{className:(0,o.Z)("tabs-container",v.tabList),children:[(0,x.jsx)(k,{...e,...n}),(0,x.jsx)(b,{...e,...n})]})}function y(e){const n=(0,f.Z)();return(0,x.jsx)(j,{...e,children:h(e.children)},String(n))}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(7294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a2ed4756.5871b3ba.js b/assets/js/a2ed4756.5871b3ba.js deleted file mode 100644 index aca21e835..000000000 --- a/assets/js/a2ed4756.5871b3ba.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklisk_docs=self.webpackChunklisk_docs||[]).push([[55],{8719:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>c,toc:()=>h});var i=t(5893),o=t(1151),r=t(4866),s=t(5162);const a={title:"Governance",sidebar_position:1,slug:"/governance",description:"Documentation about the governance of the Lisk project.",keywords:["Lisk governance","Lisk DAO","Lisk Grants","Funding","Delegation","Voting","Proposals"]},l="Governance",c={id:"about-lisk/governance",title:"Governance",description:"Documentation about the governance of the Lisk project.",source:"@site/docs/about-lisk/governance.mdx",sourceDirName:"about-lisk",slug:"/governance",permalink:"/lisk-documentation/governance",draft:!1,unlisted:!1,editUrl:"https://github.com/LiskHQ/lisk-documentation/tree/main/docs/about-lisk/governance.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Governance",sidebar_position:1,slug:"/governance",description:"Documentation about the governance of the Lisk project.",keywords:["Lisk governance","Lisk DAO","Lisk Grants","Funding","Delegation","Voting","Proposals"]},sidebar:"documentationSidebar",previous:{title:"Network information, official explorers & faucets",permalink:"/lisk-documentation/network-info"},next:{title:"Fees",permalink:"/lisk-documentation/fees"}},d={},h=[{value:"Lisk DAO",id:"lisk-dao",level:2},{value:"Tools",id:"tools",level:3},{value:"Treasury",id:"treasury",level:3},{value:"Staking rewards",id:"staking-rewards",level:3},{value:"Staking rewards distribution",id:"staking-rewards-distribution",level:4},{value:"Proposals",id:"proposals",level:3},{value:"Proposal types",id:"proposal-types",level:4},{value:"Proposal Evaluation",id:"proposal-evaluation",level:4},{value:"Implementation of funding proposals",id:"implementation-of-funding-proposals",level:4},{value:"Implementation of general proposals",id:"implementation-of-general-proposals",level:4},{value:"Voting Power",id:"voting-power",level:3},{value:"Voting power calculation:",id:"voting-power-calculation",level:4},{value:"Boosting the voting power",id:"boosting-the-voting-power",level:4},{value:"Delegation",id:"delegation",level:3},{value:"Benefits of being a delegate",id:"benefits-of-being-a-delegate",level:4},{value:"Administrative role of the Onchain Foundation",id:"administrative-role-of-the-onchain-foundation",level:3},{value:"Governance Goals",id:"governance-goals",level:2},{value:"Capture resistance",id:"capture-resistance",level:3},{value:"Resource allocation",id:"resource-allocation",level:3},{value:"Design Principles",id:"design-principles",level:2},{value:"Governance minimization",id:"governance-minimization",level:3},{value:"Iteration",id:"iteration",level:3},{value:"Forking",id:"forking",level:3}];function u(e){const n={a:"a",admonition:"admonition",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"governance",children:"Governance"}),"\n",(0,i.jsxs)(n.p,{children:["At the moment, the security of the Lisk Mainnet is dependent on a ",(0,i.jsx)(n.a,{href:"https://www.coindesk.com/tech/2020/11/10/multisignature-wallets-can-keep-your-coins-safer-if-you-use-them-right/",children:"multisig wallet"})," managed by several individuals of the Onchain Foundation.\nThis multisig wallet can be used to upgrade core Lisk Mainnet smart contracts without upgrade delays."]}),"\n",(0,i.jsx)(n.p,{children:"To decentralize the governance of the Lisk project further, Lisk introduces a decentralized autonomous organization, the Lisk DAO, which allows Lisk token holders to participate together in the governance of the Lisk project."}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["Every LSK token holder who participates in the DAO is rewared with ",(0,i.jsx)(n.a,{href:"#staking-rewards",children:"staking rewards"}),", to incentivize participation in the Lisk governance."]})}),"\n",(0,i.jsx)(n.h2,{id:"lisk-dao",children:"Lisk DAO"}),"\n",(0,i.jsxs)(n.p,{children:["The Lisk DAO provides the opportunity for LSK token holders to participate in the overall governance of the Lisk project, including allocation of funds, protocol updates, or strategic directions. Decisions are made via ",(0,i.jsx)(n.a,{href:"#proposals",children:"proposals"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"tools",children:"Tools"}),"\n",(0,i.jsx)(n.p,{children:"The following tools are available to participate in the Lisk DAO:"}),"\n",(0,i.jsxs)(r.Z,{children:[(0,i.jsxs)(s.Z,{value:"tally",label:"Tally",children:[(0,i.jsx)(n.p,{children:"Tally is the platform used to create and vote for proposals of the Lisk DAO."}),(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.a,{href:"https://www.tally.xyz/gov/3rd-testing",children:"Lisk DAO Tally instance"})," is the place where users can vote on proposals or delegate their voting power."]})]}),(0,i.jsx)(s.Z,{value:"forum",label:"Forum",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.a,{href:"https://forum.lisk.com/",children:"Lisk Governance Forum"})," is the place for the community to discuss the Lisk gonvernance and draft proposals, before they are submitted on Tally."]})}),(0,i.jsx)(s.Z,{value:"discord",label:"Discord",children:(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"#lisk-dao"})," channel in the ",(0,i.jsx)(n.a,{href:"https://lisk.chat",children:"Lisk Chat"})," Discord server is a comunity chat dedicated to discuss topics all around the Lisk DAO, share news and updates, or share ideas for new proposals."]})})]}),"\n",(0,i.jsx)(n.h3,{id:"treasury",children:"Treasury"}),"\n","\n",(0,i.jsxs)(n.p,{children:["The Lisk DAO has an associated treasury, which resides in the [TimeLock contract].\nThe current balance of the treasury can be checked on the ",(0,i.jsx)(n.a,{href:"https://sepolia-blockscout.lisk.com/address/0x4b727D3f74DD4c124Ced030335DebD5e7EBB8366",children:"Lisk BlockScout Explorer"}),".\nThe treasury is NOT managed by the Onchain Foundation.\nInstead, the funds from the treasury can only be transferred via successful ",(0,i.jsx)(n.a,{href:"#proposal-types",children:"funding proposals"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"Tokens for the Lisk DAO fund are minted newly and added to the Lisk DAO according to the following vesting plan:"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Year"}),(0,i.jsx)(n.th,{children:"Amount (LSK)"}),(0,i.jsx)(n.th,{children:"Description"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"2024"}),(0,i.jsx)(n.td,{children:"15,000,000"}),(0,i.jsx)(n.td,{children:"6,250,000 LSK liquid at migration, 8,750,000 LSK are linearly released in 2024, starting from the migration."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"2025"}),(0,i.jsx)(n.td,{children:"15,000,000"}),(0,i.jsx)(n.td,{children:"LSK are linearly released over the year."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"2026"}),(0,i.jsx)(n.td,{children:"15,000,000"}),(0,i.jsx)(n.td,{children:"LSK are linearly released over the year."})]})]})]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsx)(n.p,{children:"The DAO fund may be increased further in the future by additional 100,000,000 LSK over the following 7 years, if the DAO members approve the corresponding proposals."})}),"\n",(0,i.jsx)(n.h3,{id:"staking-rewards",children:"Staking rewards"}),"\n",(0,i.jsxs)(n.p,{children:["Staking rewards incentivize users to participate in governance, making the decision making more decentralized and community-driven.",(0,i.jsx)(n.br,{}),"\n","In short, users get rewards for locking/staking tokens for governance participation."]}),"\n",(0,i.jsxs)(n.p,{children:["We apply a ",(0,i.jsx)(n.strong,{children:"time-weight boosting"})," on rewards:\nThe longer locking period a user sets, the more rewards they get.\nThis way, we reward token holders for committing long-term to the Lisk project so we attract them as long-term advocates for Lisk while reducing short-term speculation and volatility."]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Users can modify their locking positions (increase amount, pause locking duration) at any time they want."}),"\n",(0,i.jsx)(n.li,{children:"Users can claim their rewards at any time."}),"\n",(0,i.jsxs)(n.li,{children:["Users have the option to ",(0,i.jsx)(n.strong,{children:"pause"})," their locking period countdown.\nThat means, the remaining locking duration remains fixed until the user decides to resume it.\nNote that this results in ",(0,i.jsx)(n.strong,{children:"higher staking rewards"}),", since the weight remains fixed, as opposed to a weight daily decreasing when the countdown is active."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"staking-rewards-distribution",children:"Staking rewards distribution"}),"\n",(0,i.jsxs)(n.p,{children:["Rewards are calculated on a daily basis, based on the amount locked and the remaining locking duration.\nConcretely, the weight for a locked amount is given by ",(0,i.jsx)(n.code,{children:"lockedAmount * (remainingLockingDurationInDays + 150)"}),".\nThe total daily amount of staking rewards, 8,000,000 / 365 LSK, is then shared by all users proportional to their weight."]}),"\n",(0,i.jsx)(n.p,{children:"We plan to use a total of 24 million LSK tokens over the course of 3 years for the LSK staking rewards program (8 million LSK per year).\nAfter the end of this 3 year span, we expect that developments in the Optimism Superchain Ecosystem (shared, decentralized sequencers) would lead us to a new staking mechanism."}),"\n",(0,i.jsx)(n.p,{children:"However, even in case the current staking mechanism has to be continued, extra funding could be provided; potential sources are:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"the unclaimed LSK tokens (recall they would be moved to Lisk DAO treasury after the 2-years claim window)"}),"\n",(0,i.jsx)(n.li,{children:"the staking rewards of the Onchain Foundation, which would be provided to the ecosystem and"}),"\n",(0,i.jsx)(n.li,{children:"the profit of the Onchain Foundation from sequencing rewards."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"proposals",children:"Proposals"}),"\n",(0,i.jsxs)(n.p,{children:["Proposal are created on ",(0,i.jsx)(n.a,{href:"#tally",children:"Tally"}),".\nFor spam protection, the following requirement must be fulfilled in order to create a proposal:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Proposal threshold"}),": For creating a proposal, the voting power of the proposer must be at least 300,000 vpLSK, i.e., the value corresponding to 100,000 LSK locked for 2 years where the countdown is paused."]}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"proposal-types",children:"Proposal types"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"Funding"}),(0,i.jsx)(n.th,{style:{textAlign:"left"},children:"General"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.strong,{children:"Description"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"A proposal for receiving a certain amount of funds to an address. If approved, the recipient receives the amount given in the proposal."}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"General proposals about protocol parameters or the project direction in general that may be followed by the Lisk Foundation or not, depending also on feasibility and cost."})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{style:{textAlign:"left"},children:(0,i.jsx)(n.strong,{children:"Binding?"})}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"Yes"}),(0,i.jsx)(n.td,{style:{textAlign:"left"},children:"No"})]})]})]}),"\n",(0,i.jsx)(n.h4,{id:"proposal-evaluation",children:"Proposal Evaluation"}),"\n",(0,i.jsx)(n.p,{children:"The following requirements must be fulfilled for a proposal to pass:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Quorum"}),": For a proposal to pass, the \u201cyes\u201d and \u201cabstain\u201d votes must sum up at least to 24,000,000 vpLSK, i.e., the value that corresponds to 8,000,000 LSK locked for 2 years where the countdown is paused."]}),"\n",(0,i.jsx)(n.li,{children:"There must be strictly more \u201cyes\u201d than \u201cno\u201d votes."}),"\n"]}),"\n",(0,i.jsx)(n.h4,{id:"implementation-of-funding-proposals",children:"Implementation of funding proposals"}),"\n",(0,i.jsxs)(n.p,{children:["The transfer from the ",(0,i.jsx)(n.a,{href:"#treasury",children:"Lisk DAO treasury"})," can be executed by anyone, once a funding proposal is approved.\nFunding proposals are ",(0,i.jsx)(n.strong,{children:"binding"}),", which means that no-one, not even the Onchain Foundation, can prevent the transfer, if the proposal passed."]}),"\n",(0,i.jsx)(n.h4,{id:"implementation-of-general-proposals",children:"Implementation of general proposals"}),"\n",(0,i.jsx)(n.p,{children:"For approved general proposals, the Onchain Foundation will determine whether the proposal is safe, secure, consistent with the scope of Lisk governance, and capable of being implemented in a legally compliant manner.\nIf it is, the Foundation will act diligently and in a commercially reasonable manner to cause the proposal to be implemented."}),"\n",(0,i.jsx)(n.h3,{id:"voting-power",children:"Voting Power"}),"\n",(0,i.jsxs)(n.p,{children:["To get some voting power, users must ",(0,i.jsx)(n.strong,{children:"lock/stake"})," some LSK tokens. This works as follows:"]}),"\n",(0,i.jsx)(n.p,{children:"Users can lock tokens for a specific locking duration (between 2 weeks and 2 years).\nAfter the locking duration ends, the users can redeem their tokens.\nLocking happens on our portal."}),"\n",(0,i.jsxs)(n.p,{children:["Initially, the voting power of a locked token will be constant during its locking duration.\nBut it is possible to ",(0,i.jsx)(n.a,{href:"#boosting-the-voting-power",children:"boost the voting power"})," by up to 200% where the boost is proportional to remaining locking duration."]}),"\n",(0,i.jsx)(n.p,{children:"We consider to transition to a voting-escrow-Token model at some point.\nIn this model the voting power decreases linearly when getting closer to end of the locking duration.\nBut this requires custom integration from Tally."}),"\n",(0,i.jsx)(n.h4,{id:"voting-power-calculation",children:"Voting power calculation:"}),"\n",(0,i.jsx)(n.p,{children:"Locked tokens provide a voting power proportional to the amount of locked tokens. Concretely, 1 locked LSK provides one unit of voting power."}),"\n",(0,i.jsx)(n.h4,{id:"boosting-the-voting-power",children:"Boosting the voting power"}),"\n",(0,i.jsxs)(n.p,{children:["To enable voting power proportional to the promised locking duration, users have the option to pause the countdown of the locking period.\nThat means, the counting towards the end of the locking period is paused until the user decides to resume it.\nIn the case of pausing, the user receives a boost of the voting power. It is set to ",(0,i.jsx)(n.code,{children:"lockedAmount * (1 + remainingLockingDurationInDays/365)"}),".\nHence, the voting power can be increased by up to 200%."]}),"\n",(0,i.jsx)(n.h3,{id:"delegation",children:"Delegation"}),"\n",(0,i.jsx)(n.p,{children:"The Governor framework requires to delegate the voting power in order to use it.\nThe voting power can be delegated to other users or to themselves.\nBut self-delegation is a requirement if users want to vote themselves."}),"\n",(0,i.jsxs)(n.p,{children:["Delegation happens on ",(0,i.jsx)(n.a,{href:"#tally",children:"Tally"}),"."]}),"\n",(0,i.jsx)(n.h4,{id:"benefits-of-being-a-delegate",children:"Benefits of being a delegate"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Impact"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Have influence on the direction of the Lisk project."}),"\n",(0,i.jsx)(n.li,{children:"Decide directly about fund allocation of the Lisk DAO treasury."}),"\n"]}),"\n","\n"]}),"\n"]}),"\n","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Reputation"}),":","\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Gain reputation by being a delegate."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"administrative-role-of-the-onchain-foundation",children:"Administrative role of the Onchain Foundation"}),"\n",(0,i.jsx)(n.p,{children:"The foundation will have an administrative role and will take care of the following"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"Removal of draft proposals that reasonably appear to be fraudulent, spam-oriented, defamatory, hateful, or otherwise inappropriate."}),"\n",(0,i.jsx)(n.li,{children:"Management of mutually contradictory proposals that are submitted simultaneously or in close proximity to one another."}),"\n",(0,i.jsx)(n.li,{children:"Administration of network maintenance, such as emergency bug fixes or release rollbacks (with or without a governance vote)."}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"governance-goals",children:"Governance Goals"}),"\n",(0,i.jsx)(n.p,{children:"There are two primary goals of Lisks governance system:"}),"\n",(0,i.jsx)(n.h3,{id:"capture-resistance",children:"Capture resistance"}),"\n",(0,i.jsx)(n.p,{children:"Governance plays a key role in securing the anti-capture and censorship resistance of the Lisk protocol.\nGovernance should:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"make it possible for the chain or network operations to continue without reliance on any individual entity, and"}),"\n",(0,i.jsx)(n.li,{children:"prevent any one entity or small group of entities from being able to control or censor the protocol or its functions."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"resource-allocation",children:"Resource allocation"}),"\n",(0,i.jsx)(n.p,{children:"Governance\u2019s second primary responsibility is to allocate resources effectively to support the Lisks vision and accrue sustainable value to the Lisk DAO.\nVision & value may often be in conflict, and allocating resources effectively involves a blend of short- and long-term thinking.\nThis includes allocation of both the token treasury and protocol revenue."}),"\n",(0,i.jsx)(n.h2,{id:"design-principles",children:"Design Principles"}),"\n",(0,i.jsx)(n.p,{children:"Design decisions for Lisks governance system should be made in line with three key principles:"}),"\n",(0,i.jsx)(n.h3,{id:"governance-minimization",children:"Governance minimization"}),"\n",(0,i.jsx)(n.p,{children:"The set of governance responsibilities that are encoded onchain or formalized in voting processes should remain as minimal as possible.\nThe Lisk DAO aims to reduce governance to its essence and to avoid introducing regulation where freedom can achieve the same result.\nThis principle is key to encouraging permissionless innovation.\nIn practice, this looks like a minimal set of:"}),"\n",(0,i.jsxs)(n.ol,{children:["\n",(0,i.jsx)(n.li,{children:"onchain governance processes to upgrade Lisk contracts and tune the economic parameters of the system, and"}),"\n",(0,i.jsx)(n.li,{children:"offchain social processes to maintain a healthy community."}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"iteration",children:"Iteration"}),"\n",(0,i.jsx)(n.p,{children:"Lisk is decentralizing iteratively to increase the chances of building a healthy system that lasts for the long-term.\nThis means the Foundation will play a role in establishing processes, help the DAO through its first few rapid feedback loops in improving those processes, then reduce its role over time.\n(This also means the design principles and goals outlined in this document may be invalidated or updated along the way.)\nThis iteration gives the DAO a chance to learn how to make thoughtful decisions using an un-intuitive but essential loop: introduce a governance process that involves active participation, then gradually work to automate or minimize it over time.\nGovernance\u2019s responsibility then becomes to adjust the autopilot when necessary, not to keep two hands on the wheel."}),"\n",(0,i.jsx)(n.h3,{id:"forking",children:"Forking"}),"\n",(0,i.jsx)(n.p,{children:"The ability to fork and the ability to exit are critical to protect individual freedoms.\nAll of the core software and tooling required to run the Lisk network should be made open source, freely available, and easy to use such that a fork is always a viable alternative.\nThis isn\u2019t just about vibes: in crypto, where credible commitments not to extract are what makes decentralized platforms valuable, this is a competitive advantage.\nParticipants will be more likely to join Lisk if they have the ability to make an alternative."})]})}function p(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5162:(e,n,t)=>{t.d(n,{Z:()=>s});t(7294);var i=t(512);const o={tabItem:"tabItem_Ymn6"};var r=t(5893);function s(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.Z)(o.tabItem,s),hidden:t,children:n})}},4866:(e,n,t)=>{t.d(n,{Z:()=>y});var i=t(7294),o=t(512),r=t(2466),s=t(6550),a=t(469),l=t(1980),c=t(7392),d=t(12);function h(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:n,children:t}=e;return(0,i.useMemo)((()=>{const e=n??function(e){return h(e).map((e=>{let{props:{value:n,label:t,attributes:i,default:o}}=e;return{value:n,label:t,attributes:i,default:o}}))}(t);return function(e){const n=(0,c.l)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function g(e){let{queryString:n=!1,groupId:t}=e;const o=(0,s.k6)(),r=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,l._X)(r),(0,i.useCallback)((e=>{if(!r)return;const n=new URLSearchParams(o.location.search);n.set(r,e),o.replace({...o.location,search:n.toString()})}),[r,o])]}function m(e){const{defaultValue:n,queryString:t=!1,groupId:o}=e,r=u(e),[s,l]=(0,i.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const i=t.find((e=>e.default))??t[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:n,tabValues:r}))),[c,h]=g({queryString:t,groupId:o}),[m,f]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[o,r]=(0,d.Nk)(t);return[o,(0,i.useCallback)((e=>{t&&r.set(e)}),[t,r])]}({groupId:o}),v=(()=>{const e=c??m;return p({value:e,tabValues:r})?e:null})();(0,a.Z)((()=>{v&&l(v)}),[v]);return{selectedValue:s,selectValue:(0,i.useCallback)((e=>{if(!p({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),f(e)}),[h,f,r]),tabValues:r}}var f=t(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(5893);function k(e){let{className:n,block:t,selectedValue:i,selectValue:s,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const n=e.currentTarget,t=l.indexOf(n),o=a[t].value;o!==i&&(c(n),s(o))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=l.indexOf(e.currentTarget)+1;n=l[t]??l[0];break}case"ArrowLeft":{const t=l.indexOf(e.currentTarget)-1;n=l[t]??l[l.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":t},n),children:a.map((e=>{let{value:n,label:t,attributes:r}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:i===n?0:-1,"aria-selected":i===n,ref:e=>l.push(e),onKeyDown:h,onClick:d,...r,className:(0,o.Z)("tabs__item",v.tabItem,r?.className,{"tabs__item--active":i===n}),children:t??n},n)}))})}function b(e){let{lazy:n,children:t,selectedValue:o}=e;const r=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=r.find((e=>e.props.value===o));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:r.map(((e,n)=>(0,i.cloneElement)(e,{key:n,hidden:e.props.value!==o})))})}function j(e){const n=m(e);return(0,x.jsxs)("div",{className:(0,o.Z)("tabs-container",v.tabList),children:[(0,x.jsx)(k,{...e,...n}),(0,x.jsx)(b,{...e,...n})]})}function y(e){const n=(0,f.Z)();return(0,x.jsx)(j,{...e,children:h(e.children)},String(n))}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>s});var i=t(7294);const o={},r=i.createContext(o);function s(e){const n=i.useContext(r);return i.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(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.1bddeed8.js b/assets/js/runtime~main.1bddeed8.js new file mode 100644 index 000000000..662bbbe6d --- /dev/null +++ b/assets/js/runtime~main.1bddeed8.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,t,a,r,o,c={},d={};function b(e){var t=d[e];if(void 0!==t)return t.exports;var a=d[e]={exports:{}};return c[e].call(a.exports,a,a.exports,b),a.exports}b.m=c,e=[],b.O=(t,a,r,o)=>{if(!a){var c=1/0;for(i=0;i=o)&&Object.keys(b.O).every((e=>b.O[e](a[f])))?a.splice(f--,1):(d=!1,o0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[a,r,o]},b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);b.r(o);var c={};t=t||[null,a({}),a([]),a(a)];for(var d=2&r&&e;"object"==typeof d&&!~t.indexOf(d);d=a(d))Object.getOwnPropertyNames(d).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,b.d(o,c),o},b.d=(e,t)=>{for(var a in t)b.o(t,a)&&!b.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((t,a)=>(b.f[a](e,t),t)),[])),b.u=e=>"assets/js/"+({0:"746da5eb",40:"56867589",53:"935f2afb",55:"a2ed4756",68:"0eafa1eb",80:"2e7d4620",85:"1f391b9e",124:"de80008c",184:"6ce766bb",318:"b2059c63",368:"a94703ab",375:"d9983e98",379:"f7633811",383:"0480cc7e",388:"1224f3e7",414:"393be207",421:"bcc5765f",444:"6183c0e3",445:"951748bc",462:"f58537f1",468:"d38dfec1",518:"a7bd4aaa",567:"8bcd76a4",568:"dad52d3b",661:"5e95c892",671:"0e384e19",672:"5f139d3e",799:"6541bca2",817:"14eb3368",895:"4984adb1",918:"17896441",920:"1a4e3797",936:"a8c021bd",939:"8d261ba2"}[e]||e)+"."+{0:"3af3f32e",40:"15df44d3",53:"b6e2f60b",55:"3903cfff",68:"a38f0eef",80:"69cc0dae",85:"8026121d",124:"cdaa3942",184:"52e3af1f",318:"53f74866",325:"4aa58665",368:"68ae7f1b",375:"b0a38668",379:"a03228b3",383:"f247d45d",388:"f648b06f",414:"6280be6b",421:"8265f4a6",426:"ead49eea",444:"8af2ec63",445:"e857cfc4",462:"81742591",468:"0f9546ee",518:"3fa599de",567:"01f5b5fa",568:"77f099aa",661:"a29fc91b",671:"9db4a649",672:"10282a6d",772:"a8815bbe",799:"9829201e",817:"c2ce7c33",894:"b6b85857",895:"e005492a",918:"dca4dae4",920:"06752a99",936:"d8c9495e",939:"7debcb5f",945:"ca5c17e3"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},o="lisk-docs:",b.l=(e,t,a,c)=>{if(r[e])r[e].push(t);else{var d,f;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),o&&o.forEach((e=>e(a))),t)return t(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),f&&document.head.appendChild(d)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/lisk-documentation/",b.gca=function(e){return e={17896441:"918",56867589:"40","746da5eb":"0","935f2afb":"53",a2ed4756:"55","0eafa1eb":"68","2e7d4620":"80","1f391b9e":"85",de80008c:"124","6ce766bb":"184",b2059c63:"318",a94703ab:"368",d9983e98:"375",f7633811:"379","0480cc7e":"383","1224f3e7":"388","393be207":"414",bcc5765f:"421","6183c0e3":"444","951748bc":"445",f58537f1:"462",d38dfec1:"468",a7bd4aaa:"518","8bcd76a4":"567",dad52d3b:"568","5e95c892":"661","0e384e19":"671","5f139d3e":"672","6541bca2":"799","14eb3368":"817","4984adb1":"895","1a4e3797":"920",a8c021bd:"936","8d261ba2":"939"}[e]||e,b.p+b.u(e)},(()=>{var e={303:0,532:0};b.f.j=(t,a)=>{var r=b.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((a,o)=>r=e[t]=[a,o]));a.push(r[2]=o);var c=b.p+b.u(t),d=new Error;b.l(c,(a=>{if(b.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=a&&("load"===a.type?"missing":a.type),c=a&&a.target&&a.target.src;d.message="Loading chunk "+t+" failed.\n("+o+": "+c+")",d.name="ChunkLoadError",d.type=o,d.request=c,r[1](d)}}),"chunk-"+t,t)}},b.O.j=t=>0===e[t];var t=(t,a)=>{var r,o,c=a[0],d=a[1],f=a[2],n=0;if(c.some((t=>0!==e[t]))){for(r in d)b.o(d,r)&&(b.m[r]=d[r]);if(f)var i=f(b)}for(t&&t(a);n{"use strict";var e,t,a,r,o,d={},c={};function f(e){var t=c[e];if(void 0!==t)return t.exports;var a=c[e]={exports:{}};return d[e].call(a.exports,a,a.exports,f),a.exports}f.m=d,e=[],f.O=(t,a,r,o)=>{if(!a){var d=1/0;for(i=0;i=o)&&Object.keys(f.O).every((e=>f.O[e](a[b])))?a.splice(b--,1):(c=!1,o0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[a,r,o]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);f.r(o);var d={};t=t||[null,a({}),a([]),a(a)];for(var c=2&r&&e;"object"==typeof c&&!~t.indexOf(c);c=a(c))Object.getOwnPropertyNames(c).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,f.d(o,d),o},f.d=(e,t)=>{for(var a in t)f.o(t,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((t,a)=>(f.f[a](e,t),t)),[])),f.u=e=>"assets/js/"+({0:"746da5eb",40:"56867589",53:"935f2afb",55:"a2ed4756",68:"0eafa1eb",80:"2e7d4620",85:"1f391b9e",124:"de80008c",184:"6ce766bb",318:"b2059c63",368:"a94703ab",375:"d9983e98",379:"f7633811",383:"0480cc7e",388:"1224f3e7",414:"393be207",421:"bcc5765f",444:"6183c0e3",445:"951748bc",462:"f58537f1",468:"d38dfec1",518:"a7bd4aaa",567:"8bcd76a4",568:"dad52d3b",661:"5e95c892",671:"0e384e19",672:"5f139d3e",799:"6541bca2",817:"14eb3368",895:"4984adb1",918:"17896441",920:"1a4e3797",936:"a8c021bd",939:"8d261ba2"}[e]||e)+"."+{0:"3af3f32e",40:"15df44d3",53:"b6e2f60b",55:"5871b3ba",68:"a38f0eef",80:"69cc0dae",85:"8026121d",124:"cdaa3942",184:"52e3af1f",318:"53f74866",325:"4aa58665",368:"68ae7f1b",375:"b0a38668",379:"a03228b3",383:"f247d45d",388:"f648b06f",414:"6280be6b",421:"8265f4a6",426:"ead49eea",444:"8af2ec63",445:"e857cfc4",462:"81742591",468:"0f9546ee",518:"3fa599de",567:"01f5b5fa",568:"77f099aa",661:"a29fc91b",671:"9db4a649",672:"10282a6d",772:"a8815bbe",799:"9829201e",817:"c2ce7c33",894:"b6b85857",895:"e005492a",918:"dca4dae4",920:"06752a99",936:"d8c9495e",939:"7debcb5f",945:"ca5c17e3"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},o="lisk-docs:",f.l=(e,t,a,d)=>{if(r[e])r[e].push(t);else{var c,b;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(s);var o=r[e];if(delete r[e],c.parentNode&&c.parentNode.removeChild(c),o&&o.forEach((e=>e(a))),t)return t(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),b&&document.head.appendChild(c)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/lisk-documentation/",f.gca=function(e){return e={17896441:"918",56867589:"40","746da5eb":"0","935f2afb":"53",a2ed4756:"55","0eafa1eb":"68","2e7d4620":"80","1f391b9e":"85",de80008c:"124","6ce766bb":"184",b2059c63:"318",a94703ab:"368",d9983e98:"375",f7633811:"379","0480cc7e":"383","1224f3e7":"388","393be207":"414",bcc5765f:"421","6183c0e3":"444","951748bc":"445",f58537f1:"462",d38dfec1:"468",a7bd4aaa:"518","8bcd76a4":"567",dad52d3b:"568","5e95c892":"661","0e384e19":"671","5f139d3e":"672","6541bca2":"799","14eb3368":"817","4984adb1":"895","1a4e3797":"920",a8c021bd:"936","8d261ba2":"939"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(t,a)=>{var r=f.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var o=new Promise(((a,o)=>r=e[t]=[a,o]));a.push(r[2]=o);var d=f.p+f.u(t),c=new Error;f.l(d,(a=>{if(f.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var o=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;c.message="Loading chunk "+t+" failed.\n("+o+": "+d+")",c.name="ChunkLoadError",c.type=o,c.request=d,r[1](c)}}),"chunk-"+t,t)}},f.O.j=t=>0===e[t];var t=(t,a)=>{var r,o,d=a[0],c=a[1],b=a[2],n=0;if(d.some((t=>0!==e[t]))){for(r in c)f.o(c,r)&&(f.m[r]=c[r]);if(b)var i=b(f)}for(t&&t(a);n Deploying an ERC-20 Token to Lisk | Lisk Documentation - + diff --git a/building-on-lisk/add-token-to-lisk/custom-token.html b/building-on-lisk/add-token-to-lisk/custom-token.html index d387aafcb..753863b2e 100644 --- a/building-on-lisk/add-token-to-lisk/custom-token.html +++ b/building-on-lisk/add-token-to-lisk/custom-token.html @@ -5,7 +5,7 @@ Deploying a custom token | Lisk Documentation - + diff --git a/building-on-lisk/add-token-to-lisk/standard-token.html b/building-on-lisk/add-token-to-lisk/standard-token.html index c2e672958..7da688e61 100644 --- a/building-on-lisk/add-token-to-lisk/standard-token.html +++ b/building-on-lisk/add-token-to-lisk/standard-token.html @@ -5,7 +5,7 @@ Deploying a standard token | Lisk Documentation - + diff --git a/building-on-lisk/deploying-smart-contract/with-Foundry.html b/building-on-lisk/deploying-smart-contract/with-Foundry.html index 21ac867ca..e98e3947c 100644 --- a/building-on-lisk/deploying-smart-contract/with-Foundry.html +++ b/building-on-lisk/deploying-smart-contract/with-Foundry.html @@ -5,7 +5,7 @@ ... with Foundry | Lisk Documentation - + diff --git a/building-on-lisk/deploying-smart-contract/with-Hardhat.html b/building-on-lisk/deploying-smart-contract/with-Hardhat.html index 0f8e0df6c..c70bd1c70 100644 --- a/building-on-lisk/deploying-smart-contract/with-Hardhat.html +++ b/building-on-lisk/deploying-smart-contract/with-Hardhat.html @@ -5,7 +5,7 @@ ... with Hardhat | Lisk Documentation - + diff --git a/building-on-lisk/deploying-smart-contract/with-thirdweb.html b/building-on-lisk/deploying-smart-contract/with-thirdweb.html index f88e6059f..7f5dee782 100644 --- a/building-on-lisk/deploying-smart-contract/with-thirdweb.html +++ b/building-on-lisk/deploying-smart-contract/with-thirdweb.html @@ -5,7 +5,7 @@ ... with thirdweb | Lisk Documentation - + diff --git a/building-on-lisk/interacting-with-the-blockchain/ethers.html b/building-on-lisk/interacting-with-the-blockchain/ethers.html index 0fac60102..26cf60219 100644 --- a/building-on-lisk/interacting-with-the-blockchain/ethers.html +++ b/building-on-lisk/interacting-with-the-blockchain/ethers.html @@ -5,7 +5,7 @@ ...with ethers.js | Lisk Documentation - + diff --git a/building-on-lisk/interacting-with-the-blockchain/web3.html b/building-on-lisk/interacting-with-the-blockchain/web3.html index 40411e02d..6c8fe5f31 100644 --- a/building-on-lisk/interacting-with-the-blockchain/web3.html +++ b/building-on-lisk/interacting-with-the-blockchain/web3.html @@ -5,7 +5,7 @@ ...with web3.js | Lisk Documentation - + diff --git a/building-on-lisk/migration-guide.html b/building-on-lisk/migration-guide.html index 70f5d1f5c..30e55e2dc 100644 --- a/building-on-lisk/migration-guide.html +++ b/building-on-lisk/migration-guide.html @@ -5,7 +5,7 @@ Lisk L1->L2 migration guide | Lisk Documentation - + diff --git a/category/building-on-lisk.html b/category/building-on-lisk.html index 17bd0bbf8..057a2b9b7 100644 --- a/category/building-on-lisk.html +++ b/category/building-on-lisk.html @@ -5,7 +5,7 @@ Building on Lisk | Lisk Documentation - + diff --git a/connecting-to-a-wallet.html b/connecting-to-a-wallet.html index 4b9d8fe63..a2b1c09d6 100644 --- a/connecting-to-a-wallet.html +++ b/connecting-to-a-wallet.html @@ -5,7 +5,7 @@ Connecting to a wallet | Lisk Documentation - + diff --git a/contracts.html b/contracts.html index 09febba53..57d65c7a5 100644 --- a/contracts.html +++ b/contracts.html @@ -5,7 +5,7 @@ Contracts | Lisk Documentation - + diff --git a/fees.html b/fees.html index acd9c8e57..c0ca6d79f 100644 --- a/fees.html +++ b/fees.html @@ -5,7 +5,7 @@ Fees | Lisk Documentation - + diff --git a/governance.html b/governance.html index f4aecacaf..dcb625daa 100644 --- a/governance.html +++ b/governance.html @@ -5,7 +5,7 @@ Governance | Lisk Documentation - + @@ -24,7 +24,7 @@

Tools

Tally is the platform used to create and vote for proposals of the Lisk DAO.

The Lisk DAO Tally instance is the place where users can vote on proposals or delegate their voting power.

Treasury

-

The Lisk DAO has an associated treasury, which resides in the [TimeLock contract]. +

The Lisk DAO has an associated treasury, which resides in the TimeLock contract. The current balance of the treasury can be checked on the Lisk BlockScout Explorer. The treasury is NOT managed by the Onchain Foundation. Instead, the funds from the treasury can only be transferred via successful funding proposals.

diff --git a/index.html b/index.html index d8ef2e7dc..175798693 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ Introduction to Lisk | Lisk Documentation - + diff --git a/interacting-with-blockchain/viem.html b/interacting-with-blockchain/viem.html index 60a3ddb1f..369293f8b 100644 --- a/interacting-with-blockchain/viem.html +++ b/interacting-with-blockchain/viem.html @@ -5,7 +5,7 @@ ...with viem | Lisk Documentation - + diff --git a/lisk-tools/api-providers.html b/lisk-tools/api-providers.html index 01dfd48b4..1e6b1f371 100644 --- a/lisk-tools/api-providers.html +++ b/lisk-tools/api-providers.html @@ -5,7 +5,7 @@ API Providers | Lisk Documentation - + diff --git a/lisk-tools/bridges.html b/lisk-tools/bridges.html index f756973ca..379aef966 100644 --- a/lisk-tools/bridges.html +++ b/lisk-tools/bridges.html @@ -5,7 +5,7 @@ Bridges | Lisk Documentation - + diff --git a/lisk-tools/indexers.html b/lisk-tools/indexers.html index d459aca9f..55b3f2c02 100644 --- a/lisk-tools/indexers.html +++ b/lisk-tools/indexers.html @@ -5,7 +5,7 @@ Data Indexers | Lisk Documentation - + diff --git a/lisk-tools/oracles.html b/lisk-tools/oracles.html index 46b2bd4bd..84f9a7bed 100644 --- a/lisk-tools/oracles.html +++ b/lisk-tools/oracles.html @@ -5,7 +5,7 @@ Oracles | Lisk Documentation - + diff --git a/lisk-tools/utilities.html b/lisk-tools/utilities.html index 7e985a75a..a71045488 100644 --- a/lisk-tools/utilities.html +++ b/lisk-tools/utilities.html @@ -5,7 +5,7 @@ Utilities | Lisk Documentation - + diff --git a/markdown-page.html b/markdown-page.html index 98c879850..6b4ac2d5d 100644 --- a/markdown-page.html +++ b/markdown-page.html @@ -5,7 +5,7 @@ Markdown page example | Lisk Documentation - + diff --git a/network-info.html b/network-info.html index 7c2cf7a9d..526c598d9 100644 --- a/network-info.html +++ b/network-info.html @@ -5,7 +5,7 @@ Network information, official explorers & faucets | Lisk Documentation - + diff --git a/search.html b/search.html index a410a7c11..ea95f042f 100644 --- a/search.html +++ b/search.html @@ -5,7 +5,7 @@ Search the documentation | Lisk Documentation - +