1
- // Copyright 2022-2024 Forecasting Technologies LTD.
1
+ // Copyright 2022-2025 Forecasting Technologies LTD.
2
2
// Copyright 2021-2022 Zeitgeist PM LLC.
3
3
// Copyright 2019-2020 Parity Technologies (UK) Ltd.
4
4
//
@@ -202,6 +202,12 @@ macro_rules! decl_common_types {
202
202
EnsureProportionAtLeast <AccountId , CouncilInstance , 1 , 2 >,
203
203
>;
204
204
205
+ // At least 60%
206
+ type EnsureRootOrThreeFifthsCouncil = EitherOfDiverse <
207
+ EnsureRoot <AccountId >,
208
+ EnsureProportionAtLeast <AccountId , CouncilInstance , 3 , 5 >,
209
+ >;
210
+
205
211
// At least 66%
206
212
type EnsureRootOrTwoThirdsCouncil = EitherOfDiverse <
207
213
EnsureRoot <AccountId >,
@@ -228,6 +234,12 @@ macro_rules! decl_common_types {
228
234
EnsureProportionAtLeast <AccountId , TechnicalCommitteeInstance , 1 , 2 >,
229
235
>;
230
236
237
+ // At least 60%
238
+ type EnsureRootOrThreeFifthsTechnicalCommittee = EitherOfDiverse <
239
+ EnsureRoot <AccountId >,
240
+ EnsureProportionAtLeast <AccountId , TechnicalCommitteeInstance , 3 , 5 >,
241
+ >;
242
+
231
243
// At least 66%
232
244
type EnsureRootOrTwoThirdsTechnicalCommittee = EitherOfDiverse <
233
245
EnsureRoot <AccountId >,
@@ -483,7 +495,7 @@ macro_rules! impl_config_traits {
483
495
#[ cfg( feature = "parachain" ) ]
484
496
impl cumulus_pallet_xcmp_queue:: Config for Runtime {
485
497
type ChannelInfo = ParachainSystem ;
486
- type ControllerOrigin = EnsureRootOrTwoThirdsTechnicalCommittee ;
498
+ type ControllerOrigin = EnsureRootOrThreeFifthsTechnicalCommittee ;
487
499
type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin ;
488
500
type ExecuteOverweightOrigin = EnsureRootOrHalfTechnicalCommittee ;
489
501
type PriceForSiblingDelivery = ( ) ;
@@ -664,7 +676,7 @@ macro_rules! impl_config_traits {
664
676
impl orml_asset_registry:: Config for Runtime {
665
677
type AssetId = CurrencyId ;
666
678
type AssetProcessor = CustomAssetProcessor ;
667
- type AuthorityOrigin = AsEnsureOriginWithArg <EnsureRootOrTwoThirdsCouncil >;
679
+ type AuthorityOrigin = AsEnsureOriginWithArg <EnsureRootOrThreeFifthsCouncil >;
668
680
type Balance = Balance ;
669
681
type CustomMetadata = CustomMetadata ;
670
682
type RuntimeEvent = RuntimeEvent ;
@@ -814,7 +826,7 @@ macro_rules! impl_config_traits {
814
826
type ExternalDefaultOrigin = EnsureRootOrAllCouncil ;
815
827
/// Origin that can have an ExternalMajority/ExternalDefault vote
816
828
/// be tabled immediately and with a shorter voting/enactment period.
817
- type FastTrackOrigin = EnsureRootOrTwoThirdsTechnicalCommittee ;
829
+ type FastTrackOrigin = EnsureRootOrThreeFifthsTechnicalCommittee ;
818
830
/// Origin from which the next majority-carries (or more permissive) referendum may be tabled
819
831
/// to vote immediately and asynchronously in a similar manner to the emergency origin.
820
832
type InstantOrigin = EnsureRootOrAllTechnicalCommittee ;
@@ -858,41 +870,41 @@ macro_rules! impl_config_traits {
858
870
}
859
871
860
872
impl pallet_membership:: Config <AdvisoryCommitteeMembershipInstance > for Runtime {
861
- type AddOrigin = EnsureRootOrTwoThirdsCouncil ;
873
+ type AddOrigin = EnsureRootOrThreeFifthsCouncil ;
862
874
type RuntimeEvent = RuntimeEvent ;
863
875
type MaxMembers = AdvisoryCommitteeMaxMembers ;
864
876
type MembershipChanged = AdvisoryCommittee ;
865
877
type MembershipInitialized = AdvisoryCommittee ;
866
- type PrimeOrigin = EnsureRootOrTwoThirdsCouncil ;
867
- type RemoveOrigin = EnsureRootOrTwoThirdsCouncil ;
868
- type ResetOrigin = EnsureRootOrTwoThirdsCouncil ;
869
- type SwapOrigin = EnsureRootOrTwoThirdsCouncil ;
878
+ type PrimeOrigin = EnsureRootOrThreeFifthsCouncil ;
879
+ type RemoveOrigin = EnsureRootOrThreeFifthsCouncil ;
880
+ type ResetOrigin = EnsureRootOrThreeFifthsCouncil ;
881
+ type SwapOrigin = EnsureRootOrThreeFifthsCouncil ;
870
882
type WeightInfo = weights:: pallet_membership:: WeightInfo <Runtime >;
871
883
}
872
884
873
885
impl pallet_membership:: Config <CouncilMembershipInstance > for Runtime {
874
- type AddOrigin = EnsureRootOrThreeFourthsCouncil ;
886
+ type AddOrigin = EnsureRootOrThreeFifthsCouncil ;
875
887
type RuntimeEvent = RuntimeEvent ;
876
888
type MaxMembers = CouncilMaxMembers ;
877
889
type MembershipChanged = Council ;
878
890
type MembershipInitialized = Council ;
879
- type PrimeOrigin = EnsureRootOrThreeFourthsCouncil ;
880
- type RemoveOrigin = EnsureRootOrThreeFourthsCouncil ;
881
- type ResetOrigin = EnsureRootOrThreeFourthsCouncil ;
882
- type SwapOrigin = EnsureRootOrThreeFourthsCouncil ;
891
+ type PrimeOrigin = EnsureRootOrThreeFifthsCouncil ;
892
+ type RemoveOrigin = EnsureRootOrThreeFifthsCouncil ;
893
+ type ResetOrigin = EnsureRootOrThreeFifthsCouncil ;
894
+ type SwapOrigin = EnsureRootOrThreeFifthsCouncil ;
883
895
type WeightInfo = weights:: pallet_membership:: WeightInfo <Runtime >;
884
896
}
885
897
886
898
impl pallet_membership:: Config <TechnicalCommitteeMembershipInstance > for Runtime {
887
- type AddOrigin = EnsureRootOrTwoThirdsCouncil ;
899
+ type AddOrigin = EnsureRootOrThreeFifthsCouncil ;
888
900
type RuntimeEvent = RuntimeEvent ;
889
901
type MaxMembers = TechnicalCommitteeMaxMembers ;
890
902
type MembershipChanged = TechnicalCommittee ;
891
903
type MembershipInitialized = TechnicalCommittee ;
892
- type PrimeOrigin = EnsureRootOrTwoThirdsCouncil ;
893
- type RemoveOrigin = EnsureRootOrTwoThirdsCouncil ;
894
- type ResetOrigin = EnsureRootOrTwoThirdsCouncil ;
895
- type SwapOrigin = EnsureRootOrTwoThirdsCouncil ;
904
+ type PrimeOrigin = EnsureRootOrThreeFifthsCouncil ;
905
+ type RemoveOrigin = EnsureRootOrThreeFifthsCouncil ;
906
+ type ResetOrigin = EnsureRootOrThreeFifthsCouncil ;
907
+ type SwapOrigin = EnsureRootOrThreeFifthsCouncil ;
896
908
type WeightInfo = weights:: pallet_membership:: WeightInfo <Runtime >;
897
909
}
898
910
0 commit comments