Files
pezkuwi-subxt/substrate/frame/ranked-collective
Oliver Tale-Yazdi 8b9455465b Format and Sort features in Cargo.toml files (#14803)
* CI: Add feature sorting check

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Sort all features

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add some mistakes

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Revert "Add some mistakes"

This reverts commit b2b1099f979f6decb22d09b46689c1554bb72e81.

* CI job naming

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Add oneliner formatting

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Explain tool

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use latest version

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Better erorr message

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Format after master merge

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Use --check option

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Messed up the merge commit...

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-23 14:21:52 +00:00
..
2022-06-01 10:23:47 +01:00

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.