diff --git a/primitives/src/governance.rs b/primitives/src/governance.rs index da3acf4891..a7a1b9094a 100644 --- a/primitives/src/governance.rs +++ b/primitives/src/governance.rs @@ -80,3 +80,8 @@ pub type EnsureRootOrHalfCommunityCouncil = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; + +pub type EnsureRootOrFourFifthsCommunityCouncil = EitherOfDiverse< + EnsureRoot, + pallet_collective::EnsureProportionAtLeast, +>; diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index eb078daeb8..d80f483978 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -87,10 +87,10 @@ use astar_primitives::{ governance::{ CommunityCouncilCollectiveInst, CommunityCouncilMembershipInst, CommunityTreasuryInst, EnsureRootOrAllMainCouncil, EnsureRootOrAllTechnicalCommittee, - EnsureRootOrHalfCommunityCouncil, EnsureRootOrHalfMainCouncil, - EnsureRootOrHalfTechnicalCommittee, MainCouncilCollectiveInst, MainCouncilMembershipInst, - MainTreasuryInst, OracleMembershipInst, TechnicalCommitteeCollectiveInst, - TechnicalCommitteeMembershipInst, + EnsureRootOrFourFifthsCommunityCouncil, EnsureRootOrHalfCommunityCouncil, + EnsureRootOrHalfMainCouncil, EnsureRootOrHalfTechnicalCommittee, MainCouncilCollectiveInst, + MainCouncilMembershipInst, MainTreasuryInst, OracleMembershipInst, + TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, }, oracle::{CurrencyAmount, CurrencyId, DummyCombineData, Price}, xcm::AssetLocationIdConverter, @@ -466,7 +466,7 @@ impl pallet_dapp_staking::Config for Runtime { type Currency = Balances; type SmartContract = SmartContract; type ContractRegisterOrigin = EnsureRootOrHalfCommunityCouncil; - type ContractUnregisterOrigin = frame_system::EnsureRoot; + type ContractUnregisterOrigin = EnsureRootOrFourFifthsCommunityCouncil; type ManagerOrigin = EnsureRootOrHalfTechnicalCommittee; type NativePriceProvider = PriceAggregator; type StakingRewardHandler = Inflation;