mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 18:07:58 +00:00
5595f10245
* Ranked Collective pallet * Fixes * benchmarks * Weights * Allow class voting in rank Use bare ayes for calculating support. Allow only promotion/demotion by one rank only. Allow removal of member with rank zero only. Use new Tally API * Index by rank, still O(1). * Custom vote weights * Formatting * Update frame/ranked-collective/src/lib.rs * Broken :( * origin guard; cleanup uses new API * Formatting * Promote/demote by rank * Formatting * Use new API * Remove code in another PR * Remove code in another PR * Formatting * Remove code in another PR * Docs * Docs * Bump * Fixes * Formatting * Fixes
23 lines
1.4 KiB
Markdown
23 lines
1.4 KiB
Markdown
# Ranked collective system.
|
|
|
|
This is a membership pallet providing a `Tally` implementation ready for use with polling
|
|
systems such as the Referenda pallet. Members each have a rank, with zero being the lowest.
|
|
There is no complexity limitation on either the number of members at a rank or the number of
|
|
ranks in the system thus allowing potentially public membership. A member of at least a given
|
|
rank can be selected at random in O(1) time, allowing for various games to constructed using
|
|
this as a primitive. Members may only be promoted and demoted by one rank at a time, however
|
|
all operations (save one) are O(1) in complexity. The only operation which is not O(1) is the
|
|
`remove_member` since they must be removed from all ranks from the present down to zero.
|
|
|
|
Different ranks have different voting power, and are able to vote in different polls. In general
|
|
rank privileges are cumulative. Higher ranks are able to vote in any polls open to lower ranks.
|
|
Similarly, higher ranks always have at least as much voting power in any given poll as lower
|
|
ranks.
|
|
|
|
Two `Config` trait items control these "rank privileges": `MinRankOfClass` and `VoteWeight`.
|
|
The first controls which ranks are allowed to vote on a particular class of poll. The second
|
|
controls the weight of a vote given the voters rank compared to the minimum rank of the poll.
|
|
|
|
An origin control, `EnsureRank`, ensures that the origin is a member of the collective of at
|
|
least a particular rank.
|