git.delta.rocks / unique-network / refs/commits / e7f57de8c599

difftreelog

fix(scheduler-v2) fix benchmarks

Igor Kozyrev2022-10-28parent: #2a17a69.patch.diff
in: master

5 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -118,7 +118,7 @@
 
 .PHONY: bench-scheduler
 bench-scheduler:
-	make _bench PALLET=unique-scheduler PALLET_DIR=scheduler
+	make _bench PALLET=unique-scheduler-v2 PALLET_DIR=scheduler-v2
 
 .PHONY: bench-rmrk-core
 bench-rmrk-core:
modifiedpallets/scheduler-v2/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/scheduler-v2/src/benchmarking.rs
+++ b/pallets/scheduler-v2/src/benchmarking.rs
@@ -51,7 +51,7 @@
 
 const BLOCK_NUMBER: u32 = 2;
 
-type SystemOrigin<T> = <T as frame_system::Config>::Origin;
+type SystemOrigin<T> = <T as frame_system::Config>::RuntimeOrigin;
 
 /// Add `n` items to the schedule.
 ///
@@ -70,7 +70,7 @@
 		Scheduler::<T>::do_schedule_named(name, t, period, 0, origin.clone(), call)?;
 	}
 	ensure!(
-		Agenda::<T>::get(when).len() == n as usize,
+		Agenda::<T>::get(when).agenda.len() == n as usize,
 		"didn't fill schedule"
 	);
 	Ok(())
@@ -108,7 +108,7 @@
 }
 
 fn bounded<T: Config>(len: u32) -> Option<ScheduledCall<T>> {
-	let call = <<T as Config>::Call>::from(SystemCall::remark {
+	let call = <<T as Config>::RuntimeCall>::from(SystemCall::remark {
 		remark: vec![0; len as usize],
 	});
 	ScheduledCall::new(call).ok()
@@ -197,18 +197,19 @@
 		//assert_eq!(result, Ok(()));
 	}
 
-	// `service_task` when the task is a non-periodic, non-named, fetched call (with a known
-	// preimage length) and which is not dispatched (e.g. due to being overweight).
-	service_task_fetched {
-		let s in (EncodedCall::bound() as u32) .. (<T::Preimages as PreimageRecipient<T::Hash>>::MaxSize::get());
-		let now = BLOCK_NUMBER.into();
-		let task = make_task::<T>(false, false, false, Some(s), 0);
-		// prevent any tasks from actually being executed as we only want the surrounding weight.
-		let mut counter = WeightCounter { used: Weight::zero(), limit: Weight::zero() };
-	}: {
-		let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
-	} verify {
-	}
+	// TODO uncomment if we will use the Preimages
+	// // `service_task` when the task is a non-periodic, non-named, fetched call (with a known
+	// // preimage length) and which is not dispatched (e.g. due to being overweight).
+	// service_task_fetched {
+	// 	let s in (EncodedCall::bound() as u32) .. (<T::Preimages as PreimageRecipient<T::Hash>>::MaxSize::get());
+	// 	let now = BLOCK_NUMBER.into();
+	// 	let task = make_task::<T>(false, false, false, Some(s), 0);
+	// 	// prevent any tasks from actually being executed as we only want the surrounding weight.
+	// 	let mut counter = WeightCounter { used: Weight::zero(), limit: Weight::zero() };
+	// }: {
+	// 	let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
+	// } verify {
+	// }
 
 	// `service_task` when the task is a non-periodic, named, non-fetched call which is not
 	// dispatched (e.g. due to being overweight).
@@ -268,7 +269,7 @@
 	}: _(RawOrigin::Root, when, periodic, priority, call)
 	verify {
 		ensure!(
-			Agenda::<T>::get(when).len() == (s + 1) as usize,
+			Agenda::<T>::get(when).agenda.len() == (s + 1) as usize,
 			"didn't add to schedule"
 		);
 	}
@@ -278,7 +279,7 @@
 		let when = BLOCK_NUMBER.into();
 
 		fill_schedule::<T>(when, s)?;
-		assert_eq!(Agenda::<T>::get(when).len(), s as usize);
+		assert_eq!(Agenda::<T>::get(when).agenda.len(), s as usize);
 		let schedule_origin = T::ScheduleOrigin::successful_origin();
 	}: _<SystemOrigin<T>>(schedule_origin, when, 0)
 	verify {
@@ -288,7 +289,7 @@
 		);
 		// Removed schedule is NONE
 		ensure!(
-			Agenda::<T>::get(when)[0].is_none(),
+			Agenda::<T>::get(when).agenda[0].is_none(),
 			"didn't remove from schedule"
 		);
 	}
@@ -306,7 +307,7 @@
 	}: _(RawOrigin::Root, id, when, periodic, priority, call)
 	verify {
 		ensure!(
-			Agenda::<T>::get(when).len() == (s + 1) as usize,
+			Agenda::<T>::get(when).agenda.len() == (s + 1) as usize,
 			"didn't add to schedule"
 		);
 	}
@@ -324,7 +325,7 @@
 		);
 		// Removed schedule is NONE
 		ensure!(
-			Agenda::<T>::get(when)[0].is_none(),
+			Agenda::<T>::get(when).agenda[0].is_none(),
 			"didn't remove from schedule"
 		);
 	}
@@ -340,7 +341,7 @@
 	}: _(origin, id, priority)
 	verify {
 		ensure!(
-			Agenda::<T>::get(when)[idx as usize].clone().unwrap().priority == priority,
+			Agenda::<T>::get(when).agenda[idx as usize].clone().unwrap().priority == priority,
 			"didn't change the priority"
 		);
 	}
modifiedpallets/scheduler-v2/src/lib.rsdiffbeforeafterboth
347 let base = Self::service_task_base();347 let base = Self::service_task_base();
348 let mut total = match maybe_lookup_len {348 let mut total = match maybe_lookup_len {
349 None => base,349 None => base,
350 Some(l) => Self::service_task_fetched(l as u32),350 Some(_l) => {
351 // TODO uncomment if we will use the Preimages
352 // Self::service_task_fetched(l as u32)
353 base
354 },
351 };355 };
352 if named {356 if named {
353 total.saturating_accrue(Self::service_task_named().saturating_sub(base));357 total.saturating_accrue(Self::service_task_named().saturating_sub(base));
modifiedruntime/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, Event<T>} = 61,
 
-                // #[runtimes(opal)]
-                // Scheduler: pallet_unique_scheduler::{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,
 
@@ -95,9 +95,6 @@
                 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,
 
                 Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,
-
-                #[runtimes(opal)]
-                Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 154,
 
                 #[runtimes(opal)]
                 TestUtils: pallet_test_utils = 255,
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -683,8 +683,8 @@
                     #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
                     list_benchmark!(list, extra, pallet_refungible, Refungible);
 
-                    // #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
-                    // list_benchmark!(list, extra, pallet_unique_scheduler, Scheduler);
+                    #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
+                    list_benchmark!(list, extra, pallet_unique_scheduler_v2, Scheduler);
 
                     #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
                     list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore);
@@ -743,8 +743,8 @@
                     #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
                     add_benchmark!(params, batches, pallet_refungible, Refungible);
 
-                    // #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
-                    // add_benchmark!(params, batches, pallet_unique_scheduler, Scheduler);
+                    #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
+                    add_benchmark!(params, batches, pallet_unique_scheduler_v2, Scheduler);
 
                     #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
                     add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore);