From 1f7ea6192eb9ad5921a99ad959e14d9065d8ca09 Mon Sep 17 00:00:00 2001 From: Malte Kliemann Date: Thu, 23 Feb 2023 12:49:42 +0100 Subject: [PATCH] Adjust Advisory Committee voting ratios (#975) * Adjust Advisory Committee's voting ratios * Remove unused imports * Fix imports * Change `request_edit` threshold to 30% * Fix formatting * Fix voting ratios * Fix name of 1/3 AC --- node/src/chain_spec/battery_station.rs | 3 ++- node/src/chain_spec/dev.rs | 3 ++- node/src/chain_spec/zeitgeist.rs | 3 ++- runtime/battery-station/src/lib.rs | 1 + runtime/common/src/lib.rs | 37 +++++++++++++++----------- runtime/zeitgeist/src/lib.rs | 2 +- 6 files changed, 29 insertions(+), 20 deletions(-) diff --git a/node/src/chain_spec/battery_station.rs b/node/src/chain_spec/battery_station.rs index ee3c9809c..fb4556f72 100644 --- a/node/src/chain_spec/battery_station.rs +++ b/node/src/chain_spec/battery_station.rs @@ -26,7 +26,7 @@ use sc_service::ChainType; use sp_core::crypto::UncheckedInto; use zeitgeist_primitives::{ constants::{ - ztg::{LIQUIDITY_MINING, LIQUIDITY_MINING_PTD, STAKING_PTD}, + ztg::{LIQUIDITY_MINING, LIQUIDITY_MINING_PTD}, BASE, }, types::AccountId, @@ -40,6 +40,7 @@ use { CollatorDeposit, DefaultBlocksPerRound, DefaultCollatorCommission, DefaultParachainBondReservePercent, EligibilityValue, PolkadotXcmConfig, }, + zeitgeist_primitives::constants::ztg::STAKING_PTD, zeitgeist_primitives::constants::ztg::TOTAL_INITIAL_ZTG, }; diff --git a/node/src/chain_spec/dev.rs b/node/src/chain_spec/dev.rs index 558a132d9..146c5c9b7 100644 --- a/node/src/chain_spec/dev.rs +++ b/node/src/chain_spec/dev.rs @@ -31,13 +31,14 @@ use battery_station_runtime::{ use sc_service::ChainType; use sp_core::sr25519; use zeitgeist_primitives::{ - constants::ztg::{LIQUIDITY_MINING, LIQUIDITY_MINING_PTD, STAKING_PTD}, + constants::ztg::{LIQUIDITY_MINING, LIQUIDITY_MINING_PTD}, types::Balance, }; #[cfg(feature = "parachain")] use { super::battery_station::inflation_config, sp_runtime::Perbill, + zeitgeist_primitives::constants::ztg::STAKING_PTD, zeitgeist_primitives::constants::{ztg::TOTAL_INITIAL_ZTG, BASE}, }; diff --git a/node/src/chain_spec/zeitgeist.rs b/node/src/chain_spec/zeitgeist.rs index b0901e44d..932c7dc57 100644 --- a/node/src/chain_spec/zeitgeist.rs +++ b/node/src/chain_spec/zeitgeist.rs @@ -27,12 +27,13 @@ use sc_service::ChainType; use sp_core::crypto::UncheckedInto; use zeitgeist_runtime::parameters::SS58Prefix; -use zeitgeist_primitives::constants::ztg::{LIQUIDITY_MINING, LIQUIDITY_MINING_PTD, STAKING_PTD}; +use zeitgeist_primitives::constants::ztg::{LIQUIDITY_MINING, LIQUIDITY_MINING_PTD}; #[cfg(feature = "parachain")] use { super::{generate_inflation_config_function, Extensions}, crate::KUSAMA_PARACHAIN_ID, + zeitgeist_primitives::constants::ztg::STAKING_PTD, zeitgeist_primitives::constants::ztg::TOTAL_INITIAL_ZTG, zeitgeist_runtime::{ CollatorDeposit, DefaultBlocksPerRound, DefaultCollatorCommission, diff --git a/runtime/battery-station/src/lib.rs b/runtime/battery-station/src/lib.rs index 7d32f7f94..7d74f2494 100644 --- a/runtime/battery-station/src/lib.rs +++ b/runtime/battery-station/src/lib.rs @@ -35,6 +35,7 @@ pub use frame_system::{ #[cfg(feature = "parachain")] pub use pallet_author_slot_filter::EligibilityValue; pub use pallet_balances::Call as BalancesCall; +use pallet_collective::EnsureProportionMoreThan; #[cfg(feature = "parachain")] pub use crate::parachain_params::*; diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs index 1888f9ff2..cd74fcbf1 100644 --- a/runtime/common/src/lib.rs +++ b/runtime/common/src/lib.rs @@ -133,14 +133,25 @@ macro_rules! decl_common_types { EnsureProportionAtLeast, >; - // Advisory committee vote proportions - // At least 50% - type EnsureRootOrHalfAdvisoryCommittee = EitherOfDiverse< + // Advisory Committee vote proportions + // More than 33% + type EnsureRootOrMoreThanOneThirdAdvisoryCommittee = EitherOfDiverse< EnsureRoot, - EnsureProportionAtLeast, + EnsureProportionMoreThan, + >; + + // More than 50% + type EnsureRootOrMoreThanHalfAdvisoryCommittee = EitherOfDiverse< + EnsureRoot, + EnsureProportionMoreThan, + >; + + // More than 66% + type EnsureRootOrMoreThanTwoThirdsAdvisoryCommittee = EitherOfDiverse< + EnsureRoot, + EnsureProportionMoreThan, >; - // Technical committee vote proportions // At least 66% type EnsureRootOrTwoThirdsAdvisoryCommittee = EitherOfDiverse< EnsureRoot, @@ -920,7 +931,7 @@ macro_rules! impl_config_traits { impl parachain_info::Config for Runtime {} impl zrml_authorized::Config for Runtime { - type AuthorizedDisputeResolutionOrigin = EnsureRootOrHalfAdvisoryCommittee; + type AuthorizedDisputeResolutionOrigin = EnsureRootOrMoreThanHalfAdvisoryCommittee; type CorrectionPeriod = CorrectionPeriod; type DisputeResolution = zrml_prediction_markets::Pallet; type Event = Event; @@ -980,13 +991,10 @@ macro_rules! impl_config_traits { impl zrml_prediction_markets::Config for Runtime { type AdvisoryBond = AdvisoryBond; type AdvisoryBondSlashPercentage = AdvisoryBondSlashPercentage; - type ApproveOrigin = EitherOfDiverse< - EnsureRoot, - pallet_collective::EnsureMember - >; + type ApproveOrigin = EnsureRootOrMoreThanOneThirdAdvisoryCommittee; type Authorized = Authorized; type Court = Court; - type CloseOrigin = EnsureRootOrTwoThirdsAdvisoryCommittee; + type CloseOrigin = EnsureRoot; type DestroyOrigin = EnsureRootOrAllAdvisoryCommittee; type DisputeBond = DisputeBond; type DisputeFactor = DisputeFactor; @@ -1015,11 +1023,8 @@ macro_rules! impl_config_traits { type OracleBond = OracleBond; type OutsiderBond = OutsiderBond; type PalletId = PmPalletId; - type RejectOrigin = EnsureRootOrHalfAdvisoryCommittee; - type RequestEditOrigin = EitherOfDiverse< - EnsureRoot, - pallet_collective::EnsureMember, - >; + type RejectOrigin = EnsureRootOrMoreThanTwoThirdsAdvisoryCommittee; + type RequestEditOrigin = EnsureRootOrMoreThanOneThirdAdvisoryCommittee; type ResolveOrigin = EnsureRoot; type AssetManager = AssetManager; #[cfg(feature = "parachain")] diff --git a/runtime/zeitgeist/src/lib.rs b/runtime/zeitgeist/src/lib.rs index 009e36a53..59fd70ed0 100644 --- a/runtime/zeitgeist/src/lib.rs +++ b/runtime/zeitgeist/src/lib.rs @@ -45,7 +45,7 @@ use frame_support::{ weights::{constants::RocksDbWeight, ConstantMultiplier, IdentityFee}, }; use frame_system::EnsureRoot; -use pallet_collective::{EnsureProportionAtLeast, PrimeDefaultVote}; +use pallet_collective::{EnsureProportionAtLeast, EnsureProportionMoreThan, PrimeDefaultVote}; use pallet_transaction_payment::ChargeTransactionPayment; use sp_runtime::traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256}; #[cfg(feature = "std")]