git.delta.rocks / unique-network / refs/commits / 0e75cd977fe9

difftreelog

Merge pull request #978 from UniqueNetwork/fix/opal-governance-timings

Yaroslav Bolyukin2023-09-04parents: #c6d53cc #a797a1d.patch.diff
in: master

14 files changed

modified.docker/docker-compose.gov.j2diffbeforeafterboth
--- a/.docker/docker-compose.gov.j2
+++ b/.docker/docker-compose.gov.j2
@@ -21,4 +21,4 @@
       options:
         max-size: "1m"
         max-file: "3"
-    command: cargo run --release --features={{ NETWORK }}-runtime,{{ WASM_NAME }}-runtime/test-env -- --dev -linfo --rpc-cors=all --unsafe-rpc-external
+    command: cargo run --release --features={{ NETWORK }}-runtime,{{ WASM_NAME }}-runtime/gov-test-timings -- --dev -linfo --rpc-cors=all --unsafe-rpc-external
modified.github/workflows/gov.ymldiffbeforeafterboth
--- a/.github/workflows/gov.yml
+++ b/.github/workflows/gov.yml
@@ -1,4 +1,4 @@
-# Governance tests in --dev mode with test-env feature enabled to reduce gov timings
+# Governance tests in --dev mode with gov-test-timings feature enabled to reduce gov timings
 name: governance tests
 
 # Triger: only call from main workflow(re-usable workflows)
modifiedruntime/common/config/governance/council.rsdiffbeforeafterboth
--- a/runtime/common/config/governance/council.rs
+++ b/runtime/common/config/governance/council.rs
@@ -5,10 +5,10 @@
 	pub CouncilMaxMembers: u32 = 100;
 }
 
-#[cfg(not(feature = "test-env"))]
+#[cfg(not(feature = "gov-test-timings"))]
 use crate::governance_timings::council as council_timings;
 
-#[cfg(feature = "test-env")]
+#[cfg(feature = "gov-test-timings")]
 pub mod council_timings {
 	use super::*;
 
modifiedruntime/common/config/governance/democracy.rsdiffbeforeafterboth
--- a/runtime/common/config/governance/democracy.rs
+++ b/runtime/common/config/governance/democracy.rs
@@ -7,10 +7,10 @@
 	pub MaxProposals: u32 = 100;
 }
 
-#[cfg(not(feature = "test-env"))]
+#[cfg(not(feature = "gov-test-timings"))]
 use crate::governance_timings::democracy as democracy_timings;
 
-#[cfg(feature = "test-env")]
+#[cfg(feature = "gov-test-timings")]
 pub mod democracy_timings {
 	use super::*;
 
modifiedruntime/common/config/governance/fellowship.rsdiffbeforeafterboth
--- a/runtime/common/config/governance/fellowship.rs
+++ b/runtime/common/config/governance/fellowship.rs
@@ -12,10 +12,10 @@
 	pub SubmissionDeposit: Balance = 1000;
 }
 
-#[cfg(not(feature = "test-env"))]
+#[cfg(not(feature = "gov-test-timings"))]
 use crate::governance_timings::fellowship as fellowship_timings;
 
-#[cfg(feature = "test-env")]
+#[cfg(feature = "gov-test-timings")]
 pub mod fellowship_timings {
 	use super::*;
 
modifiedruntime/common/config/governance/technical_committee.rsdiffbeforeafterboth
--- a/runtime/common/config/governance/technical_committee.rs
+++ b/runtime/common/config/governance/technical_committee.rs
@@ -5,10 +5,10 @@
 	pub TechnicalMaxMembers: u32 = 100;
 }
 
-#[cfg(not(feature = "test-env"))]
+#[cfg(not(feature = "gov-test-timings"))]
 use crate::governance_timings::technical_committee as technical_committee_timings;
 
