1234567891011121314151617use frame_benchmarking::v2::*;18use frame_support::{ensure, pallet_prelude::Weight, traits::StorePreimage};19use frame_system::RawOrigin;20use parity_scale_codec::Encode;21use sp_std::vec;2223use super::*;24use crate::{Config, Pallet as Maintenance};2526#[benchmarks]27mod benchmarks {28 use super::*;2930 #[benchmark]31 fn enable() -> Result<(), BenchmarkError> {32 #[extrinsic_call]33 _(RawOrigin::Root);3435 ensure!(<Enabled<T>>::get(), "didn't enable the MM");3637 Ok(())38 }3940 #[benchmark]41 fn disable() -> Result<(), BenchmarkError> {42 Maintenance::<T>::enable(RawOrigin::Root.into())?;4344 #[extrinsic_call]45 _(RawOrigin::Root);4647 ensure!(!<Enabled<T>>::get(), "didn't disable the MM");4849 Ok(())50 }5152 53 54 55 56 57 #[benchmark]58 fn execute_preimage() -> Result<(), BenchmarkError> {59 let call = <T as Config>::RuntimeCall::from(frame_system::Call::<T>::remark {60 remark: 1u32.encode(),61 });62 let hash = T::Preimages::note(call.encode().into())?;6364 #[extrinsic_call]65 _(66 RawOrigin::Root,67 hash,68 Weight::from_parts(100000000000, 100000000000),69 );7071 Ok(())72 }73}