diff --git a/docs/build/build-hrmp-channels.md b/docs/build/build-hrmp-channels.md index d15ce1b9e88e..e7c8b2c24a71 100644 --- a/docs/build/build-hrmp-channels.md +++ b/docs/build/build-hrmp-channels.md @@ -80,7 +80,7 @@ the community to review and ultimately vote on: tab; 6. The preimage hash to include in the proposal's submission. Note that if the proposer is planning to - [submit a referendum on the Whitelisted Caller Track](../maintain/maintain-guides-polkadot-opengov.md#submitting-a-referendum-on-the-whitelisted-caller-track), + [submit a referendum on the Whitelisted Caller Track](../learn/learn-guides-polkadot-opengov.md#submitting-a-referendum-on-the-whitelisted-caller-track), the preimage hash needs to be submitted to and whitelisted by the [Technical Fellowship](../learn/learn-polkadot-opengov.md#the-technical-fellowship). diff --git a/docs/build/build-open-source.md b/docs/build/build-open-source.md index d895945e37b2..301e82d3c3d2 100644 --- a/docs/build/build-open-source.md +++ b/docs/build/build-open-source.md @@ -84,7 +84,7 @@ In the below sections, you can find a list of different layers of the Polkadot S | Web Wallets | [Multix](https://github.com/ChainSafe/Multix) 🟢, [Polkasafe](https://github.com/polkasafe/polkasafe-ui) 🟢, [polkadot-js/apps](https://github.com/polkadot-js/apps) 🟢, [Talisman Web Application](https://github.com/TalismanSociety/talisman-web) 🟢, [mydotwallet](https://github.com/enkryptcom/mydotwallet) ⚪, [Sub ID](https://github.com/dappforce/subid) 🟢, [Primis](https://github.com/Primis-Labs/client) ⚪, [Sakura](https://github.com/w3finance/sakura) ⚪, [Web3Box](https://github.com/w3f-grants-archive/Web3Box-apps) ⚪, [Coong Wallet](https://github.com/CoongCrafts/coong-wallet) 🟡, [Subscan Multisig UI - React](https://github.com/itering/subscan-multisig-react) 🟢, [Subscan Multisig UI](https://github.com/itering/subscan-multisig-ui) ⚪, [Dorafactory-Multisig](https://github.com/DoraFactory/dorafactory-multisig) ⚪, [Capi Multisig App](https://github.com/paritytech/capi-multisig-app) ⚪| User-friendly Wallet based on the [Recovery Pallet](https://github.com/paritytech/substrate/tree/master/frame/recovery), Web wallets focused on user-onboarding (e.g. using [localStorage](https://github.com/near/near-wallet)) | | Desktop Wallets | [nova-spektr](https://github.com/novasamatech/nova-spektr) 🟢, [Omni desktop](https://github.com/w3f-grants-archive/omni-desktop-prototype) ⚪| Enterprise Wallets | | Browser Extensions | [Talisman-Extension](https://github.com/TalismanSociety/talisman) 🟢, [SubWallet-Extension](https://github.com/Koniverse/SubWallet-Extension) 🟢, [Enkrypt](https://github.com/enkryptcom/enKrypt) 🟢, [Polkadot{.js}](https://github.com/polkadot-js/extension) 🟢, [PolkaGate](https://github.com/PolkaGate/polkagate-extension) 🟢, [Doter](https://github.com/ChainBridgeNetworkTeam/Doter) ⚪, [Speckle OS](https://github.com/GetSpeckle/speckle-browser-extension) ⚪, [Kuma Cross-chain Wallet](https://github.com/blockcoders/kuma-wallet) 🟢| Sign-in with your Polkadot, Kusama, etc. account. | -| Mobile Wallets | [AirGap](https://github.com/airgap-it/airgap-wallet) 🟢, [SubWallet-Mobile](https://github.com/Koniverse/SubWallet-Mobile) 🟡, [Lunie](https://github.com/luniehq/lunie) ⚪, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) ⚪, [Parity Signer](https://github.com/paritytech/parity-signer) 🟢, [imToken](https://github.com/consenlabs/token-core) ⚪, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) 🟢, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) 🟢, [Stylo](https://github.com/stylo-app/stylo) ⚪, [Nova Wallet](https://github.com/nova-wallet/nova-utils) 🟢, [Fractapp](https://github.com/fractapp/fractapp/) ⚪, [Interstellar Network](https://github.com/Interstellar-Network/wallet-app) 🟡, [Hashed Wallet](https://github.com/hypha-dao/hashed-wallet) ⚪| +| Mobile Wallets | [Kampela](https://github.com/Kalapaja/kampela-firmware), [AirGap](https://github.com/airgap-it/airgap-wallet) 🟢, [SubWallet-Mobile](https://github.com/Koniverse/SubWallet-Mobile) 🟡, [Lunie](https://github.com/luniehq/lunie) ⚪, [Polkawallet](https://github.com/polkawallet-io/polkawallet-flutter) ⚪, [Polkadot Vault](https://github.com/paritytech/parity-signer) 🟢, [imToken](https://github.com/consenlabs/token-core) ⚪, [Fearless Wallet Android](https://github.com/soramitsu/fearless-Android) 🟢, [Fearless Wallet iOS](https://github.com/soramitsu/fearless-iOS) 🟢, [Stylo](https://github.com/stylo-app/stylo) ⚪, [Nova Wallet](https://github.com/nova-wallet/nova-utils) 🟢, [Fractapp](https://github.com/fractapp/fractapp/) ⚪, [Interstellar Network](https://github.com/Interstellar-Network/wallet-app) 🟡, [Hashed Wallet](https://github.com/hypha-dao/hashed-wallet) ⚪| | Burner Wallets/Faucet/Gifts | [dotdrop](https://github.com/hamidra/dotdrop) 🟡, [KodaDot](https://github.com/vue-polkadot/apps) ⚪, [Astar Faucet Bot](https://github.com/AstarNetwork/astar-faucet-bot) ⚪, [Generic sybil-resistant faucet](https://github.com/karooolis/sybil-resistant-substrate-faucet) ⚪, [sybil-resistant Chat Bot Faucet](https://github.com/StringNick/sybil-resistant-chat-bot-substrate-faucet) 🟡| Faucet (a sybil-resistant way to receive free tokens) | | Wallet Plugins | [Metamask-Snap by Chainsafe](https://github.com/ChainSafe/metamask-snap-polkadot) 🟢| | CLI Wallet | [Subwallet](https://github.com/yxf/subwallet) ⚪, [Proxy-hot-wallet](https://github.com/canontech/proxy-hot-wallet) ⚪| diff --git a/docs/general/governance-apps.md b/docs/general/governance-apps.md index 70b163c20da6..7ae79cbd74c1 100644 --- a/docs/general/governance-apps.md +++ b/docs/general/governance-apps.md @@ -20,6 +20,13 @@ and add your Governance app to this page. The [Polkadot Delegation Dashboard](https://delegation.polkadot.network/) is a web3 application that allows you to delegate your voting power on [Polkadot OpenGov](../learn/learn-polkadot-opengov.md). +:::info How to get added as a Delegate on the Dashboard? + +Anyone interested in being listed as a delegate can add their details on the +[Governance-UI repository](https://github.com/paritytech/governance-ui/blob/main/assets/data/polkadot/delegates.json). + +::: + [![Delegation Dashboard Tutorial](https://img.youtube.com/vi/RapBYZc5ZPo/0.jpg)](https://www.youtube.com/watch?v=RapBYZc5ZPo) ## Polkassembly diff --git a/docs/general/multisig-apps.md b/docs/general/multisig-apps.md index 21eb0fdb4a01..36bc7f1f03de 100644 --- a/docs/general/multisig-apps.md +++ b/docs/general/multisig-apps.md @@ -19,7 +19,6 @@ and add your Governance app to this page. ![Polkasafe](https://github.com/w3f/polkadot-wiki/assets/874046/586bf051-a7fb-43c0-957e-0b659d50c9ab) - [Polkasafe](https://polkasafe.xyz) - Your gateway to the Ultimate MultiSig experience on Polkadot. Gone are the days of cumbersome MultiSig transactions. PolkaSafe redefines the way you interact with @@ -38,3 +37,29 @@ user-friendly. PolkaSafe's MultiSig capabilities ensure every extrinsic is secure and efficient. - User-Centric Design: Every feature, from initiating a transaction to diving deep into extrinsics, is designed for clarity and ease. + +## Multix + +:::info Walk-Through Video Tutorial + +See [this video tutorial](https://www.youtube.com/watch?v=APxPsawebJw) and +[this article](https://blog.chainsafe.io/multix-a-simple-interface-to-manage-complex-multisigs-on-polkadot-97328be26f9d) +for more information about using [Multix](https://multix.chainsafe.io/) for multisig accounts. + +::: + +The [Multix tool](https://multix.chainsafe.io/) is an easy-to-use interface to manage complex +multisigs. The tool is part of +[the open-source Polkadot/Kusama Tech Stack](https://wiki.polkadot.network/docs/build-open-source#user-interface). +Besides being user-friendly, Multix provides several benefits compared to the Polkadot-JS UI: + +- When one person creates the multisig account, all the signatories see the multisig account on + their interface. +- There is no need to pass around the call data to confirm a transaction. Such information is + retrieved from the chain and displayed to the users. +- Thanks to the power of [pure proxies](../learn/learn-proxies-pure.md#anonymous-proxy-pure-proxy), + adding and removing signatories or adjusting the threshold is now possible without creating new + multisigs and Multix provides an intuitive interface to work with pure proxies. + +The pure proxy setup used by [MultiX](https://github.com/ChainSafe/Multix) can be seen on the +[pure proxy page](../learn/learn-proxies-pure.md#scenario-three-multisig-controlling-a-pure-proxy). diff --git a/docs/general/polkadotjs.md b/docs/general/polkadotjs.md index 46c79a27e78d..9339f83cf794 100644 --- a/docs/general/polkadotjs.md +++ b/docs/general/polkadotjs.md @@ -1,7 +1,7 @@ --- id: polkadotjs title: Polkadot-JS -sidebar_label: Polkadot-JS +sidebar_label: Polkadot-JS Tooling description: The Polkadot-JS Tool Collection. keywords: [polkadotjs, polkadotjs apps, apps UI, extension] slug: ../polkadotjs diff --git a/docs/learn/learn-account-multisig.md b/docs/learn/learn-account-multisig.md index 5042ef990ca4..1503a7d000ad 100644 --- a/docs/learn/learn-account-multisig.md +++ b/docs/learn/learn-account-multisig.md @@ -171,32 +171,6 @@ video tutorials for more information about creating multisig accounts and transa using both the [Accounts Tab](https://www.youtube.com/watch?v=-cPiKMslZqI) and the [Extrinsic Tab](https://www.youtube.com/watch?v=T0vIuJcTJeQ) in the Polkadot-JS UI. -## Multisig with Multix Tool - -:::info Walk-Through Video Tutorial - -See [this video tutorial](https://www.youtube.com/watch?v=APxPsawebJw) and -[this article](https://blog.chainsafe.io/multix-a-simple-interface-to-manage-complex-multisigs-on-polkadot-97328be26f9d) -for more information about using [Multix](https://multix.chainsafe.io/) for multisig accounts. - -::: - -The [Multix tool](https://multix.chainsafe.io/) is an easy-to-use interface to manage complex -multisigs. The tool is part of -[the open-source Polkadot/Kusama Tech Stack](https://wiki.polkadot.network/docs/build-open-source#user-interface). -Besides being user-friendly, Multix provides several benefits compared to the Polkadot-JS UI: - -- When one person creates the multisig account, all the signatories see the multisig account on - their interface. -- There is no need to pass around the call data to confirm a transaction. Such information is - retrieved from the chain and displayed to the users. -- Thanks to the power of [pure proxies](../learn/learn-proxies-pure.md#anonymous-proxy-pure-proxy), - adding and removing signatories or adjusting the threshold is now possible without creating new - multisigs and Multix provides an intuitive interface to work with pure proxies. - -The pure proxy setup used by [MultiX](https://github.com/ChainSafe/Multix) can be seen on the -[pure proxy page](./learn-proxies-pure.md#scenario-three-multisig-controlling-a-pure-proxy). - ## Decoding Multisig Call Data :::info diff --git a/docs/learn/learn-guides-polkadot-opengov.md b/docs/learn/learn-guides-polkadot-opengov.md index 48855533beea..9d3746378fc0 100644 --- a/docs/learn/learn-guides-polkadot-opengov.md +++ b/docs/learn/learn-guides-polkadot-opengov.md @@ -9,12 +9,171 @@ slug: ../learn-guides-polkadot-opengov import RPC from "./../../components/RPC-Connection"; -This page is for advanced users of Polkadot OpenGov. If you would learn about and participate in -OpenGov, please navigate to the page on -[participating in Polkadot Opengov.](https://wiki.polkadot.network/docs/maintain-guides-polkadot-opengov) +This page is for advanced users of Polkadot OpenGov. If you would learn more about OpenGov see the +[dedicated page](./learn-polkadot-opengov.md). + +This guide will instruct token holders how to propose and vote on public referenda using the +Referenda module (OpenGov). Below are a few links to stay informed and directly engage with the +community. + +- [Polkadot Direction](https://matrix.to/#/#Polkadot-Direction:parity.io) - a place to discuss + governance and the future of Polkadot. +- [Kusama Direction](https://matrix.to/#/#Kusama-Direction:parity.io) - a place to discuss + governance and the future of Kusama. +- [Polkadot](https://polkadot.polkassembly.io) and [Kusama](https://kusama.polkassembly.io) + Polkassembly - for current referenda, latest proposals, motions, treasury proposals, tips, + bounties, and more. +- [Polkadot Daily Digest](https://matrix.to/#/#dailydigest:web3.foundation) - News about what is + happening in the Polkadot ecosystem, published every weekday except holidays. + +## Create a Referenda Proposal + +### Submitting a Preimage + +The act of creating a proposal is split from submitting the preimage for the proposal since the +storage cost of submitting a large preimage could be expensive. Allowing the preimage submission to +come as a separate transaction means that another account could submit the preimage for you and pay +the fee. The example below demonstrates the creation of a preimage to propose and approve a spend of +treasury funds. + +![submit preimage](../assets/governance/opengov-submit-preimage.png) + +Follow the steps below to submit a preimage as shown in the screenshot above. + +1. Navigate to Governance -> Referenda. +2. Click on the "Add preimage" button. +3. From the _propose_ drop-down field, select `treasury`. +4. From the unlabeled drop-down field to the right of the _propose_ drop-down field, select + `spend(amount, beneficiary)`. +5. In the `amount: Compact (BalanceOf)` text field, enter the spend amount. +6. The `beneficiary: MultiAddress (AccountIdLookupOf)` drop-down field will have `Id` selected by + default. Select the beneficiary from the `Id: AccountId` drop-down field. + +:::info + +Copy the `preimage hash` value before clicking the "Submit preimage" button. + +::: + +7. Click the "Submit preimage" button. + +After the preimage is submitted successfully on-chain, Polkadot-JS UI lists it under the tab of +Governance -> Preimages. + +### Submitting a Proposal + +Submitting a proposal requires you to bond some tokens. On Polkadot-JS UI, you can navigate to the +Governance -> Referenda to make a new proposal. In order to submit a proposal, you will need to +submit what's called the preimage hash. The preimage hash is simply the hash of the proposal to be +enacted. The easiest way to get the preimage hash is by clicking on the "Submit preimage" button as +shown in the previous section. + +![submit proposal](../assets/governance/opengov-submit-proposal.png) + +The proposal will be registered from the account selected and the balance lock will be applied to +it. An appropriate origin must be chosen, as each origin has different privileges, and acceptance +criteria. After entering the hash of the preimage for the proposal, the preimage length field is +automatically populated. The enactment delay can be specified either as a block number, or as a +specific number of blocks after the referendum is approved. The deposit for this proposal will be +locked for the referendum duration. + +### Submitting a Referendum on the Whitelisted Caller Track + +Let's consider increasing the number of validators participating in parachain consensus. You could +[submit a preimage](#submitting-a-preimage) with the call that sets the number of validators to +1,000 and submit a referendum to the Root track directly. However, this requires a large decision +deposit and has very conservative passing parameters such that it will probably need the entire +28-day voting period to pass. + +Operations that are deemed safe or time critical by the Polkadot Technical Fellowship can use the +Whitelisted Caller track. This track requires less turnout in the first half of the decision period +so that it can pass more quickly. This track is typically used for more neutral, technical proposals +like runtime upgrades or changing the system's parachain validation configuration. + +Using the Whitelisted Caller track requires some special calls. Submitting a referendum in the same +form as other tracks will not work. Namely, rather than voting on a particular `proposal`, the +Whitelisted Caller track requires a vote to `dispatch` the `proposal` via the Whitelist pallet. +Before opening a referendum on this track, you should also attempt to get a positive signal from the +Fellowship that they will whitelist the proposal. If they do not, then even if the public referendum +passes, it will not execute. + +Below are the steps to follow when submitting a proposal to the Whitelist track. + +- [Submit a preimage](#submitting-a-preimage) with the call to _dispatch_ the proposal (`call`) you + want to submit -- `whitelist.dispatchWhitelistedCallWithPreimage(call)` -- and obtain the preimage + hash. This is the preimage for the _public referendum_ on the Whitelisted Caller track. + +![preimage-whitelist](../assets/governance/opengov-submit-preimage-whitelist.png) + +- Obtain the hash of `call`. The Polkadot Fellowship needs to start a Fellowship referendum to + whitelist the call with `whitelist.whitelistCall(callHash)`. The Fellowship referendum gets voted + on by the Polkadot Fellowship members only. + + ![call-hash](../assets/governance/encoded-call-hash.png) + +- The public now votes on the referendum. Someone must place a decision deposit to go into the + deciding phase. +- Once passed, it gets enacted successfully as long as the call has been whitelisted by the + Fellowship. + +Note that the public referendum and Fellowship referendum can happen simultaneously. However, if the +Fellowship does not whitelist the call, you must submit it directly to the Root origin. + +## Voting on Referenda + +As Polkadot OpenGov takes both the approval and support into account, there are four options to +choose from when voting on a referendum: + +- Aye +- Nay +- Split +- Abstain + +Also, you have to specify the conviction multiplier for this vote. The longer you are willing to +lock your tokens, the stronger your vote will be weighted. Unwillingness to lock your tokens means +that your vote only counts for 10% of the tokens that you hold. + +For detailed instructions on how to vote on Polkadot OpenGov referenda, check +[this support guide.](https://support.polkadot.network/support/solutions/articles/65000184120-polkadot-opengov-how-to-vote) + +:::caution Polkadot OpenGov uses Conviction Voting Pallet (Not Democracy Pallet) + +Use `convictionVoting.vote` for voting on Referenda in Polkadot OpenGov instead of `democracy.vote` +(which only works for the old version of governance). + +::: + +### Removing expired voting locks + +To remove the lock from votes, you first need to call `removeVote` and then `unlock` through the +`convictionVoting` pallet. For detailed instructions, check +[this support guide.](https://support.polkadot.network/support/solutions/articles/65000184129-polkadot-js-ui-how-to-remove-expired-referenda-locks) ## Delegations +For an overview of how delegation works in Polkadot OpenGov, check out the +[Multirole Delegation](../learn/learn-polkadot-opengov.md#multirole-delegation) section on the +[Learn Polkadot OpenGov](../learn/learn-polkadot-opengov.md) page. + +### Delegation Dashboard + +To make multi-role delegation easy and intuitive, +[Delegation Dashboard](https://delegation.polkadot.network/) provides an interactive interface that +displays the list of delegates and their details. The video tutorial below walks through the +features of the Delegation Dashboard and shows how to perform multi-role delegation. + +[![Delegation Dashboard Tutorial](https://img.youtube.com/vi/RapBYZc5ZPo/0.jpg)](https://www.youtube.com/watch?v=RapBYZc5ZPo) + +For detailed instructions on how to delegate your voting power using dashboard, check +[this support guide.](https://support.polkadot.network/support/solutions/articles/65000184123-polkadot-opengov-how-to-delegate-your-voting-power) +If you like to use Polkadot-JS UI for performing multi-role delegation, the instructions are +available +[here](https://support.polkadot.network/support/solutions/articles/65000184776-polkadot-js-ui-how-to-delegate-your-voting-power-on-polkadot-opengov). + +Polkassembly also provides an engaging interface to interact with governance in OpenGov along with +an alternative interface for delegation at +[polkadot.polkassembly.io/delegation](https://polkadot.polkassembly.io/delegation) + ### Delegate Votes You can start delegating your votes by clicking the "Delegate" button on @@ -108,9 +267,8 @@ user to a runtime-configured account, like the treasury. To refund your slashed deposit, you can start a new referendum and specifically request a refund from the treasury. You need to make sure you have enough balance for a new submission and decision deposit, and you will need to select the right track to ask for a refund. For example, the -[Small Tipper Track](../maintain/maintain-guides-polkadot-opengov.md#small-tipper) would be fine for -any kind of deposit refund up to -{{ polkadot: 250 DOT :polkadot }}{{ kusama: 8.25 KSM KSM :kusama }}. +[Small Tipper Track](./learn-polkadot-opengov-origins.md#small-tipper) would be fine for any kind of +deposit refund up to {{ polkadot: 250 DOT :polkadot }}{{ kusama: 8.25 KSM KSM :kusama }}. ## Cancel or Kill a Referendum @@ -122,7 +280,7 @@ see the [dedicated page](../learn/learn-polkadot-opengov.md#referenda-timeline). To successfully cancel a referendum through the track `20 / Referendum Canceller`, you will need to attain -[specific approval and support levels](../maintain/maintain-guides-polkadot-opengov.md#referendum-canceller). +[specific approval and support levels](./learn-polkadot-opengov-origins.md#referendum-canceller). ::: @@ -168,7 +326,7 @@ will be reserved for submitting the proposal. Once the proposal has been submitted, it will stay in the Lead-in period until there is enough space within the track, and a -[track-dependent preparation period and decision deposit](../maintain/maintain-guides-polkadot-opengov.md#polkadot-opengov-terminology-and-parameters) +[track-dependent preparation period and decision deposit](./learn-polkadot-opengov-origins.md#polkadot-opengov-terminology-and-parameters) have been met. Failing to submit the decision deposit within a {{ polkadot: :polkadot }}{{ kusama: :kusama }}-day period will lead to a referendum timeout. diff --git a/docs/maintain/maintain-guides-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov-origins.md similarity index 53% rename from docs/maintain/maintain-guides-polkadot-opengov.md rename to docs/learn/learn-polkadot-opengov-origins.md index a00f70e74a0d..f58eee932d87 100644 --- a/docs/maintain/maintain-guides-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov-origins.md @@ -1,10 +1,10 @@ --- -id: maintain-guides-polkadot-opengov -title: Participate in Polkadot OpenGov -sidebar_label: Participate in Polkadot OpenGov -description: Steps on how to participate in OpenGov. -keywords: [democracy, council, action, proposal, referenda] -slug: ../maintain-guides-polkadot-opengov +id: learn-polkadot-opengov-origins +title: Polkadot OpenGov Origins +sidebar_label: OpenGov Origins +description: All Origins for Polkadot's OpenGov. +keywords: [proposal, referenda, OpenGov, origins] +slug: ../learn-polkadot-opengov-origins --- import Tracks from "./../../components/Referenda-Tracks"; import Chart from @@ -17,20 +17,6 @@ For background information about Polkadot OpenGov, please refer to this ::: -This guide will instruct token holders how to propose and vote on public referenda using the -Referenda module (OpenGov). Below are a few links to stay informed and directly engage with the -community. - -- [Polkadot Direction](https://matrix.to/#/#Polkadot-Direction:parity.io) - a place to discuss - governance and the future of Polkadot. -- [Kusama Direction](https://matrix.to/#/#Kusama-Direction:parity.io) - a place to discuss - governance and the future of Kusama. -- [Polkadot](https://polkadot.polkassembly.io) and [Kusama](https://kusama.polkassembly.io) - Polkassembly - for current referenda, latest proposals, motions, treasury proposals, tips, - bounties, and more. -- [Polkadot Daily Digest](https://matrix.to/#/#dailydigest:web3.foundation) - News about what is - happening in the Polkadot ecosystem, published every weekday except holidays. - ## Polkadot OpenGov Terminology and Parameters The important parameters to be aware of when voting using the Referenda module are as follows: @@ -224,151 +210,3 @@ from the treasury at once. {{ polkadot: :polkadot }} {{ kusama: :kusama }} - -## Create a Referenda Proposal using Polkadot-JS UI - -### Submitting a Preimage - -The act of creating a proposal is split from submitting the preimage for the proposal since the -storage cost of submitting a large preimage could be expensive. Allowing the preimage submission to -come as a separate transaction means that another account could submit the preimage for you and pay -the fee. The example below demonstrates the creation of a preimage to propose and approve a spend of -treasury funds. - -![submit preimage](../assets/governance/opengov-submit-preimage.png) - -Follow the steps below to submit a preimage as shown in the screenshot above. - -1. Navigate to Governance -> Referenda. -2. Click on the "Add preimage" button. -3. From the _propose_ drop-down field, select `treasury`. -4. From the unlabeled drop-down field to the right of the _propose_ drop-down field, select - `spend(amount, beneficiary)`. -5. In the `amount: Compact (BalanceOf)` text field, enter the spend amount. -6. The `beneficiary: MultiAddress (AccountIdLookupOf)` drop-down field will have `Id` selected by - default. Select the beneficiary from the `Id: AccountId` drop-down field. - -:::info - -Copy the `preimage hash` value before clicking the "Submit preimage" button. - -::: - -7. Click the "Submit preimage" button. - -After the preimage is submitted successfully on-chain, Polkadot-JS UI lists it under the tab of -Governance -> Preimages. - -### Submitting a Proposal - -Submitting a proposal requires you to bond some tokens. On Polkadot-JS UI, you can navigate to the -Governance -> Referenda to make a new proposal. In order to submit a proposal, you will need to -submit what's called the preimage hash. The preimage hash is simply the hash of the proposal to be -enacted. The easiest way to get the preimage hash is by clicking on the "Submit preimage" button as -shown in the previous section. - -![submit proposal](../assets/governance/opengov-submit-proposal.png) - -The proposal will be registered from the account selected and the balance lock will be applied to -it. An appropriate origin must be chosen, as each origin has different privileges, and acceptance -criteria. After entering the hash of the preimage for the proposal, the preimage length field is -automatically populated. The enactment delay can be specified either as a block number, or as a -specific number of blocks after the referendum is approved. The deposit for this proposal will be -locked for the referendum duration. - -### Submitting a Referendum on the Whitelisted Caller Track - -Let's consider increasing the number of validators participating in parachain consensus. You could -[submit a preimage](#submitting-a-preimage) with the call that sets the number of validators to -1,000 and submit a referendum to the Root track directly. However, this requires a large decision -deposit and has very conservative passing parameters such that it will probably need the entire -28-day voting period to pass. - -Operations that are deemed safe or time critical by the Polkadot Technical Fellowship can use the -Whitelisted Caller track. This track requires less turnout in the first half of the decision period -so that it can pass more quickly. This track is typically used for more neutral, technical proposals -like runtime upgrades or changing the system's parachain validation configuration. - -Using the Whitelisted Caller track requires some special calls. Submitting a referendum in the same -form as other tracks will not work. Namely, rather than voting on a particular `proposal`, the -Whitelisted Caller track requires a vote to `dispatch` the `proposal` via the Whitelist pallet. -Before opening a referendum on this track, you should also attempt to get a positive signal from the -Fellowship that they will whitelist the proposal. If they do not, then even if the public referendum -passes, it will not execute. - -Below are the steps to follow when submitting a proposal to the Whitelist track. - -- [Submit a preimage](#submitting-a-preimage) with the call to _dispatch_ the proposal (`call`) you - want to submit -- `whitelist.dispatchWhitelistedCallWithPreimage(call)` -- and obtain the preimage - hash. This is the preimage for the _public referendum_ on the Whitelisted Caller track. - -![preimage-whitelist](../assets/governance/opengov-submit-preimage-whitelist.png) - -- Obtain the hash of `call`. The Polkadot Fellowship needs to start a Fellowship referendum to - whitelist the call with `whitelist.whitelistCall(callHash)`. The Fellowship referendum gets voted - on by the Polkadot Fellowship members only. - - ![call-hash](../assets/governance/encoded-call-hash.png) - -- The public now votes on the referendum. Someone must place a decision deposit to go into the - deciding phase. -- Once passed, it gets enacted successfully as long as the call has been whitelisted by the - Fellowship. - -Note that the public referendum and Fellowship referendum can happen simultaneously. However, if the -Fellowship does not whitelist the call, you must submit it directly to the Root origin. - -## Voting on Referenda - -As Polkadot OpenGov takes both the approval and support into account, there are four options to -choose from when voting on a referendum: - -- Aye -- Nay -- Split -- Abstain - -Also, you have to specify the conviction multiplier for this vote. The longer you are willing to -lock your tokens, the stronger your vote will be weighted. Unwillingness to lock your tokens means -that your vote only counts for 10% of the tokens that you hold. - -For detailed instructions on how to vote on Polkadot OpenGov referenda, check -[this support guide.](https://support.polkadot.network/support/solutions/articles/65000184120-polkadot-opengov-how-to-vote) - -:::caution Polkadot OpenGov uses Conviction Voting Pallet (Not Democracy Pallet) - -Use `convictionVoting.vote` for voting on Referenda in Polkadot OpenGov instead of `democracy.vote` -(which only works for the old version of governance). - -::: - -### Removing expired voting locks - -To remove the lock from votes, you first need to call `removeVote` and then `unlock` through the -`convictionVoting` pallet. For detailed instructions, check -[this support guide.](https://support.polkadot.network/support/solutions/articles/65000184129-polkadot-js-ui-how-to-remove-expired-referenda-locks) - -## Delegating Voting Power - -For an overview of how delegation works in Polkadot OpenGov, check out the -[Multirole Delegation](../learn/learn-polkadot-opengov.md#multirole-delegation) section on the -[Learn Polkadot OpenGov](../learn/learn-polkadot-opengov.md) page. - -### Delegation Dashboard - -To make multi-role delegation easy and intuitive, -[Delegation Dashboard](https://delegation.polkadot.network/) provides an interactive interface that -displays the list of delegates and their details. The video tutorial below walks through the -features of the Delegation Dashboard and shows how to perform multi-role delegation. - -[![Delegation Dashboard Tutorial](https://img.youtube.com/vi/RapBYZc5ZPo/0.jpg)](https://www.youtube.com/watch?v=RapBYZc5ZPo) - -For detailed instructions on how to delegate your voting power using dashboard, check -[this support guide.](https://support.polkadot.network/support/solutions/articles/65000184123-polkadot-opengov-how-to-delegate-your-voting-power) -If you like to use Polkadot-JS UI for performing multi-role delegation, the instructions are -available -[here](https://support.polkadot.network/support/solutions/articles/65000184776-polkadot-js-ui-how-to-delegate-your-voting-power-on-polkadot-opengov). - -Polkassembly also provides an engaging interface to interact with governance in OpenGov along with -an alternative interface for delegation at -[polkadot.polkassembly.io/delegation](https://polkadot.polkassembly.io/delegation) diff --git a/docs/learn/learn-polkadot-opengov-treasury.md b/docs/learn/learn-polkadot-opengov-treasury.md index 5908db418bed..f105a47bb033 100644 --- a/docs/learn/learn-polkadot-opengov-treasury.md +++ b/docs/learn/learn-polkadot-opengov-treasury.md @@ -62,14 +62,14 @@ On Polkadot-JS UI, navigate to Governance > Treasury to view the status of curre ## Treasury Tracks OpenGov allows for managing funds through six tracks, each with its own -[origin and track parameters](../maintain/maintain-guides-polkadot-opengov.md#origins-and-tracks-info). +[origin and track parameters](./learn-polkadot-opengov-origins.md#origins-and-tracks-info). -- Treasurer -- Big Spender -- Medium Spender -- Small Spender -- Big Tipper -- Small Tipper +- [Treasurer](./learn-polkadot-opengov-origins.md#treasurer) +- [Big Spender](./learn-polkadot-opengov-origins.md#big-spender) +- [Medium Spender](./learn-polkadot-opengov-origins.md#medium-spender) +- [Small Spender](./learn-polkadot-opengov-origins.md#small-spender) +- [Big Tipper](./learn-polkadot-opengov-origins.md#big-tipper) +- [Small Tipper](./learn-polkadot-opengov-origins.md#small-tipper) :::info How to access Treasury funds? @@ -78,41 +78,3 @@ track on-chain. Learn how to submit a treasury proposal for referendum [here](./learn-guides-treasury#creating-a-treasury-proposal). ::: - -### Treasurer - -This track can be used for treasury spending requests up to -{{ polkadot: 10M DOT :polkadot }}{{ kusama: 333333.33 KSM :kusama }} per referendum. Each -referendum requires a decision deposit of -{{ polkadot: 1000 DOT :polkadot }}{{ kusama: 33.33 KSM :kusama }}. - -### Big Spender - -This track can be used for treasury spending requests up to -{{ polkadot: 1M DOT :polkadot }}{{ kusama: 33333.33 KSM :kusama }} per referendum. Each referendum -requires a decision deposit of {{ polkadot: 400 DOT :polkadot }}{{ kusama: 13.33 KSM :kusama }}. - -### Medium Spender - -This track can be used for treasury spending requests up to -{{ polkadot: 100K DOT :polkadot }}{{ kusama: 3333.33 KSM :kusama }} per referendum. Each -referendum requires a decision deposit of -{{ polkadot: 200 DOT :polkadot }}{{ kusama: 6.66 KSM :kusama }}. - -### Small Spender - -This track can be used for treasury spending requests up to -{{ polkadot: 10K DOT :polkadot }}{{ kusama: 333.33 KSM :kusama }} per referendum. Each referendum -requires a decision deposit of {{ polkadot: 100 DOT :polkadot }}{{ kusama: 3.33 KSM :kusama }}. - -### Big Tipper - -This track can be used for treasury spending requests up to -{{ polkadot: 1000 DOT :polkadot }}{{ kusama: 33.33 KSM :kusama }} per referendum. Each referendum -requires a decision deposit of {{ polkadot: 10 DOT :polkadot }}{{ kusama: 0.33 KSM :kusama }}. - -### Small Tipper - -This track can be used for treasury spending requests up to -{{ polkadot: 100 DOT :polkadot }}{{ kusama: 8.25 KSM :kusama }} per referendum. Each referendum -requires a decision deposit of {{ polkadot: 1 DOT :polkadot }}{{ kusama: 0.033 KSM :kusama }}. diff --git a/docs/learn/learn-polkadot-opengov.md b/docs/learn/learn-polkadot-opengov.md index 8681e24c6468..61989e3c6f78 100644 --- a/docs/learn/learn-polkadot-opengov.md +++ b/docs/learn/learn-polkadot-opengov.md @@ -1,6 +1,6 @@ --- id: learn-polkadot-opengov -title: Polkadot OpenGov +title: Introduction to Polkadot OpenGov sidebar_label: Polkadot OpenGov description: Polkadot’s Latest Model for Decentralized Governance. keywords: [governance, referenda, proposal, voting, endorse] @@ -20,7 +20,7 @@ The governance protocol has already undergone iterations (see in its lifecycle. For technical information about Polkadot OpenGov and how to interact with it, please refer to this -[dedicated Wiki page](../maintain/maintain-guides-polkadot-opengov.md). +[dedicated Wiki page](./learn-guides-polkadot-opengov.md). For additional support about Polkadot OpenGov see the [dedicated support pages](https://support.polkadot.network/support/solutions/65000105211). @@ -29,11 +29,13 @@ For additional support about Polkadot OpenGov see the :::info Polkadot Delegation Dashboard -You can easily delegate your votes to somebody else using the -[Polkadot Delegation Dashboard](https://delegation.polkadot.network/). See -[this video tutorial](https://www.youtube.com/watch?v=RapBYZc5ZPo) to learn how to use the -dashboard. **If you become a nomination pool member or a pool admin, you cannot participate in -Governance with the bonded tokens in the pool, as they are held in a +See the video tutorial below to easily delegate your votes to somebody else using the +[Polkadot Delegation Dashboard](https://delegation.polkadot.network/). + +[![Delegation Dashboard Tutorial](https://img.youtube.com/vi/RapBYZc5ZPo/0.jpg)](https://www.youtube.com/watch?v=RapBYZc5ZPo) + +**If you become a nomination pool member or a pool admin, you cannot participate in Governance with +the bonded tokens in the pool, as they are held in a [system account](./learn-account-advanced.md#system-accounts).** ::: @@ -110,12 +112,12 @@ See [this page](./learn-governance.md#summary) for a comparison with the structu In Polkadot OpenGov, all the proposals are initiated by the public. The proposal will enter a Lead-in period (for more information, see [Referenda Timeline](#referenda-timeline)), after which it will follow a specific [Track](#origins-and-tracks) which has a dedicated Origin. There are -[15 Origins](../maintain/maintain-guides-polkadot-opengov.md#origins-and-tracks-info), each with a -different track. The origins and tracks parameters are preset values that set the duration of a -referendum as well as how many referenda can be voted on simultaneously. For example, a treasury -proposal can now be submitted in different tracks depending on the amount requested. A proposal for -a small tip will need to be submitted in the Small Tipper track, while a proposal requiring -substantial funds will need to be submitted to the Medium or Big Spender track. +[15 Origins](./learn-polkadot-opengov-origins.md#origins-and-tracks-info), each with a different +track. The origins and tracks parameters are preset values that set the duration of a referendum as +well as how many referenda can be voted on simultaneously. For example, a treasury proposal can now +be submitted in different tracks depending on the amount requested. A proposal for a small tip will +need to be submitted in the Small Tipper track, while a proposal requiring substantial funds will +need to be submitted to the Medium or Big Spender track. The [Polkadot Technical Fellowship](#the-technical-fellowship) can decide to [whitelist](#whitelisting) a proposal that will be enacted through the Whitelist Caller origin. @@ -149,18 +151,18 @@ and learn how to use it. ## Gov1 vs. Polkadot OpenGov -| Governance V1 | Polkadot OpenGov | Polkadot OpenGov Benefit | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Includes the [Council](./learn-governance.md#council), the [Technical Committee](./learn-governance.md#technical-committee), and the Public (i.e. token holders). | Includes the Public and the [Technical Fellowship](#the-technical-fellowship). | Simpler and more decentralized structure. | -| Referenda executed only from one origin (Root). Referenda in this origin must be carefully scrutinized. Therefore, there is only one track (i.e. only one referendum at a time can be executed). | Referenda executed from [multiple origins](../maintain/maintain-guides-polkadot-opengov.md#origins-and-tracks-info), each with a different track that shapes proposals’ timelines. Depending on the origin, multiple referenda within the same track are possible. | Possibility to categorize proposals (based on importance and urgency) and execute them simultaneously within and between origin tracks. | -| Proposals can be submitted by either the Council or the Public. | The public submits proposals. | More democratic. | -| Uses [Adaptive Quorum Biasing](./learn-governance.md#adaptive-quorum-biasing) to define the approval threshold based on turnout. Given the same turnout, council-initiated referenda require fewer Aye votes to pass compared to public referenda. | Uses origin-specific approval and support curves defining the amount of approval and support (i.e. turnout) needed as a function of time. The same curves are applied to all referenda within the same origin track. | Referenda timeline depends on the origin and not on who submitted the proposal (i.e. Council or Public). This is a more democratic and equalitarian system. | -| Uses [alternating voting timetable](./learn-governance.md#alternating-voting-timetable) allowing voters to cast votes for either council or public referenda every 28 eras. | Multiple referenda can be voted at the same time. | More flexible and agile governance system. | -| Except for emergency proposals, all referenda have fixed voting and enactment periods of 28 eras. | Periods' length is customizable and has pre-defined limits for each origin. The same limits apply to all tracks with the same origin. For example, the track in the origin Root will be longer than the track within the Small Tipper origin. | Referenda’s timeline is tailored to their importance and urgency. Flexible enactment period based on origin. | -| Emergency proposals turned referenda can be simultaneously voted on and executed with other referenda and have shorter enactment periods. They must be proposed by the Technical Committee and approved by the Council. | No emergency proposals. The Technical Fellowship can whitelist proposals that will have their origin with shorter lead-in, confirmation, and enactment periods. | The Technical Fellowship is a more decentralized entity when compared to the Technical Committee. Whitelisting a proposal requires a majority of approval from the fellowship. | -| Only the [most-endorsed proposal](./learn-governance.md#endorsing-proposals) is able to transit from Launch to Voting period. The time for the transition is indeterminate, and (with no possibility of canceling endorsements) proposers and endorsers might wait a long time before a referendum is tabled, and getting their deposits back. | All proposals will eventually be voted on (given track capacity and deposit are met and the Lead-in period has ended). | It allows all proposals to get a chance to be voted on in a timely predictive manner. | -| Only _aye_ or _nay_ votes possible. | Voters can have the additional voting options of abstaining or splitting votes. | More ways to engage in voting and increase turnout. | -| Voters can decide to delegate votes to another account. | Voters can use [multirole delegations](#multirole-delegation) and delegate votes to different accounts depending on origins. | More agile delegations tailored by expertise. | +| Governance V1 | Polkadot OpenGov | Polkadot OpenGov Benefit | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Includes the [Council](./learn-governance.md#council), the [Technical Committee](./learn-governance.md#technical-committee), and the Public (i.e. token holders). | Includes the Public and the [Technical Fellowship](#the-technical-fellowship). | Simpler and more decentralized structure. | +| Referenda executed only from one origin (Root). Referenda in this origin must be carefully scrutinized. Therefore, there is only one track (i.e. only one referendum at a time can be executed). | Referenda executed from [multiple origins](./learn-polkadot-opengov-origins.md#origins-and-tracks-info), each with a different track that shapes proposals’ timelines. Depending on the origin, multiple referenda within the same track are possible. | Possibility to categorize proposals (based on importance and urgency) and execute them simultaneously within and between origin tracks. | +| Proposals can be submitted by either the Council or the Public. | The public submits proposals. | More democratic. | +| Uses [Adaptive Quorum Biasing](./learn-governance.md#adaptive-quorum-biasing) to define the approval threshold based on turnout. Given the same turnout, council-initiated referenda require fewer Aye votes to pass compared to public referenda. | Uses origin-specific approval and support curves defining the amount of approval and support (i.e. turnout) needed as a function of time. The same curves are applied to all referenda within the same origin track. | Referenda timeline depends on the origin and not on who submitted the proposal (i.e. Council or Public). This is a more democratic and equalitarian system. | +| Uses [alternating voting timetable](./learn-governance.md#alternating-voting-timetable) allowing voters to cast votes for either council or public referenda every 28 eras. | Multiple referenda can be voted at the same time. | More flexible and agile governance system. | +| Except for emergency proposals, all referenda have fixed voting and enactment periods of 28 eras. | Periods' length is customizable and has pre-defined limits for each origin. The same limits apply to all tracks with the same origin. For example, the track in the origin Root will be longer than the track within the Small Tipper origin. | Referenda’s timeline is tailored to their importance and urgency. Flexible enactment period based on origin. | +| Emergency proposals turned referenda can be simultaneously voted on and executed with other referenda and have shorter enactment periods. They must be proposed by the Technical Committee and approved by the Council. | No emergency proposals. The Technical Fellowship can whitelist proposals that will have their origin with shorter lead-in, confirmation, and enactment periods. | The Technical Fellowship is a more decentralized entity when compared to the Technical Committee. Whitelisting a proposal requires a majority of approval from the fellowship. | +| Only the [most-endorsed proposal](./learn-governance.md#endorsing-proposals) is able to transit from Launch to Voting period. The time for the transition is indeterminate, and (with no possibility of canceling endorsements) proposers and endorsers might wait a long time before a referendum is tabled, and getting their deposits back. | All proposals will eventually be voted on (given track capacity and deposit are met and the Lead-in period has ended). | It allows all proposals to get a chance to be voted on in a timely predictive manner. | +| Only _aye_ or _nay_ votes possible. | Voters can have the additional voting options of abstaining or splitting votes. | More ways to engage in voting and increase turnout. | +| Voters can decide to delegate votes to another account. | Voters can use [multirole delegations](#multirole-delegation) and delegate votes to different accounts depending on origins. | More agile delegations tailored by expertise. | ## Proposals @@ -191,10 +193,9 @@ regardless of its status. There is also a provision to ensure the deposit of the if the proposal is malicious or spam. Cancellation is a governance operation the network must vote on to be executed. Cancellation comes -with -[its own Origin and Track](../maintain/maintain-guides-polkadot-opengov.md#referendum-canceller) -which has a low lead-time and Approval/Support curves with slightly sharper reductions in their -thresholds for passing, given that it is invoked with a sense of urgency. +with [its own Origin and Track](./learn-polkadot-opengov-origins.md#referendum-canceller) which has +a low lead-time and Approval/Support curves with slightly sharper reductions in their thresholds for +passing, given that it is invoked with a sense of urgency. For more information about how to cancel a referendum see the [advanced how-to guides](./learn-guides-polkadot-opengov#cancel-or-kill-a-referendum). @@ -221,7 +222,7 @@ in Governance v1. **In Polkadot OpenGov all referenda are public.** The [Technical Fellowship](#the-technical-fellowship) has the option to [whitelist](#whitelisting) referenda that can be then proposed in the track with -[whitelist origin](../maintain/maintain-guides-polkadot-opengov.md#whitelisted-caller). +[whitelist origin](./learn-polkadot-opengov-origins.md#whitelisted-caller). ### Referenda Timeline @@ -316,7 +317,7 @@ therefore different Origins for these two actions are needed in which different approval, and a minimum [enactment](#enactment) periods will be predetermined on the pallet. For detailed information about origin and tracks, and parameter values in Kusama, see -[this page](../maintain/maintain-guides-polkadot-opengov.md#origins-and-tracks-info). +[this page](./learn-polkadot-opengov-origins.md#origins-and-tracks-info). ### Approval and Support @@ -381,11 +382,11 @@ votes. Different Origins' tracks have different Confirmation Periods and requirements for approval and support. For additional details on the various origins and tracks, check out -[this table](../maintain/maintain-guides-polkadot-opengov.md#origins-and-tracks-info). Configuring -the amount of support and overall approval required for it to pass is now possible. With proposals -that use less privileged origins, it is far more reasonable to drop the required support to a more -realistic amount earlier than those which use highly privileged classes such as `Root`. Classes with -more significance can be made to require higher approval early on, to avoid controversy. +[this table](./learn-polkadot-opengov-origins.md#origins-and-tracks-info). Configuring the amount of +support and overall approval required for it to pass is now possible. With proposals that use less +privileged origins, it is far more reasonable to drop the required support to a more realistic +amount earlier than those which use highly privileged classes such as `Root`. Classes with more +significance can be made to require higher approval early on, to avoid controversy. ### Enactment @@ -404,8 +405,8 @@ importance of the changes they bring to the network. In Governance V1, voters could cast only an _aye_ or _nay_ vote. In Polkadot OpenGov, voters can additionally cast a _abstain_ and _split_ votes. -[Vote splitting](../maintain/maintain-guides-polkadot-opengov.md#voting-on-referenda) allows voters -to allocate different votes for _aye_, _nay_, and _abstain_. +[Vote splitting](./learn-guides-polkadot-opengov.md#voting-on-referenda) allows voters to allocate +different votes for _aye_, _nay_, and _abstain_. :::info Only the last vote counts @@ -511,7 +512,7 @@ power over any remaining classes. In Polkadot OpenGov you can delegate your votes to different entities, who will vote on your behalf. You can delegate your votes using the [**Polkadot Delegation Dashboard**](https://delegation.polkadot.network/). See -[this video tutorial](https://www.youtube.com/watch?v=tlh_KmWQiSQ) to learn about the features of +[this video tutorial](https://www.youtube.com/watch?v=RapBYZc5ZPo) to learn about the features of the dashboard. If you are staking directly and not through a nomination pool, you can use bonded tokens for voting. @@ -543,8 +544,8 @@ enacted is reached while maintaining the anonymity of voters and keeping the ove censorship-free. For a step-by-step outline of how to delegate voting power in Polkadot OpenGov, check out the -[Delegating Voting Power](../maintain/maintain-guides-polkadot-opengov.md#delegating-voting-power) -section on the [Polkadot OpenGov Maintenance](../maintain/maintain-guides-polkadot-opengov.md) page. +[Delegating Voting Power](./learn-guides-polkadot-opengov.md#delegations) section on the +[Polkadot OpenGov Guides](./learn-guides-polkadot-opengov.md). ## The Polkadot Technical Fellowship @@ -639,7 +640,7 @@ protocol have determined that the action is both safe and time-critical. :::info Submitting Whitelisted Proposals For more information about how to submit a whitelisted proposal see the -[dedicated advanced how-to guides](../maintain/maintain-guides-polkadot-opengov.md#submitting-a-referendum-on-the-whitelisted-caller-track). +[dedicated advanced how-to guides](./learn-guides-polkadot-opengov.md#submitting-a-referendum-on-the-whitelisted-caller-track). ::: diff --git a/polkadot-wiki/docusaurus.config.js b/polkadot-wiki/docusaurus.config.js index 069bb73ae7d5..a30b62c9cdae 100644 --- a/polkadot-wiki/docusaurus.config.js +++ b/polkadot-wiki/docusaurus.config.js @@ -172,8 +172,11 @@ module.exports = { { to: '/docs/staking-apps', from: ['/docs/learn-staking-apps'] - } - + }, + { + to: '/docs/learn-polkadot-opengov-origins', + from: ['/docs/maintain-guides-polkadot-opengov'] + }, ], createRedirects: function (existingPath) { if (existingPath.startsWith("/docs/")) { diff --git a/polkadot-wiki/sidebars.js b/polkadot-wiki/sidebars.js index f560ea40cb26..ee9719866254 100644 --- a/polkadot-wiki/sidebars.js +++ b/polkadot-wiki/sidebars.js @@ -23,10 +23,8 @@ module.exports = { }, items: [ "general/wallets-and-extensions", - "general/multisig-apps", "general/ledger", "general/polkadot-vault", - "general/polkadotjs-ui", ], }, { @@ -42,10 +40,11 @@ module.exports = { items: [ "general/staking-apps", "general/governance-apps", + "general/multisig-apps", + "learn/learn-nft-projects", "general/parachains-apps", ], }, - "general/polkadotjs", { type: "category", label: "Dashboards", @@ -220,7 +219,21 @@ module.exports = { "learn/learn-nomination-pools", ], }, - "learn/learn-polkadot-opengov", + { + type: "category", + label: "Polkadot OpenGov", + description: 'Everything about Polkadot OpenGov.', + link: { + type: 'generated-index', + title: 'Polkadot OpenGov', + description: 'Everything about Polkadot OpenGov.', + slug: '/learn-polkadot-opengov-index', + }, + items: [ + "learn/learn-polkadot-opengov", + "learn/learn-polkadot-opengov-origins", + ], + }, "learn/learn-polkadot-opengov-treasury", { type: "category", @@ -237,21 +250,7 @@ module.exports = { "learn/learn-DOT", "learn/learn-inflation", "learn/learn-teleport", - ], - }, - { - type: "category", - label: "NFTs", - description: 'Intro to NFTs and NFT Projects.', - link: { - type: 'generated-index', - title: 'NFTs', - description: 'Everything about NFTs on Polkadot.', - slug: '/learn-nft-index', - }, - items: [ "learn/learn-nft", - "learn/learn-nft-projects", ], }, { @@ -284,6 +283,21 @@ module.exports = { slug: '/learn-advanced-index', }, items: [ + { + type: "category", + label: "Polkadot-JS", + description: 'Overview of Polkadot-JS.', + link: { + type: 'generated-index', + title: 'Polkadot-JS', + description: 'Overview of Polkadot-JS.', + slug: '/learn-polkadotjs-index', + }, + items: [ + "general/polkadotjs", + "general/polkadotjs-ui", + ], + }, { type: "category", label: "Architecture", @@ -684,13 +698,6 @@ module.exports = { "maintain/maintain-guides-avoid-slashing", ], }, - { - type: "category", - label: "Governance Guides", - items: [ - "maintain/maintain-guides-polkadot-opengov", - ], - }, { type: "category", label: "Archive",