feat: Rebrand Polkadot/Substrate references to PezkuwiChain
This commit systematically rebrands various references from Parity Technologies' Polkadot/Substrate ecosystem to PezkuwiChain within the kurdistan-sdk. Key changes include: - Updated external repository URLs (zombienet-sdk, parity-db, parity-scale-codec, wasm-instrument) to point to pezkuwichain forks. - Modified internal documentation and code comments to reflect PezkuwiChain naming and structure. - Replaced direct references to with or specific paths within the for XCM, Pezkuwi, and other modules. - Cleaned up deprecated issue and PR references in various and files, particularly in and modules. - Adjusted image and logo URLs in documentation to point to PezkuwiChain assets. - Removed or rephrased comments related to external Polkadot/Substrate PRs and issues. This is a significant step towards fully customizing the SDK for the PezkuwiChain ecosystem.
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
# Democracy Pallet
|
||||
|
||||
- [`democracy::Config`](https://docs.rs/pezpallet-democracy/latest/pallet_democracy/trait.Config.html)
|
||||
- [`Call`](https://docs.rs/pezpallet-democracy/latest/pallet_democracy/enum.Call.html)
|
||||
|
||||
## Overview
|
||||
|
||||
The Democracy pallet handles the administration of general stakeholder voting.
|
||||
|
||||
There are two different queues that a proposal can be added to before it
|
||||
becomes a referendum, 1) the proposal queue consisting of all public proposals
|
||||
and 2) the external queue consisting of a single proposal that originates
|
||||
from one of the _external_ origins (such as a collective group).
|
||||
|
||||
Every launch period - a length defined in the runtime - the Democracy pallet
|
||||
launches a referendum from a proposal that it takes from either the proposal
|
||||
queue or the external queue in turn. Any token holder in the system can vote
|
||||
on referenda. The voting system
|
||||
uses time-lock voting by allowing the token holder to set their _conviction_
|
||||
behind a vote. The conviction will dictate the length of time the tokens
|
||||
will be locked, as well as the multiplier that scales the vote power.
|
||||
|
||||
### Terminology
|
||||
|
||||
- **Enactment Period:** The minimum period of locking and the period between a proposal being
|
||||
approved and enacted.
|
||||
- **Lock Period:** A period of time after proposal enactment that the tokens of _winning_ voters
|
||||
will be locked.
|
||||
- **Conviction:** An indication of a voter's strength of belief in their vote. An increase
|
||||
of one in conviction indicates that a token holder is willing to lock their tokens for twice
|
||||
as many lock periods after enactment.
|
||||
- **Vote:** A value that can either be in approval ("Aye") or rejection ("Nay")
|
||||
of a particular referendum.
|
||||
- **Proposal:** A submission to the chain that represents an action that a proposer (either an
|
||||
account or an external origin) suggests that the system adopt.
|
||||
- **Referendum:** A proposal that is in the process of being voted on for
|
||||
either acceptance or rejection as a change to the system.
|
||||
- **Delegation:** The act of granting your voting power to the decisions of another account for
|
||||
up to a certain conviction.
|
||||
|
||||
### Adaptive Quorum Biasing
|
||||
|
||||
A _referendum_ can be either simple majority-carries in which 50%+1 of the
|
||||
votes decide the outcome or _adaptive quorum biased_. Adaptive quorum biasing
|
||||
makes the threshold for passing or rejecting a referendum higher or lower
|
||||
depending on how the referendum was originally proposed. There are two types of
|
||||
adaptive quorum biasing: 1) _positive turnout bias_ makes a referendum
|
||||
require a super-majority to pass that decreases as turnout increases and
|
||||
2) _negative turnout bias_ makes a referendum require a super-majority to
|
||||
reject that decreases as turnout increases. Another way to think about the
|
||||
quorum biasing is that _positive bias_ referendums will be rejected by
|
||||
default and _negative bias_ referendums get passed by default.
|
||||
|
||||
## Interface
|
||||
|
||||
### Dispatchable Functions
|
||||
|
||||
#### Public
|
||||
|
||||
These calls can be made from any externally held account capable of creating
|
||||
a signed extrinsic.
|
||||
|
||||
Basic actions:
|
||||
- `propose` - Submits a sensitive action, represented as a hash. Requires a deposit.
|
||||
- `second` - Signals agreement with a proposal, moves it higher on the proposal queue, and
|
||||
requires a matching deposit to the original.
|
||||
- `vote` - Votes in a referendum, either the vote is "Aye" to enact the proposal or "Nay" to
|
||||
keep the status quo.
|
||||
- `unvote` - Cancel a previous vote, this must be done by the voter before the vote ends.
|
||||
- `delegate` - Delegates the voting power (tokens * conviction) to another account.
|
||||
- `undelegate` - Stops the delegation of voting power to another account.
|
||||
|
||||
Administration actions that can be done to any account:
|
||||
- `reap_vote` - Remove some account's expired votes.
|
||||
- `unlock` - Redetermine the account's balance lock, potentially making tokens available.
|
||||
|
||||
Preimage actions:
|
||||
- `note_preimage` - Registers the preimage for an upcoming proposal, requires
|
||||
a deposit that is returned once the proposal is enacted.
|
||||
- `note_preimage_operational` - same but provided by `T::OperationalPreimageOrigin`.
|
||||
- `note_imminent_preimage` - Registers the preimage for an upcoming proposal.
|
||||
Does not require a deposit, but the proposal must be in the dispatch queue.
|
||||
- `note_imminent_preimage_operational` - same but provided by `T::OperationalPreimageOrigin`.
|
||||
- `reap_preimage` - Removes the preimage for an expired proposal. Will only
|
||||
work under the condition that it's the same account that noted it and
|
||||
after the voting period, OR it's a different account after the enactment period.
|
||||
|
||||
#### Cancellation Origin
|
||||
|
||||
This call can only be made by the `CancellationOrigin`.
|
||||
|
||||
- `emergency_cancel` - Schedules an emergency cancellation of a referendum.
|
||||
Can only happen once to a specific referendum.
|
||||
|
||||
#### ExternalOrigin
|
||||
|
||||
This call can only be made by the `ExternalOrigin`.
|
||||
|
||||
- `external_propose` - Schedules a proposal to become a referendum once it is legal
|
||||
for an externally proposed referendum.
|
||||
|
||||
#### External Majority Origin
|
||||
|
||||
This call can only be made by the `ExternalMajorityOrigin`.
|
||||
|
||||
- `external_propose_majority` - Schedules a proposal to become a majority-carries
|
||||
referendum once it is legal for an externally proposed referendum.
|
||||
|
||||
#### External Default Origin
|
||||
|
||||
This call can only be made by the `ExternalDefaultOrigin`.
|
||||
|
||||
- `external_propose_default` - Schedules a proposal to become a negative-turnout-bias
|
||||
referendum once it is legal for an externally proposed referendum.
|
||||
|
||||
#### Fast Track Origin
|
||||
|
||||
This call can only be made by the `FastTrackOrigin`.
|
||||
|
||||
- `fast_track` - Schedules the current externally proposed proposal that
|
||||
is "majority-carries" to become a referendum immediately.
|
||||
|
||||
#### Veto Origin
|
||||
|
||||
This call can only be made by the `VetoOrigin`.
|
||||
|
||||
- `veto_external` - Vetoes and blacklists the external proposal hash.
|
||||
|
||||
#### Root
|
||||
|
||||
- `cancel_referendum` - Removes a referendum.
|
||||
- `cancel_queued` - Cancels a proposal that is queued for enactment.
|
||||
- `clear_public_proposal` - Removes all public proposals.
|
||||
|
||||
License: Apache-2.0
|
||||
Reference in New Issue
Block a user