-#[cfg(feature = "test-env")]
+#[cfg(feature = "gov-test-timings")]
 pub mod technical_committee_timings {
 	use super::*;
 
modifiedruntime/common/config/mod.rsdiffbeforeafterboth
--- a/runtime/common/config/mod.rs
+++ b/runtime/common/config/mod.rs
@@ -25,5 +25,5 @@
 #[cfg(feature = "governance")]
 pub mod governance;
 
-#[cfg(feature = "test-env")]
+#[cfg(feature = "pallet-test-utils")]
 pub mod test_pallets;
modifiedruntime/common/construct_runtime.rsdiffbeforeafterboth
before · runtime/common/construct_runtime.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#[macro_export]18macro_rules! construct_runtime {19	() => {20		frame_support::construct_runtime! {2122			pub enum Runtime where23				Block = Block,24				NodeBlock = opaque::Block,25				UncheckedExtrinsic = UncheckedExtrinsic26			{27				System: frame_system = 0,28				StateTrieMigration: pallet_state_trie_migration = 1,2930				ParachainSystem: cumulus_pallet_parachain_system = 20,31				ParachainInfo: parachain_info = 21,3233				#[cfg(feature = "collator-selection")]34				Authorship: pallet_authorship = 22,3536				#[cfg(feature = "collator-selection")]37				CollatorSelection: pallet_collator_selection = 23,3839				#[cfg(feature = "collator-selection")]40				Session: pallet_session = 24,4142				Aura: pallet_aura = 25,43				AuraExt: cumulus_pallet_aura_ext = 26,4445				Balances: pallet_balances = 30,46				// RandomnessCollectiveFlip = 3147				Timestamp: pallet_timestamp = 32,48				TransactionPayment: pallet_transaction_payment = 33,49				Treasury: pallet_treasury = 34,50				Sudo: pallet_sudo = 35,51				Vesting: orml_vesting = 37,5253				XTokens: orml_xtokens = 38,54				Tokens: orml_tokens = 39,55				// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,5657				#[cfg(feature = "collator-selection")]58				Identity: pallet_identity = 40,5960				#[cfg(feature = "preimage")]61				Preimage: pallet_preimage = 41,6263				#[cfg(feature = "governance")]64				Democracy: pallet_democracy = 42,6566				#[cfg(feature = "governance")]67				Council: pallet_collective::<Instance1> = 43,6869				#[cfg(feature = "governance")]70				TechnicalCommittee: pallet_collective::<Instance2> = 44,7172				#[cfg(feature = "governance")]73				CouncilMembership: pallet_membership::<Instance1> = 45,7475				#[cfg(feature = "governance")]76				TechnicalCommitteeMembership: pallet_membership::<Instance2> = 46,7778				#[cfg(feature = "governance")]79				FellowshipCollective: pallet_ranked_collective = 47,8081				#[cfg(feature = "governance")]82				FellowshipReferenda: pallet_referenda = 48,8384				#[cfg(feature = "governance")]85				Scheduler: pallet_scheduler = 49,8687				#[cfg(feature = "governance")]88				Origins: pallet_gov_origins = 99,8990				// XCM helpers.91				XcmpQueue: cumulus_pallet_xcmp_queue = 50,92				PolkadotXcm: pallet_xcm = 51,93				CumulusXcm: cumulus_pallet_xcm = 52,94				DmpQueue: cumulus_pallet_dmp_queue = 53,9596				// Unique Pallets97				Inflation: pallet_inflation = 60,98				Unique: pallet_unique::{Pallet, Call, Storage} = 61,99100				// #[cfg(feature = "scheduler")]101				// UniqueScheduler: pallet_unique_scheduler_v2 = 62,102103				Configuration: pallet_configuration = 63,104105				Charging: pallet_charge_transaction = 64,106				// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,107				Common: pallet_common = 66,108				Fungible: pallet_fungible = 67,109110				#[cfg(feature = "refungible")]111				Refungible: pallet_refungible = 68,112113				Nonfungible: pallet_nonfungible = 69,114				Structure: pallet_structure = 70,115116				// RmrkCore: pallet_proxy_rmrk_core = 71,117118				// RmrkEquip: pallet_proxy_rmrk_equip = 72,119120				#[cfg(feature = "app-promotion")]121				AppPromotion: pallet_app_promotion = 73,122123				#[cfg(feature = "foreign-assets")]124				ForeignAssets: pallet_foreign_assets = 80,125126				// Frontier127				EVM: pallet_evm = 100,128				Ethereum: pallet_ethereum = 101,129130				EvmCoderSubstrate: pallet_evm_coder_substrate = 150,131				EvmContractHelpers: pallet_evm_contract_helpers = 151,132				EvmTransactionPayment: pallet_evm_transaction_payment = 152,133				EvmMigration: pallet_evm_migration = 153,134135				Maintenance: pallet_maintenance = 154,136137				BalancesAdapter: pallet_balances_adapter = 155,138139				#[cfg(feature = "test-env")]140				TestUtils: pallet_test_utils = 255,141			}142		}143	};144}
after · runtime/common/construct_runtime.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#[macro_export]18macro_rules! construct_runtime {19	() => {20		frame_support::construct_runtime! {2122			pub enum Runtime where23				Block = Block,24				NodeBlock = opaque::Block,25				UncheckedExtrinsic = UncheckedExtrinsic26			{27				System: frame_system = 0,28				StateTrieMigration: pallet_state_trie_migration = 1,2930				ParachainSystem: cumulus_pallet_parachain_system = 20,31				ParachainInfo: parachain_info = 21,3233				#[cfg(feature = "collator-selection")]34				Authorship: pallet_authorship = 22,3536				#[cfg(feature = "collator-selection")]37				CollatorSelection: pallet_collator_selection = 23,3839				#[cfg(feature = "collator-selection")]40				Session: pallet_session = 24,4142				Aura: pallet_aura = 25,43				AuraExt: cumulus_pallet_aura_ext = 26,4445				Balances: pallet_balances = 30,46				// RandomnessCollectiveFlip = 3147				Timestamp: pallet_timestamp = 32,48				TransactionPayment: pallet_transaction_payment = 33,49				Treasury: pallet_treasury = 34,50				Sudo: pallet_sudo = 35,51				Vesting: orml_vesting = 37,5253				XTokens: orml_xtokens = 38,54				Tokens: orml_tokens = 39,55				// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,5657				#[cfg(feature = "collator-selection")]58				Identity: pallet_identity = 40,5960				#[cfg(feature = "preimage")]61				Preimage: pallet_preimage = 41,6263				#[cfg(feature = "governance")]64				Democracy: pallet_democracy = 42,6566				#[cfg(feature = "governance")]67				Council: pallet_collective::<Instance1> = 43,6869				#[cfg(feature = "governance")]70				TechnicalCommittee: pallet_collective::<Instance2> = 44,7172				#[cfg(feature = "governance")]73				CouncilMembership: pallet_membership::<Instance1> = 45,7475				#[cfg(feature = "governance")]76				TechnicalCommitteeMembership: pallet_membership::<Instance2> = 46,7778				#[cfg(feature = "governance")]79				FellowshipCollective: pallet_ranked_collective = 47,8081				#[cfg(feature = "governance")]82				FellowshipReferenda: pallet_referenda = 48,8384				#[cfg(feature = "governance")]85				Scheduler: pallet_scheduler = 49,8687				#[cfg(feature = "governance")]88				Origins: pallet_gov_origins = 99,8990				// XCM helpers.91				XcmpQueue: cumulus_pallet_xcmp_queue = 50,92				PolkadotXcm: pallet_xcm = 51,93				CumulusXcm: cumulus_pallet_xcm = 52,94				DmpQueue: cumulus_pallet_dmp_queue = 53,9596				// Unique Pallets97				Inflation: pallet_inflation = 60,98				Unique: pallet_unique::{Pallet, Call, Storage} = 61,99100				// #[cfg(feature = "scheduler")]101				// UniqueScheduler: pallet_unique_scheduler_v2 = 62,102103				Configuration: pallet_configuration = 63,104105				Charging: pallet_charge_transaction = 64,106				// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,107				Common: pallet_common = 66,108				Fungible: pallet_fungible = 67,109110				#[cfg(feature = "refungible")]111				Refungible: pallet_refungible = 68,112113				Nonfungible: pallet_nonfungible = 69,114				Structure: pallet_structure = 70,115116				// RmrkCore: pallet_proxy_rmrk_core = 71,117118				// RmrkEquip: pallet_proxy_rmrk_equip = 72,119120				#[cfg(feature = "app-promotion")]121				AppPromotion: pallet_app_promotion = 73,122123				#[cfg(feature = "foreign-assets")]124				ForeignAssets: pallet_foreign_assets = 80,125126				// Frontier127				EVM: pallet_evm = 100,128				Ethereum: pallet_ethereum = 101,129130				EvmCoderSubstrate: pallet_evm_coder_substrate = 150,131				EvmContractHelpers: pallet_evm_contract_helpers = 151,132				EvmTransactionPayment: pallet_evm_transaction_payment = 152,133				EvmMigration: pallet_evm_migration = 153,134135				Maintenance: pallet_maintenance = 154,136137				BalancesAdapter: pallet_balances_adapter = 155,138139				#[cfg(feature = "pallet-test-utils")]140				TestUtils: pallet_test_utils = 255,141			}142		}143	};144}
modifiedruntime/common/maintenance.rsdiffbeforeafterboth
--- a/runtime/common/maintenance.rs
+++ b/runtime/common/maintenance.rs
@@ -85,7 +85,7 @@
 				| RuntimeCall::Session(_)
 				| RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
 
-				#[cfg(feature = "test-env")]
+				#[cfg(feature = "pallet-test-utils")]
 				RuntimeCall::TestUtils(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
 
 				_ => Ok(ValidTransaction::default()),
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -23,7 +23,7 @@
 	'collator-selection',
 	'foreign-assets',
 	'governance',
-	'test-env',
+	'pallet-test-utils',
 	'preimage',
 	'refungible',
 ]
@@ -156,7 +156,7 @@
 	"pallet-foreign-assets/std",
 
 	'pallet-maintenance/std',
-	'pallet-test-utils/std',
+	'pallet-test-utils?/std',
 ]
 try-runtime = [
 	"pallet-authorship/try-runtime",
@@ -212,7 +212,7 @@
 	'pallet-scheduler/try-runtime',
 	'pallet-structure/try-runtime',
 	'pallet-sudo/try-runtime',
-	'pallet-test-utils/try-runtime',
+	'pallet-test-utils?/try-runtime',
 	'pallet-timestamp/try-runtime',
 	'pallet-transaction-payment/try-runtime',
 	'pallet-treasury/try-runtime',
@@ -226,7 +226,7 @@
 collator-selection = []
 foreign-assets = []
 governance = []
-test-env = []
+gov-test-timings = []
 preimage = []
 refungible = []
 unique-scheduler = []
@@ -345,7 +345,7 @@
 ################################################################################
 # Test dependencies
 
-pallet-test-utils = { workspace = true }
+pallet-test-utils = { workspace = true, optional = true }
 
 ################################################################################
 # Other Dependencies
addedruntime/opal/src/governance_timings.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/opal/src/governance_timings.rs
@@ -0,0 +1,54 @@
+use frame_support::parameter_types;
+pub use up_common::{
+	constants::{DAYS, HOURS, MINUTES},
+	types::BlockNumber,
+};
+
+pub mod council {
+	use super::*;
+
+	parameter_types! {
+		pub CouncilMotionDuration: BlockNumber = 1 * HOURS;
+	}
+}
+
+pub mod democracy {
+	use super::*;
+
+	parameter_types! {
+		pub LaunchPeriod: BlockNumber = 1 * HOURS;
+		pub VotingPeriod: BlockNumber = 1 * HOURS;
+		pub FastTrackVotingPeriod: BlockNumber = 10 * MINUTES;
+		pub EnactmentPeriod: BlockNumber = 5 * MINUTES;
+		pub CooloffPeriod: BlockNumber = 1 * HOURS;
+	}
+}
+
+pub mod fellowship {
+	use super::*;
+
+	parameter_types! {
+		pub UndecidingTimeout: BlockNumber = 1 * HOURS;
+	}
+
+	pub mod track {
+		use super::*;
+
+		pub mod democracy_proposals {
+			use super::*;
+
+			pub const PREPARE_PERIOD: BlockNumber = 5 * MINUTES;
+			pub const DECISION_PERIOD: BlockNumber = 1 * HOURS;
+			pub const CONFIRM_PERIOD: BlockNumber = 10 * MINUTES;
+			pub const MIN_ENACTMENT_PERIOD: BlockNumber = 1 * MINUTES;
+		}
+	}
+}
+
+pub mod technical_committee {
+	use super::*;
+
+	parameter_types! {
+		pub TechnicalMotionDuration: BlockNumber = 15 * MINUTES;
+	}
+}
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -38,6 +38,7 @@
 
 mod runtime_common;
 
+pub mod governance_timings;
 pub mod xcm_barrier;
 
 pub use runtime_common::*;
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -218,7 +218,7 @@
 preimage = []
 refungible = []
 unique-scheduler = []
-test-env = []
+gov-test-timings = []
 
 ################################################################################
 # local dependencies
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -221,7 +221,7 @@
 preimage = []
 refungible = []
 unique-scheduler = []
-test-env = []
+gov-test-timings = []
 
 ################################################################################
 # local dependencies