mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 08:51:09 +00:00
SetMembers configurable origin (#13159)
* SetMembers configurable origin * root origin comment replaced * fmt
This commit is contained in:
@@ -992,6 +992,7 @@ impl pallet_collective::Config<CouncilCollective> for Runtime {
|
||||
type MaxMembers = CouncilMaxMembers;
|
||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
||||
type WeightInfo = pallet_collective::weights::SubstrateWeight<Runtime>;
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -1051,6 +1052,7 @@ impl pallet_collective::Config<TechnicalCollective> for Runtime {
|
||||
type MaxMembers = TechnicalMaxMembers;
|
||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
||||
type WeightInfo = pallet_collective::weights::SubstrateWeight<Runtime>;
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
type EnsureRootOrHalfCouncil = EitherOfDiverse<
|
||||
@@ -1652,6 +1654,7 @@ impl pallet_collective::Config<AllianceCollective> for Runtime {
|
||||
type MaxMembers = AllianceMaxMembers;
|
||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
||||
type WeightInfo = pallet_collective::weights::SubstrateWeight<Runtime>;
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -104,6 +104,7 @@ impl pallet_collective::Config<AllianceCollective> for Test {
|
||||
type MaxMembers = MaxMembers;
|
||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
||||
type WeightInfo = ();
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
|
||||
@@ -215,6 +215,9 @@ pub mod pallet {
|
||||
|
||||
/// Weight information for extrinsics in this pallet.
|
||||
type WeightInfo: WeightInfo;
|
||||
|
||||
/// Origin allowed to set collective members
|
||||
type SetMembersOrigin: EnsureOrigin<<Self as frame_system::Config>::RuntimeOrigin>;
|
||||
}
|
||||
|
||||
#[pallet::genesis_config]
|
||||
@@ -349,7 +352,7 @@ pub mod pallet {
|
||||
/// - `old_count`: The upper bound for the previous number of members in storage. Used for
|
||||
/// weight estimation.
|
||||
///
|
||||
/// Requires root origin.
|
||||
/// The dispatch of this call must be `SetMembersOrigin`.
|
||||
///
|
||||
/// NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but
|
||||
/// the weight estimations rely on it to estimate dispatchable weight.
|
||||
@@ -389,7 +392,7 @@ pub mod pallet {
|
||||
prime: Option<T::AccountId>,
|
||||
old_count: MemberCount,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
ensure_root(origin)?;
|
||||
T::SetMembersOrigin::ensure_origin(origin)?;
|
||||
if new_members.len() > T::MaxMembers::get() as usize {
|
||||
log::error!(
|
||||
target: LOG_TARGET,
|
||||
|
||||
@@ -24,7 +24,7 @@ use frame_support::{
|
||||
traits::{ConstU32, ConstU64, GenesisBuild, StorageVersion},
|
||||
Hashable,
|
||||
};
|
||||
use frame_system::{EventRecord, Phase};
|
||||
use frame_system::{EnsureRoot, EventRecord, Phase};
|
||||
use sp_core::H256;
|
||||
use sp_runtime::{
|
||||
testing::Header,
|
||||
@@ -127,6 +127,7 @@ impl Config<Instance1> for Test {
|
||||
type MaxMembers = MaxMembers;
|
||||
type DefaultVote = PrimeDefaultVote;
|
||||
type WeightInfo = ();
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
impl Config<Instance2> for Test {
|
||||
type RuntimeOrigin = RuntimeOrigin;
|
||||
@@ -137,6 +138,7 @@ impl Config<Instance2> for Test {
|
||||
type MaxMembers = MaxMembers;
|
||||
type DefaultVote = MoreThanMajorityThenPrimeDefaultVote;
|
||||
type WeightInfo = ();
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
impl mock_democracy::Config for Test {
|
||||
type RuntimeEvent = RuntimeEvent;
|
||||
@@ -151,6 +153,7 @@ impl Config for Test {
|
||||
type MaxMembers = MaxMembers;
|
||||
type DefaultVote = PrimeDefaultVote;
|
||||
type WeightInfo = ();
|
||||
type SetMembersOrigin = EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
pub fn new_test_ext() -> sp_io::TestExternalities {
|
||||
|
||||
@@ -217,6 +217,7 @@ impl pallet_collective::Config<CouncilCollective> for Test {
|
||||
type MaxMembers = MaxMembers;
|
||||
type DefaultVote = pallet_collective::PrimeDefaultVote;
|
||||
type WeightInfo = ();
|
||||
type SetMembersOrigin = frame_system::EnsureRoot<Self::AccountId>;
|
||||
}
|
||||
|
||||
impl example::Config for Test {}
|
||||
|
||||
Reference in New Issue
Block a user