difftreelog
fix(scheduler-v2) fix benchmarks
in: master
5 files changed
Makefilediffbeforeafterboth--- 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:
pallets/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"
);
}
pallets/scheduler-v2/src/lib.rsdiffbeforeafterboth--- a/pallets/scheduler-v2/src/lib.rs
+++ b/pallets/scheduler-v2/src/lib.rs
@@ -347,7 +347,11 @@
let base = Self::service_task_base();
let mut total = match maybe_lookup_len {
None => base,
- Some(l) => Self::service_task_fetched(l as u32),
+ Some(_l) => {
+ // TODO uncomment if we will use the Preimages
+ // Self::service_task_fetched(l as u32)
+ base
+ },
};
if named {
total.saturating_accrue(Self::service_task_named().saturating_sub(base));
runtime/common/construct_runtime/mod.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/>.1617mod util;1819#[macro_export]20macro_rules! construct_runtime {21 ($select_runtime:ident) => {22 $crate::construct_runtime_impl! {23 select_runtime($select_runtime);2425 pub enum Runtime where26 Block = Block,27 NodeBlock = opaque::Block,28 UncheckedExtrinsic = UncheckedExtrinsic29 {30 System: frame_system = 0,3132 ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,33 ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,3435 Aura: pallet_aura::{Pallet, Config<T>} = 22,36 AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,3738 Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,39 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,40 Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,41 TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event<T>} = 33,42 Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,43 Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,44 Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,4546 XTokens: orml_xtokens = 38,47 Tokens: orml_tokens = 39,48 // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,4950 // XCM helpers.51 XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,52 PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,53 CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,54 DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,5556 // Unique Pallets57 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,58 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,5960 // #[runtimes(opal)]61 // Scheduler: pallet_unique_scheduler::{Pallet, Call, Storage, Event<T>} = 62,6263 Configuration: pallet_configuration::{Pallet, Call, Storage} = 63,6465 Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,66 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,67 Common: pallet_common::{Pallet, Storage, Event<T>} = 66,68 Fungible: pallet_fungible::{Pallet, Storage} = 67,6970 #[runtimes(opal, quartz)]71 Refungible: pallet_refungible::{Pallet, Storage} = 68,7273 Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,74 Structure: pallet_structure::{Pallet, Call, Storage, Event<T>} = 70,7576 #[runtimes(opal)]77 RmrkCore: pallet_proxy_rmrk_core::{Pallet, Call, Storage, Event<T>} = 71,7879 #[runtimes(opal)]80 RmrkEquip: pallet_proxy_rmrk_equip::{Pallet, Call, Storage, Event<T>} = 72,8182 #[runtimes(opal)]83 AppPromotion: pallet_app_promotion::{Pallet, Call, Storage, Event<T>} = 73,8485 #[runtimes(opal)]86 ForeignAssets: pallet_foreign_assets::{Pallet, Call, Storage, Event<T>} = 80,8788 // Frontier89 EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,90 Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,9192 EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,93 EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage, Event<T>} = 151,94 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,95 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,9697 Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,9899 #[runtimes(opal)]100 Scheduler: pallet_unique_scheduler_v2::{Pallet, Call, Storage, Event<T>} = 154,101102 #[runtimes(opal)]103 TestUtils: pallet_test_utils = 255,104 }105 }106 }107}runtime/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);