From 23641e0cc8f79a6b5c65a1d1c2bfaf6e5943bd88 Mon Sep 17 00:00:00 2001 From: Fahrrader Date: Tue, 21 Feb 2023 17:17:13 +0000 Subject: [PATCH] refactor(preimage): switch governance feature to preimage --- --- a/pallets/maintenance/src/benchmarking.rs +++ b/pallets/maintenance/src/benchmarking.rs @@ -23,30 +23,6 @@ use codec::Encode; use sp_std::vec; -#[cfg(not(feature = "governance"))] -benchmarks! { - enable { - }: _(RawOrigin::Root) - verify { - ensure!(>::get(), "didn't enable the MM"); - } - - disable { - Maintenance::::enable(RawOrigin::Root.into())?; - }: _(RawOrigin::Root) - verify { - ensure!(!>::get(), "didn't disable the MM"); - } - - execute_preimage { - let call_hash = RuntimeCall::::set_storage { items: vec![] }.encode(); - let hash = T::Preimages::note(call_hash.into())?; - }: _(RawOrigin::Root, hash) - verify { - } -} - -#[cfg(feature = "governance")] benchmarks! { enable { }: _(RawOrigin::Root) --- a/pallets/maintenance/src/lib.rs +++ b/pallets/maintenance/src/lib.rs @@ -25,10 +25,7 @@ #[frame_support::pallet] pub mod pallet { - use frame_support::{ - dispatch::*, - pallet_prelude::*, - }; + use frame_support::{dispatch::*, pallet_prelude::*}; use frame_support::{ traits::{QueryPreimage, StorePreimage}, }; @@ -108,11 +105,11 @@ #[pallet::call_index(2)] #[pallet::weight(::WeightInfo::execute_preimage())] pub fn execute_preimage(_origin: OriginFor, _hash: H256) -> DispatchResult { - #[cfg(feature = "governance")] + #[cfg(feature = "preimage")] { let origin = _origin; let hash = _hash; - + ensure_root(origin)?; let len = T::Preimages::len(&hash).ok_or(DispatchError::Unavailable)?; @@ -128,7 +125,7 @@ result } - #[cfg(not(feature = "governance"))] + #[cfg(not(feature = "preimage"))] { Err(DispatchError::Unavailable) } --- a/runtime/common/config/pallets/governance.rs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. -// This file is part of Unique Network. - -// Unique Network is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Unique Network is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Unique Network. If not, see . - -use frame_support::parameter_types; -use frame_system::EnsureRoot; -use crate::{AccountId, Balance, Balances, Runtime, RuntimeEvent}; -use up_common::constants::*; - -parameter_types! { - pub PreimageBaseDeposit: Balance = 1000 * UNIQUE; // deposit(2, 64); - // pub PreimageByteDeposit: Balance = 1 * CENTIUNIQUE; // deposit(0, 1); -} - -impl pallet_preimage::Config for Runtime { - type WeightInfo = pallet_preimage::weights::SubstrateWeight; - type RuntimeEvent = RuntimeEvent; - type Currency = Balances; - type ManagerOrigin = EnsureRoot; - type BaseDeposit = PreimageBaseDeposit; - type ByteDeposit = TransactionByteFee; -} --- a/runtime/common/config/pallets/mod.rs +++ b/runtime/common/config/pallets/mod.rs @@ -47,8 +47,8 @@ #[cfg(feature = "collator-selection")] pub mod collator_selection; -#[cfg(feature = "governance")] -pub mod governance; +#[cfg(feature = "preimage")] +pub mod preimage; parameter_types! { pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating(); @@ -128,9 +128,9 @@ type RuntimeEvent = RuntimeEvent; type RuntimeOrigin = RuntimeOrigin; type RuntimeCall = RuntimeCall; - #[cfg(feature = "governance")] + #[cfg(feature = "preimage")] type Preimages = crate::Preimage; - #[cfg(not(feature = "governance"))] + #[cfg(not(feature = "preimage"))] type Preimages = (); type WeightInfo = pallet_maintenance::weights::SubstrateWeight; } --- /dev/null +++ b/runtime/common/config/pallets/preimage.rs @@ -0,0 +1,34 @@ +// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +use frame_support::parameter_types; +use frame_system::EnsureRoot; +use crate::{AccountId, Balance, Balances, Runtime, RuntimeEvent}; +use up_common::constants::*; + +parameter_types! { + pub PreimageBaseDeposit: Balance = 1000 * UNIQUE; // deposit(2, 64); + // pub PreimageByteDeposit: Balance = 1 * CENTIUNIQUE; // deposit(0, 1); +} + +impl pallet_preimage::Config for Runtime { + type WeightInfo = pallet_preimage::weights::SubstrateWeight; + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type ManagerOrigin = EnsureRoot; + type BaseDeposit = PreimageBaseDeposit; + type ByteDeposit = TransactionByteFee; +} --- a/runtime/common/construct_runtime.rs +++ b/runtime/common/construct_runtime.rs @@ -56,7 +56,7 @@ #[cfg(feature = "collator-selection")] Identity: pallet_identity::{Pallet, Call, Storage, Event} = 40, - #[cfg(feature = "governance")] + #[cfg(feature = "preimage")] Preimage: pallet_preimage::{Pallet, Call, Storage, Event} = 41, // XCM helpers. --- a/runtime/common/maintenance.rs +++ b/runtime/common/maintenance.rs @@ -86,7 +86,7 @@ | RuntimeCall::Session(_) | RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), - #[cfg(feature = "governance")] + #[cfg(feature = "preimage")] RuntimeCall::Preimage(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), #[cfg(feature = "pallet-test-utils")] --- a/runtime/common/runtime_apis.rs +++ b/runtime/common/runtime_apis.rs @@ -565,7 +565,7 @@ #[cfg(feature = "collator-selection")] list_benchmark!(list, extra, pallet_identity, Identity); - #[cfg(feature = "governance")] + #[cfg(feature = "preimage")] list_benchmark!(list, extra, pallet_preimage, Preimage); #[cfg(feature = "foreign-assets")] @@ -632,7 +632,7 @@ #[cfg(feature = "collator-selection")] add_benchmark!(params, batches, pallet_identity, Identity); - #[cfg(feature = "governance")] + #[cfg(feature = "preimage")] add_benchmark!(params, batches, pallet_preimage, Preimage); #[cfg(feature = "foreign-assets")] --- a/runtime/opal/Cargo.toml +++ b/runtime/opal/Cargo.toml @@ -18,7 +18,7 @@ [features] default = ['opal-runtime', 'std'] limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing'] -opal-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'governance', 'pallet-test-utils', 'refungible'] +opal-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'preimage', 'pallet-test-utils', 'refungible'] pov-estimate = [] runtime-benchmarks = [ 'cumulus-pallet-parachain-system/runtime-benchmarks', @@ -191,7 +191,7 @@ app-promotion = [] collator-selection = [] foreign-assets = [] -governance = [] +preimage = [] pallet-test-utils = [] refungible = [] scheduler = [] --- a/runtime/quartz/Cargo.toml +++ b/runtime/quartz/Cargo.toml @@ -20,7 +20,7 @@ default = ['quartz-runtime', 'std'] limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing'] pov-estimate = [] -quartz-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'governance', 'refungible'] +quartz-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'preimage', 'refungible'] runtime-benchmarks = [ 'cumulus-pallet-parachain-system/runtime-benchmarks', 'frame-benchmarking', @@ -184,7 +184,7 @@ app-promotion = [] collator-selection = [] foreign-assets = [] -governance = [] +preimage = [] refungible = [] scheduler = [] --- a/runtime/unique/Cargo.toml +++ b/runtime/unique/Cargo.toml @@ -183,7 +183,7 @@ app-promotion = [] collator-selection = [] foreign-assets = [] -governance = [] +preimage = [] refungible = [] scheduler = [] --- a/tests/src/pallet-presence.test.ts +++ b/tests/src/pallet-presence.test.ts @@ -66,7 +66,7 @@ const foreignAssets = 'foreignassets'; const appPromotion = 'apppromotion'; const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity']; - const governance = ['preimage']; + const preimage = ['preimage']; const testUtils = 'testutils'; if (chain.eq('OPAL by UNIQUE')) { @@ -76,7 +76,7 @@ appPromotion, testUtils, ...collatorSelection, - ...governance, + ...preimage, ); } else if (chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) { requiredPallets.push( @@ -84,7 +84,7 @@ appPromotion, foreignAssets, ...collatorSelection, - ...governance, + ...preimage, ); } else if (chain.eq('UNIQUE')) { // Insert Unique additional pallets here -- gitstuff