Ranked Collective pallet (#11548)

* 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
This commit is contained in:
Gavin Wood
2022-06-01 10:23:47 +01:00
committed by GitHub
parent 8e9639d2ff
commit 5595f10245
22 changed files with 1641 additions and 17 deletions
+5 -1
View File
@@ -27,7 +27,7 @@ use crate::{
use codec::{Decode, Encode, EncodeLike, FullCodec, FullEncode};
use sp_core::storage::ChildInfo;
use sp_runtime::generic::{Digest, DigestItem};
use sp_std::prelude::*;
use sp_std::{marker::PhantomData, prelude::*};
pub use self::{
transactional::{
@@ -51,6 +51,10 @@ pub mod types;
pub mod unhashed;
pub mod weak_bounded_vec;
/// Utility type for converting a storage map into a `Get<u32>` impl which returns the maximum
/// key size.
pub struct KeyLenOf<M>(PhantomData<M>);
/// A trait for working with macro-generated storage values under the substrate storage API.
///
/// Details on implementation can be found at [`generator::StorageValue`].