difftreelog
Merge pull request #770 from UniqueNetwork/fix/disable-scheduler-v2-everywhere
in: master
4 files changed
runtime/common/construct_runtime/mod.rsdiffbeforeafterboth--- a/runtime/common/construct_runtime/mod.rs
+++ b/runtime/common/construct_runtime/mod.rs
@@ -57,8 +57,8 @@
Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,
Unique: pallet_unique::{Pallet, Call, Storage} = 61,
- #[runtimes(opal)]
- Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 62,
+ // #[runtimes(opal)]
+ // Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 62,
Configuration: pallet_configuration::{Pallet, Call, Storage} = 63,
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -179,7 +179,6 @@
limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
opal-runtime = [
'refungible',
- 'scheduler',
'rmrk',
'app-promotion',
'foreign-assets',
test-pallets/utils/src/lib.rsdiffbeforeafterboth1// 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#![cfg_attr(not(feature = "std"), no_std)]1819pub use pallet::*;20use frame_support::pallet_prelude::*;21use frame_system::pallet_prelude::*;2223#[frame_support::pallet]24pub mod pallet {25 use frame_support::{26 pallet_prelude::*,27 dispatch::{Dispatchable, GetDispatchInfo, PostDispatchInfo},28 traits::{UnfilteredDispatchable, IsSubType, OriginTrait},29 };30 use frame_system::pallet_prelude::*;31 use sp_std::vec::Vec;32 // use pallet_unique_scheduler_v2::{TaskName, Pallet as SchedulerPallet};3334 #[pallet::config]35 pub trait Config: frame_system::Config /*+ pallet_unique_scheduler_v2::Config*/ {36 type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;3738 /// The overarching call type.39 type RuntimeCall: Parameter40 + Dispatchable<41 RuntimeOrigin = <Self as frame_system::Config>::RuntimeOrigin,42 PostInfo = PostDispatchInfo,43 > + GetDispatchInfo44 + From<frame_system::Call<Self>>45 + UnfilteredDispatchable<RuntimeOrigin = <Self as frame_system::Config>::RuntimeOrigin>46 + IsSubType<Call<Self>>47 + IsType<<Self as frame_system::Config>::RuntimeCall>;48 }4950 #[pallet::event]51 #[pallet::generate_deposit(pub(super) fn deposit_event)]52 pub enum Event<T: Config> {53 ValueIsSet,54 ShouldRollback,55 BatchCompleted,56 }5758 #[pallet::pallet]59 #[pallet::generate_store(pub(super) trait Store)]60 pub struct Pallet<T>(_);6162 #[pallet::storage]63 #[pallet::getter(fn is_enabled)]64 pub type Enabled<T> = StorageValue<_, bool, ValueQuery>;6566 #[pallet::storage]67 #[pallet::getter(fn test_value)]68 pub type TestValue<T> = StorageValue<_, u32, ValueQuery>;6970 #[pallet::error]71 pub enum Error<T> {72 TestPalletDisabled,73 TriggerRollback,74 }7576 #[pallet::call]77 impl<T: Config> Pallet<T> {78 #[pallet::weight(10_000)]79 pub fn enable(origin: OriginFor<T>) -> DispatchResult {80 ensure_root(origin)?;81 <Enabled<T>>::set(true);8283 Ok(())84 }8586 #[pallet::weight(10_000)]87 pub fn set_test_value(origin: OriginFor<T>, value: u32) -> DispatchResult {88 Self::ensure_origin_and_enabled(origin)?;8990 <TestValue<T>>::put(value);9192 Self::deposit_event(Event::ValueIsSet);9394 Ok(())95 }9697 #[pallet::weight(10_000)]98 pub fn set_test_value_and_rollback(origin: OriginFor<T>, value: u32) -> DispatchResult {99 Self::set_test_value(origin, value)?;100101 Self::deposit_event(Event::ShouldRollback);102103 Err(<Error<T>>::TriggerRollback.into())104 }105106 #[pallet::weight(10_000)]107 pub fn inc_test_value(origin: OriginFor<T>) -> DispatchResult {108 Self::set_test_value(origin, <TestValue<T>>::get() + 1)109 }110111 // #[pallet::weight(10_000)]112 // pub fn self_canceling_inc(113 // origin: OriginFor<T>,114 // id: TaskName,115 // max_test_value: u32,116 // ) -> DispatchResult {117 // Self::ensure_origin_and_enabled(origin.clone())?;118 // Self::inc_test_value(origin.clone())?;119120 // if <TestValue<T>>::get() == max_test_value {121 // SchedulerPallet::<T>::cancel_named(origin, id)?;122 // }123124 // Ok(())125 // }126127 #[pallet::weight(100_000_000)]128 pub fn just_take_fee(origin: OriginFor<T>) -> DispatchResult {129 Self::ensure_origin_and_enabled(origin)?;130 Ok(())131 }132133 #[pallet::weight(10_000)]134 pub fn batch_all(135 origin: OriginFor<T>,136 calls: Vec<<T as Config>::RuntimeCall>,137 ) -> DispatchResultWithPostInfo {138 Self::ensure_origin_and_enabled(origin.clone())?;139140 let is_root = ensure_root(origin.clone()).is_ok();141142 for call in calls {143 if is_root {144 call.dispatch_bypass_filter(origin.clone())?;145 } else {146 let mut filtered_origin = origin.clone();147 // Don't allow users to nest `batch_all` calls.148 filtered_origin.add_filter(149 move |c: &<T as frame_system::Config>::RuntimeCall| {150 let c = <T as Config>::RuntimeCall::from_ref(c);151 !matches!(c.is_sub_type(), Some(Call::batch_all { .. }))152 },153 );154 call.dispatch(filtered_origin)?;155 }156 }157158 Self::deposit_event(Event::BatchCompleted);159 Ok(None::<Weight>.into())160 }161 }162}163164impl<T: Config> Pallet<T> {165 fn ensure_origin_and_enabled(origin: OriginFor<T>) -> DispatchResult {166 ensure_signed(origin)?;167 <Enabled<T>>::get()168 .then(|| ())169 .ok_or(<Error<T>>::TestPalletDisabled.into())170 }171}tests/src/pallet-presence.test.tsdiffbeforeafterboth--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -63,7 +63,6 @@
const chain = await helper.callRpc('api.rpc.system.chain', []);
const refungible = 'refungible';
- const scheduler = 'scheduler';
const foreignAssets = 'foreignassets';
const rmrkPallets = ['rmrkcore', 'rmrkequip'];
const appPromotion = 'apppromotion';
@@ -72,11 +71,9 @@
if (chain.eq('OPAL by UNIQUE')) {
requiredPallets.push(
refungible,
- // scheduler,
foreignAssets,
appPromotion,
testUtils,
- scheduler,
...rmrkPallets,
);
} else if (chain.eq('QUARTZ by UNIQUE')) {