From 1da8d12dd176112633279bc7f0cfd2970e29f7c9 Mon Sep 17 00:00:00 2001
From: PG Herveou <pgherveou@gmail.com>
Date: Wed, 10 Apr 2024 20:56:51 +0200
Subject: [PATCH] Contracts: Reuse module when validating (#3789)

Reuse wasmi Module when validating.
Prepare the code for 0.32 and the addition of Module::new_unchecked
---
 prdoc/pr_3789.prdoc                           |   12 +
 .../contracts/src/benchmarking/sandbox.rs     |   15 +-
 substrate/frame/contracts/src/tests.rs        |   16 +-
 substrate/frame/contracts/src/wasm/mod.rs     |   43 +-
 substrate/frame/contracts/src/wasm/prepare.rs |   68 +-
 substrate/frame/contracts/src/weights.rs      | 1220 ++++++++---------
 6 files changed, 719 insertions(+), 655 deletions(-)
 create mode 100644 prdoc/pr_3789.prdoc

diff --git a/prdoc/pr_3789.prdoc b/prdoc/pr_3789.prdoc
new file mode 100644
index 00000000000..802334423b1
--- /dev/null
+++ b/prdoc/pr_3789.prdoc
@@ -0,0 +1,12 @@
+# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
+# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
+
+title: "[pallet-contracts] Benchmarks improvements"
+
+doc:
+  - audience: Runtime Dev
+    description: Reuse wasmi module when validating the wasm code.
+crates:
+- name: pallet-contracts
+  bump: patch
+
diff --git a/substrate/frame/contracts/src/benchmarking/sandbox.rs b/substrate/frame/contracts/src/benchmarking/sandbox.rs
index c3abbcad5f2..308bf6873e4 100644
--- a/substrate/frame/contracts/src/benchmarking/sandbox.rs
+++ b/substrate/frame/contracts/src/benchmarking/sandbox.rs
@@ -20,7 +20,8 @@
 /// ! environment that provides the seal interface as imported functions.
 use super::{code::WasmModule, Config};
 use crate::wasm::{
-	AllowDeprecatedInterface, AllowUnstableInterface, Determinism, Environment, WasmBlob,
+	AllowDeprecatedInterface, AllowUnstableInterface, Determinism, Environment, LoadedModule,
+	LoadingMode, WasmBlob,
 };
 use sp_core::Get;
 use wasmi::{errors::LinkerError, Func, Linker, StackLimits, Store};
@@ -42,12 +43,18 @@ impl<T: Config> From<&WasmModule<T>> for Sandbox {
 	/// Creates an instance from the supplied module.
 	/// Sets the execution engine fuel level to `u64::MAX`.
 	fn from(module: &WasmModule<T>) -> Self {
-		let (mut store, _memory, instance) = WasmBlob::<T>::instantiate::<EmptyEnv, _>(
+		let contract = LoadedModule::new::<T>(
 			&module.code,
+			Determinism::Relaxed,
+			Some(StackLimits::default()),
+			LoadingMode::Checked,
+		)
+		.expect("Failed to load Wasm module");
+
+		let (mut store, _memory, instance) = WasmBlob::<T>::instantiate::<EmptyEnv, _>(
+			contract,
 			(),
 			&<T>::Schedule::get(),
-			Determinism::Relaxed,
-			StackLimits::default(),
 			// We are testing with an empty environment anyways
 			AllowDeprecatedInterface::No,
 		)
diff --git a/substrate/frame/contracts/src/tests.rs b/substrate/frame/contracts/src/tests.rs
index d7ec710e768..7a910a6a8f9 100644
--- a/substrate/frame/contracts/src/tests.rs
+++ b/substrate/frame/contracts/src/tests.rs
@@ -34,7 +34,7 @@ use crate::{
 	primitives::CodeUploadReturnValue,
 	storage::DeletionQueueManager,
 	tests::test_utils::{get_contract, get_contract_checked},
-	wasm::{Determinism, ReturnErrorCode as RuntimeReturnCode},
+	wasm::{Determinism, LoadingMode, ReturnErrorCode as RuntimeReturnCode},
 	weights::WeightInfo,
 	Array, BalanceOf, Code, CodeHash, CodeInfoOf, CollectEvents, Config, ContractInfo,
 	ContractInfoOf, DebugInfo, DefaultAddressGenerator, DeletionQueueCounter, Error, HoldReason,
@@ -1102,6 +1102,20 @@ fn delegate_call() {
 	});
 }
 
+#[test]
+fn track_check_uncheck_module_call() {
+	let (wasm, code_hash) = compile_module::<Test>("dummy").unwrap();
+	ExtBuilder::default().build().execute_with(|| {
+		let _ = <Test as Config>::Currency::set_balance(&ALICE, 1_000_000);
+		Contracts::bare_upload_code(ALICE, wasm, None, Determinism::Enforced).unwrap();
+		builder::bare_instantiate(Code::Existing(code_hash)).build_and_unwrap_result();
+	});
+
+	// It should have recorded 1 `Checked` for the upload and 1 `Unchecked` for the instantiate.
+	let record = crate::wasm::tracker::LOADED_MODULE.with(|stack| stack.borrow().clone());
+	assert_eq!(record, vec![LoadingMode::Checked, LoadingMode::Unchecked]);
+}
+
 #[test]
 fn transfer_expendable_cannot_kill_account() {
 	let (wasm, _code_hash) = compile_module::<Test>("dummy").unwrap();
diff --git a/substrate/frame/contracts/src/wasm/mod.rs b/substrate/frame/contracts/src/wasm/mod.rs
index 4b7ae098137..8d7f928dba3 100644
--- a/substrate/frame/contracts/src/wasm/mod.rs
+++ b/substrate/frame/contracts/src/wasm/mod.rs
@@ -21,26 +21,26 @@
 mod prepare;
 mod runtime;
 
-#[cfg(test)]
-pub use runtime::STABLE_API_COUNT;
-
 #[cfg(doc)]
 pub use crate::wasm::runtime::api_doc;
 
-pub use crate::wasm::runtime::{
-	AllowDeprecatedInterface, AllowUnstableInterface, Environment, Runtime, RuntimeCosts,
-};
-
 #[cfg(test)]
-pub use tests::MockExt;
+pub use {
+	crate::wasm::{prepare::tracker, runtime::ReturnErrorCode},
+	runtime::STABLE_API_COUNT,
+	tests::MockExt,
+};
 
-#[cfg(test)]
-pub use crate::wasm::runtime::ReturnErrorCode;
+pub use crate::wasm::{
+	prepare::{LoadedModule, LoadingMode},
+	runtime::{
+		AllowDeprecatedInterface, AllowUnstableInterface, Environment, Runtime, RuntimeCosts,
+	},
+};
 
 use crate::{
 	exec::{ExecResult, Executable, ExportedFunction, Ext},
 	gas::{GasMeter, Token},
-	wasm::prepare::LoadedModule,
 	weights::WeightInfo,
 	AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeInfoOf, CodeVec, Config, Error, Event,
 	HoldReason, Pallet, PristineCode, Schedule, Weight, LOG_TARGET,
@@ -201,17 +201,14 @@ impl<T: Config> WasmBlob<T> {
 	/// When validating we pass `()` as `host_state`. Please note that such a dummy instance must
 	/// **never** be called/executed, since it will panic the executor.
 	pub fn instantiate<E, H>(
-		code: &[u8],
+		contract: LoadedModule,
 		host_state: H,
 		schedule: &Schedule<T>,
-		determinism: Determinism,
-		stack_limits: StackLimits,
 		allow_deprecated: AllowDeprecatedInterface,
 	) -> Result<(Store<H>, Memory, InstancePre), &'static str>
 	where
 		E: Environment<H>,
 	{
-		let contract = LoadedModule::new::<T>(&code, determinism, Some(stack_limits))?;
 		let mut store = Store::new(&contract.engine, host_state);
 		let mut linker = Linker::new(&contract.engine);
 		E::define(
@@ -382,12 +379,22 @@ impl<T: Config> WasmBlob<T> {
 		let code = self.code.as_slice();
 		// Instantiate the Wasm module to the engine.
 		let schedule = <T>::Schedule::get();
+
+		let contract = LoadedModule::new::<T>(
+			&code,
+			self.code_info.determinism,
+			Some(StackLimits::default()),
+			LoadingMode::Unchecked,
+		)
+		.map_err(|err| {
+			log::debug!(target: LOG_TARGET, "failed to create wasmi module: {err:?}");
+			Error::<T>::CodeRejected
+		})?;
+
 		let (mut store, memory, instance) = Self::instantiate::<crate::wasm::runtime::Env, _>(
-			code,
+			contract,
 			runtime,
 			&schedule,
-			self.code_info.determinism,
-			StackLimits::default(),
 			match function {
 				ExportedFunction::Call => AllowDeprecatedInterface::Yes,
 				ExportedFunction::Constructor => AllowDeprecatedInterface::No,
diff --git a/substrate/frame/contracts/src/wasm/prepare.rs b/substrate/frame/contracts/src/wasm/prepare.rs
index 5efea8c3a23..0d9a12d8ae8 100644
--- a/substrate/frame/contracts/src/wasm/prepare.rs
+++ b/substrate/frame/contracts/src/wasm/prepare.rs
@@ -48,6 +48,20 @@ pub struct LoadedModule {
 	pub engine: Engine,
 }
 
+#[derive(PartialEq, Debug, Clone)]
+pub enum LoadingMode {
+	Checked,
+	Unchecked,
+}
+
+#[cfg(test)]
+pub mod tracker {
+	use sp_std::cell::RefCell;
+	thread_local! {
+		pub static LOADED_MODULE: RefCell<Vec<super::LoadingMode>> = RefCell::new(Vec::new());
+	}
+}
+
 impl LoadedModule {
 	/// Creates a new instance of `LoadedModule`.
 	///
@@ -57,6 +71,7 @@ impl LoadedModule {
 		code: &[u8],
 		determinism: Determinism,
 		stack_limits: Option<StackLimits>,
+		_mode: LoadingMode,
 	) -> Result<Self, &'static str> {
 		// NOTE: wasmi does not support unstable WebAssembly features. The module is implicitly
 		// checked for not having those ones when creating `wasmi::Module` below.
@@ -79,11 +94,16 @@ impl LoadedModule {
 		}
 
 		let engine = Engine::new(&config);
+
+		// TODO use Module::new_unchecked when validate_module is true once we are on wasmi@0.32
 		let module = Module::new(&engine, code).map_err(|err| {
 			log::debug!(target: LOG_TARGET, "Module creation failed: {:?}", err);
 			"Can't load the module into wasmi!"
 		})?;
 
+		#[cfg(test)]
+		tracker::LOADED_MODULE.with(|t| t.borrow_mut().push(_mode));
+
 		// Return a `LoadedModule` instance with
 		// __valid__ module.
 		Ok(LoadedModule { module, engine })
@@ -229,24 +249,38 @@ where
 	E: Environment<()>,
 	T: Config,
 {
-	(|| {
+	let module = (|| {
+		// We don't actually ever execute this instance so we can get away with a minimal stack
+		// which reduces the amount of memory that needs to be zeroed.
+		let stack_limits = Some(StackLimits::new(1, 1, 0).expect("initial <= max; qed"));
+
 		// We check that the module is generally valid,
 		// and does not have restricted WebAssembly features, here.
 		let contract_module = match *determinism {
 			Determinism::Relaxed =>
-				if let Ok(module) = LoadedModule::new::<T>(code, Determinism::Enforced, None) {
+				if let Ok(module) = LoadedModule::new::<T>(
+					code,
+					Determinism::Enforced,
+					stack_limits,
+					LoadingMode::Checked,
+				) {
 					*determinism = Determinism::Enforced;
 					module
 				} else {
-					LoadedModule::new::<T>(code, Determinism::Relaxed, None)?
+					LoadedModule::new::<T>(code, Determinism::Relaxed, None, LoadingMode::Checked)?
 				},
-			Determinism::Enforced => LoadedModule::new::<T>(code, Determinism::Enforced, None)?,
+			Determinism::Enforced => LoadedModule::new::<T>(
+				code,
+				Determinism::Enforced,
+				stack_limits,
+				LoadingMode::Checked,
+			)?,
 		};
 
 		// The we check that module satisfies constraints the pallet puts on contracts.
 		contract_module.scan_exports()?;
 		contract_module.scan_imports::<T>(schedule)?;
-		Ok(())
+		Ok(contract_module)
 	})()
 	.map_err(|msg: &str| {
 		log::debug!(target: LOG_TARGET, "New code rejected on validation: {}", msg);
@@ -257,22 +291,11 @@ where
 	//
 	// - It doesn't use any unknown imports.
 	// - It doesn't explode the wasmi bytecode generation.
-	//
-	// We don't actually ever execute this instance so we can get away with a minimal stack which
-	// reduces the amount of memory that needs to be zeroed.
-	let stack_limits = StackLimits::new(1, 1, 0).expect("initial <= max; qed");
-	WasmBlob::<T>::instantiate::<E, _>(
-		&code,
-		(),
-		schedule,
-		*determinism,
-		stack_limits,
-		AllowDeprecatedInterface::No,
-	)
-	.map_err(|err| {
-		log::debug!(target: LOG_TARGET, "{}", err);
-		(Error::<T>::CodeRejected.into(), "New code rejected on wasmi instantiation!")
-	})?;
+	WasmBlob::<T>::instantiate::<E, _>(module, (), schedule, AllowDeprecatedInterface::No)
+		.map_err(|err| {
+			log::debug!(target: LOG_TARGET, "{err}");
+			(Error::<T>::CodeRejected.into(), "New code rejected on wasmi instantiation!")
+		})?;
 
 	Ok(())
 }
@@ -325,7 +348,8 @@ pub mod benchmarking {
 		owner: AccountIdOf<T>,
 	) -> Result<WasmBlob<T>, DispatchError> {
 		let determinism = Determinism::Enforced;
-		let contract_module = LoadedModule::new::<T>(&code, determinism, None)?;
+		let contract_module =
+			LoadedModule::new::<T>(&code, determinism, None, LoadingMode::Checked)?;
 		let _ = contract_module.scan_imports::<T>(schedule)?;
 		let code: CodeVec<T> = code.try_into().map_err(|_| <Error<T>>::CodeTooLarge)?;
 		let code_info = CodeInfo {
diff --git a/substrate/frame/contracts/src/weights.rs b/substrate/frame/contracts/src/weights.rs
index 534c7297c90..5c69d9218fa 100644
--- a/substrate/frame/contracts/src/weights.rs
+++ b/substrate/frame/contracts/src/weights.rs
@@ -142,8 +142,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1627`
-		// Minimum execution time: 2_114_000 picoseconds.
-		Weight::from_parts(2_196_000, 1627)
+		// Minimum execution time: 2_047_000 picoseconds.
+		Weight::from_parts(2_116_000, 1627)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -153,10 +153,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `452 + k * (69 ±0)`
 		//  Estimated: `442 + k * (70 ±0)`
-		// Minimum execution time: 12_470_000 picoseconds.
-		Weight::from_parts(12_729_000, 442)
-			// Standard Error: 896
-			.saturating_add(Weight::from_parts(1_101_272, 0).saturating_mul(k.into()))
+		// Minimum execution time: 12_474_000 picoseconds.
+		Weight::from_parts(12_767_000, 442)
+			// Standard Error: 1_081
+			.saturating_add(Weight::from_parts(1_187_278, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
@@ -170,10 +170,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `211 + c * (1 ±0)`
 		//  Estimated: `6149 + c * (1 ±0)`
-		// Minimum execution time: 8_500_000 picoseconds.
-		Weight::from_parts(8_724_406, 6149)
+		// Minimum execution time: 8_307_000 picoseconds.
+		Weight::from_parts(8_939_322, 6149)
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_183, 0).saturating_mul(c.into()))
+			.saturating_add(Weight::from_parts(1_190, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
@@ -186,8 +186,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `510`
 		//  Estimated: `6450`
-		// Minimum execution time: 16_863_000 picoseconds.
-		Weight::from_parts(17_671_000, 6450)
+		// Minimum execution time: 16_915_000 picoseconds.
+		Weight::from_parts(17_638_000, 6450)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -200,10 +200,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `171 + k * (1 ±0)`
 		//  Estimated: `3635 + k * (1 ±0)`
-		// Minimum execution time: 3_559_000 picoseconds.
-		Weight::from_parts(3_728_000, 3635)
-			// Standard Error: 1_486
-			.saturating_add(Weight::from_parts(1_264_217, 0).saturating_mul(k.into()))
+		// Minimum execution time: 3_607_000 picoseconds.
+		Weight::from_parts(1_979_323, 3635)
+			// Standard Error: 1_018
+			.saturating_add(Weight::from_parts(1_196_162, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
@@ -224,10 +224,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `328 + c * (1 ±0)`
 		//  Estimated: `6266 + c * (1 ±0)`
-		// Minimum execution time: 21_285_000 picoseconds.
-		Weight::from_parts(21_918_340, 6266)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(391, 0).saturating_mul(c.into()))
+		// Minimum execution time: 21_056_000 picoseconds.
+		Weight::from_parts(21_633_895, 6266)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(390, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
@@ -238,8 +238,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `440`
 		//  Estimated: `6380`
-		// Minimum execution time: 13_274_000 picoseconds.
-		Weight::from_parts(13_810_000, 6380)
+		// Minimum execution time: 12_860_000 picoseconds.
+		Weight::from_parts(13_525_000, 6380)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -253,8 +253,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `352`
 		//  Estimated: `6292`
-		// Minimum execution time: 47_886_000 picoseconds.
-		Weight::from_parts(49_631_000, 6292)
+		// Minimum execution time: 46_926_000 picoseconds.
+		Weight::from_parts(47_828_000, 6292)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -266,8 +266,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `594`
 		//  Estimated: `6534`
-		// Minimum execution time: 56_799_000 picoseconds.
-		Weight::from_parts(58_731_000, 6534)
+		// Minimum execution time: 55_081_000 picoseconds.
+		Weight::from_parts(56_899_000, 6534)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -277,8 +277,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1627`
-		// Minimum execution time: 2_534_000 picoseconds.
-		Weight::from_parts(2_640_000, 1627)
+		// Minimum execution time: 2_480_000 picoseconds.
+		Weight::from_parts(2_663_000, 1627)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -290,8 +290,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `166`
 		//  Estimated: `3631`
-		// Minimum execution time: 12_738_000 picoseconds.
-		Weight::from_parts(13_132_000, 3631)
+		// Minimum execution time: 12_115_000 picoseconds.
+		Weight::from_parts(12_506_000, 3631)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -301,8 +301,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `3607`
-		// Minimum execution time: 4_846_000 picoseconds.
-		Weight::from_parts(5_136_000, 3607)
+		// Minimum execution time: 4_757_000 picoseconds.
+		Weight::from_parts(5_082_000, 3607)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0)
@@ -313,8 +313,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `167`
 		//  Estimated: `3632`
-		// Minimum execution time: 6_418_000 picoseconds.
-		Weight::from_parts(6_640_000, 3632)
+		// Minimum execution time: 6_017_000 picoseconds.
+		Weight::from_parts(6_421_000, 3632)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0)
@@ -325,8 +325,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `3607`
-		// Minimum execution time: 6_540_000 picoseconds.
-		Weight::from_parts(6_779_000, 3607)
+		// Minimum execution time: 6_238_000 picoseconds.
+		Weight::from_parts(6_587_000, 3607)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -351,10 +351,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `804 + c * (1 ±0)`
 		//  Estimated: `9217 + c * (1 ±0)`
-		// Minimum execution time: 293_893_000 picoseconds.
-		Weight::from_parts(291_073_317, 9217)
-			// Standard Error: 76
-			.saturating_add(Weight::from_parts(33_770, 0).saturating_mul(c.into()))
+		// Minimum execution time: 288_968_000 picoseconds.
+		Weight::from_parts(267_291_922, 9217)
+			// Standard Error: 78
+			.saturating_add(Weight::from_parts(34_879, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(11_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
@@ -386,14 +386,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `326`
 		//  Estimated: `8740`
-		// Minimum execution time: 3_860_814_000 picoseconds.
-		Weight::from_parts(735_131_841, 8740)
-			// Standard Error: 143
-			.saturating_add(Weight::from_parts(100_168, 0).saturating_mul(c.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_454, 0).saturating_mul(i.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_580, 0).saturating_mul(s.into()))
+		// Minimum execution time: 3_948_426_000 picoseconds.
+		Weight::from_parts(440_017_623, 8740)
+			// Standard Error: 555
+			.saturating_add(Weight::from_parts(71_483, 0).saturating_mul(c.into()))
+			// Standard Error: 66
+			.saturating_add(Weight::from_parts(1_831, 0).saturating_mul(i.into()))
+			// Standard Error: 66
+			.saturating_add(Weight::from_parts(1_694, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(14_u64))
 			.saturating_add(T::DbWeight::get().writes(10_u64))
 	}
@@ -423,12 +423,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `563`
 		//  Estimated: `8982`
-		// Minimum execution time: 2_003_060_000 picoseconds.
-		Weight::from_parts(2_022_270_000, 8982)
-			// Standard Error: 26
-			.saturating_add(Weight::from_parts(815, 0).saturating_mul(i.into()))
-			// Standard Error: 26
-			.saturating_add(Weight::from_parts(774, 0).saturating_mul(s.into()))
+		// Minimum execution time: 2_011_037_000 picoseconds.
+		Weight::from_parts(2_047_025_000, 8982)
+			// Standard Error: 28
+			.saturating_add(Weight::from_parts(968, 0).saturating_mul(i.into()))
+			// Standard Error: 28
+			.saturating_add(Weight::from_parts(780, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(13_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
@@ -452,8 +452,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `829`
 		//  Estimated: `9244`
-		// Minimum execution time: 207_310_000 picoseconds.
-		Weight::from_parts(217_885_000, 9244)
+		// Minimum execution time: 202_190_000 picoseconds.
+		Weight::from_parts(209_378_000, 9244)
 			.saturating_add(T::DbWeight::get().reads(11_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -474,10 +474,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `145`
 		//  Estimated: `6085`
-		// Minimum execution time: 278_462_000 picoseconds.
-		Weight::from_parts(306_084_905, 6085)
-			// Standard Error: 74
-			.saturating_add(Weight::from_parts(64_311, 0).saturating_mul(c.into()))
+		// Minimum execution time: 271_161_000 picoseconds.
+		Weight::from_parts(279_218_977, 6085)
+			// Standard Error: 80
+			.saturating_add(Weight::from_parts(33_973, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -498,10 +498,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `145`
 		//  Estimated: `6085`
-		// Minimum execution time: 286_348_000 picoseconds.
-		Weight::from_parts(314_351_958, 6085)
-			// Standard Error: 113
-			.saturating_add(Weight::from_parts(65_816, 0).saturating_mul(c.into()))
+		// Minimum execution time: 273_684_000 picoseconds.
+		Weight::from_parts(284_348_722, 6085)
+			// Standard Error: 79
+			.saturating_add(Weight::from_parts(34_205, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -519,8 +519,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `315`
 		//  Estimated: `3780`
-		// Minimum execution time: 46_378_000 picoseconds.
-		Weight::from_parts(51_280_000, 3780)
+		// Minimum execution time: 45_150_000 picoseconds.
+		Weight::from_parts(46_780_000, 3780)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -536,8 +536,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `552`
 		//  Estimated: `8967`
-		// Minimum execution time: 34_914_000 picoseconds.
-		Weight::from_parts(36_577_000, 8967)
+		// Minimum execution time: 34_738_000 picoseconds.
+		Weight::from_parts(35_918_000, 8967)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
@@ -546,10 +546,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_199_000 picoseconds.
-		Weight::from_parts(10_051_151, 0)
-			// Standard Error: 244
-			.saturating_add(Weight::from_parts(248_249, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_094_000 picoseconds.
+		Weight::from_parts(10_253_702, 0)
+			// Standard Error: 223
+			.saturating_add(Weight::from_parts(250_757, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::ContractInfoOf` (r:1600 w:0)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
@@ -558,10 +558,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `509 + r * (77 ±0)`
 		//  Estimated: `1467 + r * (2552 ±0)`
-		// Minimum execution time: 9_100_000 picoseconds.
-		Weight::from_parts(9_183_000, 1467)
-			// Standard Error: 5_858
-			.saturating_add(Weight::from_parts(3_223_076, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_102_000 picoseconds.
+		Weight::from_parts(9_238_000, 1467)
+			// Standard Error: 6_076
+			.saturating_add(Weight::from_parts(3_293_012, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2552).saturating_mul(r.into()))
 	}
@@ -572,10 +572,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `517 + r * (170 ±0)`
 		//  Estimated: `1468 + r * (2645 ±0)`
-		// Minimum execution time: 9_032_000 picoseconds.
-		Weight::from_parts(9_167_000, 1468)
-			// Standard Error: 6_232
-			.saturating_add(Weight::from_parts(4_098_301, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_255_000 picoseconds.
+		Weight::from_parts(9_406_000, 1468)
+			// Standard Error: 6_826
+			.saturating_add(Weight::from_parts(4_205_039, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2645).saturating_mul(r.into()))
 	}
@@ -584,50 +584,50 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_625_000 picoseconds.
-		Weight::from_parts(12_135_747, 0)
-			// Standard Error: 237
-			.saturating_add(Weight::from_parts(410_404, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_388_000 picoseconds.
+		Weight::from_parts(9_322_209, 0)
+			// Standard Error: 269
+			.saturating_add(Weight::from_parts(358_189, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller_is_origin(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_425_000 picoseconds.
-		Weight::from_parts(12_591_828, 0)
-			// Standard Error: 74
-			.saturating_add(Weight::from_parts(110_710, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_300_000 picoseconds.
+		Weight::from_parts(10_268_326, 0)
+			// Standard Error: 72
+			.saturating_add(Weight::from_parts(104_650, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller_is_root(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_456_000 picoseconds.
-		Weight::from_parts(12_321_553, 0)
-			// Standard Error: 56
-			.saturating_add(Weight::from_parts(91_591, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_162_000 picoseconds.
+		Weight::from_parts(10_059_984, 0)
+			// Standard Error: 87
+			.saturating_add(Weight::from_parts(87_627, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_701_000 picoseconds.
-		Weight::from_parts(11_708_796, 0)
-			// Standard Error: 219
-			.saturating_add(Weight::from_parts(306_175, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_193_000 picoseconds.
+		Weight::from_parts(10_160_715, 0)
+			// Standard Error: 152
+			.saturating_add(Weight::from_parts(263_703, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_gas_left(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_740_000 picoseconds.
-		Weight::from_parts(29_870_801, 0)
-			// Standard Error: 1_014
-			.saturating_add(Weight::from_parts(273_579, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_109_000 picoseconds.
+		Weight::from_parts(9_766_924, 0)
+			// Standard Error: 212
+			.saturating_add(Weight::from_parts(291_694, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
@@ -636,10 +636,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `3599`
-		// Minimum execution time: 9_330_000 picoseconds.
-		Weight::from_parts(4_407_249, 3599)
-			// Standard Error: 880
-			.saturating_add(Weight::from_parts(1_563_659, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_463_000 picoseconds.
+		Weight::from_parts(9_541_000, 3599)
+			// Standard Error: 3_075
+			.saturating_add(Weight::from_parts(1_606_043, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -647,40 +647,40 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_093_000 picoseconds.
-		Weight::from_parts(11_445_920, 0)
-			// Standard Error: 257
-			.saturating_add(Weight::from_parts(247_014, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_080_000 picoseconds.
+		Weight::from_parts(8_121_924, 0)
+			// Standard Error: 198
+			.saturating_add(Weight::from_parts(247_527, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_minimum_balance(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_640_000 picoseconds.
-		Weight::from_parts(11_383_646, 0)
-			// Standard Error: 191
-			.saturating_add(Weight::from_parts(246_675, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_393_000 picoseconds.
+		Weight::from_parts(9_999_247, 0)
+			// Standard Error: 169
+			.saturating_add(Weight::from_parts(244_563, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_block_number(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_213_000 picoseconds.
-		Weight::from_parts(5_816_185, 0)
-			// Standard Error: 1_041
-			.saturating_add(Weight::from_parts(258_058, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_236_000 picoseconds.
+		Weight::from_parts(9_561_435, 0)
+			// Standard Error: 195
+			.saturating_add(Weight::from_parts(239_812, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_now(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_213_000 picoseconds.
-		Weight::from_parts(8_653_735, 0)
-			// Standard Error: 243
-			.saturating_add(Weight::from_parts(258_657, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_259_000 picoseconds.
+		Weight::from_parts(10_353_960, 0)
+			// Standard Error: 216
+			.saturating_add(Weight::from_parts(243_754, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
 	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `Measured`)
@@ -689,10 +689,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `67`
 		//  Estimated: `1552`
-		// Minimum execution time: 8_986_000 picoseconds.
-		Weight::from_parts(13_032_048, 1552)
-			// Standard Error: 441
-			.saturating_add(Weight::from_parts(672_398, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_145_000 picoseconds.
+		Weight::from_parts(16_524_937, 1552)
+			// Standard Error: 438
+			.saturating_add(Weight::from_parts(666_821, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -700,10 +700,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_095_000 picoseconds.
-		Weight::from_parts(9_927_560, 0)
-			// Standard Error: 306
-			.saturating_add(Weight::from_parts(173_975, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_179_000 picoseconds.
+		Weight::from_parts(8_893_261, 0)
+			// Standard Error: 215
+			.saturating_add(Weight::from_parts(175_586, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
@@ -726,10 +726,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `872`
 		//  Estimated: `9287`
-		// Minimum execution time: 275_801_000 picoseconds.
-		Weight::from_parts(150_079_707, 9287)
-			// Standard Error: 16
-			.saturating_add(Weight::from_parts(1_350, 0).saturating_mul(n.into()))
+		// Minimum execution time: 259_315_000 picoseconds.
+		Weight::from_parts(137_461_362, 9287)
+			// Standard Error: 18
+			.saturating_add(Weight::from_parts(1_388, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(11_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -738,20 +738,20 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_947_000 picoseconds.
-		Weight::from_parts(9_306_624, 0)
-			// Standard Error: 15_511
-			.saturating_add(Weight::from_parts(1_285_075, 0).saturating_mul(r.into()))
+		// Minimum execution time: 8_919_000 picoseconds.
+		Weight::from_parts(9_465_187, 0)
+			// Standard Error: 32_481
+			.saturating_add(Weight::from_parts(992_912, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_return_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_298_000 picoseconds.
-		Weight::from_parts(11_227_690, 0)
+		// Minimum execution time: 10_244_000 picoseconds.
+		Weight::from_parts(10_654_989, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(314, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(315, 0).saturating_mul(n.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
@@ -780,10 +780,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `4805 + r * (2121 ±0)`
 		//  Estimated: `13220 + r * (81321 ±0)`
-		// Minimum execution time: 297_431_000 picoseconds.
-		Weight::from_parts(323_150_773, 13220)
-			// Standard Error: 801_052
-			.saturating_add(Weight::from_parts(250_140_426, 0).saturating_mul(r.into()))
+		// Minimum execution time: 303_028_000 picoseconds.
+		Weight::from_parts(323_032_397, 13220)
+			// Standard Error: 848_406
+			.saturating_add(Weight::from_parts(242_988_002, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(11_u64))
 			.saturating_add(T::DbWeight::get().reads((36_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
@@ -797,10 +797,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `1561`
-		// Minimum execution time: 9_410_000 picoseconds.
-		Weight::from_parts(14_925_916, 1561)
-			// Standard Error: 546
-			.saturating_add(Weight::from_parts(1_125_307, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_227_000 picoseconds.
+		Weight::from_parts(14_055_283, 1561)
+			// Standard Error: 758
+			.saturating_add(Weight::from_parts(1_104_996, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -808,10 +808,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_145_000 picoseconds.
-		Weight::from_parts(28_024_125, 0)
-			// Standard Error: 3_571
-			.saturating_add(Weight::from_parts(1_945_568, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_483_000 picoseconds.
+		Weight::from_parts(20_453_059, 0)
+			// Standard Error: 3_271
+			.saturating_add(Weight::from_parts(1_713_468, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `System::EventTopics` (r:4 w:4)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -821,12 +821,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `990 + t * (2475 ±0)`
-		// Minimum execution time: 23_782_000 picoseconds.
-		Weight::from_parts(15_056_196, 990)
-			// Standard Error: 12_451
-			.saturating_add(Weight::from_parts(2_368_774, 0).saturating_mul(t.into()))
+		// Minimum execution time: 23_517_000 picoseconds.
+		Weight::from_parts(15_543_153, 990)
+			// Standard Error: 13_814
+			.saturating_add(Weight::from_parts(2_357_255, 0).saturating_mul(t.into()))
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(621, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(573, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into())))
 			.saturating_add(Weight::from_parts(0, 2475).saturating_mul(t.into()))
@@ -836,20 +836,20 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_218_000 picoseconds.
-		Weight::from_parts(9_606_404, 0)
-			// Standard Error: 124
-			.saturating_add(Weight::from_parts(103_251, 0).saturating_mul(r.into()))
+		// Minimum execution time: 8_448_000 picoseconds.
+		Weight::from_parts(9_845_841, 0)
+			// Standard Error: 58
+			.saturating_add(Weight::from_parts(105_442, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `i` is `[0, 1048576]`.
 	fn seal_debug_message_per_byte(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_339_000 picoseconds.
-		Weight::from_parts(10_509_000, 0)
+		// Minimum execution time: 10_869_000 picoseconds.
+		Weight::from_parts(11_024_000, 0)
 			// Standard Error: 8
-			.saturating_add(Weight::from_parts(979, 0).saturating_mul(i.into()))
+			.saturating_add(Weight::from_parts(991, 0).saturating_mul(i.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -858,10 +858,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 9_117_000 picoseconds.
-		Weight::from_parts(9_198_000, 105)
-			// Standard Error: 8_364
-			.saturating_add(Weight::from_parts(5_091_383, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_119_000 picoseconds.
+		Weight::from_parts(9_270_000, 105)
+			// Standard Error: 8_960
+			.saturating_add(Weight::from_parts(5_215_976, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
@@ -873,10 +873,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `245`
 		//  Estimated: `245`
-		// Minimum execution time: 18_421_000 picoseconds.
-		Weight::from_parts(19_028_299, 245)
+		// Minimum execution time: 17_833_000 picoseconds.
+		Weight::from_parts(18_940_114, 245)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(299, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(316, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -887,10 +887,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 18_234_000 picoseconds.
-		Weight::from_parts(19_744_697, 248)
-			// Standard Error: 4
-			.saturating_add(Weight::from_parts(98, 0).saturating_mul(n.into()))
+		// Minimum execution time: 18_428_000 picoseconds.
+		Weight::from_parts(19_372_726, 248)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(85, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -902,10 +902,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 9_170_000 picoseconds.
-		Weight::from_parts(9_308_000, 105)
-			// Standard Error: 8_089
-			.saturating_add(Weight::from_parts(5_061_647, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_335_000 picoseconds.
+		Weight::from_parts(9_459_000, 105)
+			// Standard Error: 9_156
+			.saturating_add(Weight::from_parts(5_166_621, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
@@ -917,10 +917,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 20_640_000 picoseconds.
-		Weight::from_parts(22_163_262, 248)
+		// Minimum execution time: 18_308_000 picoseconds.
+		Weight::from_parts(19_421_433, 248)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(57, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(83, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -932,10 +932,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 11_636_000 picoseconds.
-		Weight::from_parts(11_694_000, 105)
-			// Standard Error: 6_493
-			.saturating_add(Weight::from_parts(4_442_054, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_184_000 picoseconds.
+		Weight::from_parts(9_245_000, 105)
+			// Standard Error: 8_442
+			.saturating_add(Weight::from_parts(4_543_991, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
 	}
@@ -946,10 +946,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 20_197_000 picoseconds.
-		Weight::from_parts(21_863_984, 248)
+		// Minimum execution time: 17_194_000 picoseconds.
+		Weight::from_parts(19_032_094, 248)
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(633, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(590, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
@@ -960,10 +960,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 12_347_000 picoseconds.
-		Weight::from_parts(12_455_000, 105)
-			// Standard Error: 7_068
-			.saturating_add(Weight::from_parts(4_325_197, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_380_000 picoseconds.
+		Weight::from_parts(9_501_000, 105)
+			// Standard Error: 7_029
+			.saturating_add(Weight::from_parts(4_406_690, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
 	}
@@ -974,10 +974,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 16_739_000 picoseconds.
-		Weight::from_parts(18_124_871, 248)
+		// Minimum execution time: 16_400_000 picoseconds.
+		Weight::from_parts(17_993_941, 248)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(92, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(68, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
@@ -988,10 +988,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 9_034_000 picoseconds.
-		Weight::from_parts(9_222_000, 105)
-			// Standard Error: 8_163
-			.saturating_add(Weight::from_parts(5_166_827, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_109_000 picoseconds.
+		Weight::from_parts(9_265_000, 105)
+			// Standard Error: 8_733
+			.saturating_add(Weight::from_parts(5_218_811, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
@@ -1003,10 +1003,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 19_437_000 picoseconds.
-		Weight::from_parts(20_878_358, 248)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(625, 0).saturating_mul(n.into()))
+		// Minimum execution time: 18_423_000 picoseconds.
+		Weight::from_parts(20_025_132, 248)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(628, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -1018,10 +1018,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `770`
 		//  Estimated: `4221 + r * (2475 ±0)`
-		// Minimum execution time: 9_514_000 picoseconds.
-		Weight::from_parts(9_593_000, 4221)
-			// Standard Error: 24_003
-			.saturating_add(Weight::from_parts(33_351_110, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_043_000 picoseconds.
+		Weight::from_parts(9_176_000, 4221)
+			// Standard Error: 12_901
+			.saturating_add(Weight::from_parts(32_297_438, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
@@ -1043,10 +1043,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `520 + r * (170 ±0)`
 		//  Estimated: `6463 + r * (2646 ±0)`
-		// Minimum execution time: 9_725_000 picoseconds.
-		Weight::from_parts(9_811_000, 6463)
-			// Standard Error: 116_763
-			.saturating_add(Weight::from_parts(243_431_319, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_299_000 picoseconds.
+		Weight::from_parts(9_427_000, 6463)
+			// Standard Error: 101_949
+			.saturating_add(Weight::from_parts(244_143_691, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
@@ -1067,11 +1067,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	fn seal_delegate_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + r * (527 ±0)`
-		//  Estimated: `6447 + r * (2583 ±10)`
-		// Minimum execution time: 9_177_000 picoseconds.
-		Weight::from_parts(9_315_000, 6447)
-			// Standard Error: 153_655
-			.saturating_add(Weight::from_parts(244_535_660, 0).saturating_mul(r.into()))
+		//  Estimated: `6447 + r * (2583 ±3)`
+		// Minimum execution time: 9_359_000 picoseconds.
+		Weight::from_parts(9_425_000, 6447)
+			// Standard Error: 193_938
+			.saturating_add(Weight::from_parts(244_904_401, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2583).saturating_mul(r.into()))
@@ -1094,12 +1094,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `699 + t * (277 ±0)`
 		//  Estimated: `6639 + t * (3458 ±0)`
-		// Minimum execution time: 215_422_000 picoseconds.
-		Weight::from_parts(120_075_010, 6639)
-			// Standard Error: 2_612_201
-			.saturating_add(Weight::from_parts(41_816_738, 0).saturating_mul(t.into()))
+		// Minimum execution time: 214_588_000 picoseconds.
+		Weight::from_parts(129_214_481, 6639)
+			// Standard Error: 2_468_090
+			.saturating_add(Weight::from_parts(32_514_739, 0).saturating_mul(t.into()))
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(421, 0).saturating_mul(c.into()))
+			.saturating_add(Weight::from_parts(418, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(t.into())))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
@@ -1125,10 +1125,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1097 + r * (188 ±0)`
 		//  Estimated: `6990 + r * (2664 ±0)`
-		// Minimum execution time: 350_266_000 picoseconds.
-		Weight::from_parts(357_097_000, 6990)
-			// Standard Error: 248_976
-			.saturating_add(Weight::from_parts(336_010_851, 0).saturating_mul(r.into()))
+		// Minimum execution time: 352_925_000 picoseconds.
+		Weight::from_parts(355_487_000, 6990)
+			// Standard Error: 261_528
+			.saturating_add(Weight::from_parts(337_897_187, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
@@ -1156,12 +1156,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `760 + t * (104 ±0)`
 		//  Estimated: `6719 + t * (2549 ±1)`
-		// Minimum execution time: 1_866_294_000 picoseconds.
-		Weight::from_parts(900_604_598, 6719)
-			// Standard Error: 19
-			.saturating_add(Weight::from_parts(1_064, 0).saturating_mul(i.into()))
-			// Standard Error: 19
-			.saturating_add(Weight::from_parts(1_194, 0).saturating_mul(s.into()))
+		// Minimum execution time: 1_870_832_000 picoseconds.
+		Weight::from_parts(949_110_245, 6719)
+			// Standard Error: 24
+			.saturating_add(Weight::from_parts(1_084, 0).saturating_mul(i.into()))
+			// Standard Error: 24
+			.saturating_add(Weight::from_parts(1_206, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(10_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
@@ -1173,120 +1173,120 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_058_000 picoseconds.
-		Weight::from_parts(11_642_576, 0)
-			// Standard Error: 191
-			.saturating_add(Weight::from_parts(266_977, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_142_000 picoseconds.
+		Weight::from_parts(9_787_220, 0)
+			// Standard Error: 236
+			.saturating_add(Weight::from_parts(267_264, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_002_000 picoseconds.
-		Weight::from_parts(11_221_000, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_056, 0).saturating_mul(n.into()))
+		// Minimum execution time: 10_485_000 picoseconds.
+		Weight::from_parts(1_870_250, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_073, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_keccak_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_152_000 picoseconds.
-		Weight::from_parts(10_803_041, 0)
-			// Standard Error: 266
-			.saturating_add(Weight::from_parts(686_345, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_005_000 picoseconds.
+		Weight::from_parts(8_943_937, 0)
+			// Standard Error: 1_385
+			.saturating_add(Weight::from_parts(665_970, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_955_000 picoseconds.
-		Weight::from_parts(4_617_649, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(3_337, 0).saturating_mul(n.into()))
+		// Minimum execution time: 10_965_000 picoseconds.
+		Weight::from_parts(11_749_746, 0)
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(3_330, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_116_000 picoseconds.
-		Weight::from_parts(9_898_975, 0)
-			// Standard Error: 287
-			.saturating_add(Weight::from_parts(331_984, 0).saturating_mul(r.into()))
+		// Minimum execution time: 10_400_000 picoseconds.
+		Weight::from_parts(13_857_546, 0)
+			// Standard Error: 246
+			.saturating_add(Weight::from_parts(326_483, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_220_000 picoseconds.
-		Weight::from_parts(2_971_363, 0)
+		// Minimum execution time: 10_064_000 picoseconds.
+		Weight::from_parts(1_885_873, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_192, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(1_196, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_128(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_962_000 picoseconds.
-		Weight::from_parts(9_956_006, 0)
-			// Standard Error: 282
-			.saturating_add(Weight::from_parts(336_862, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_068_000 picoseconds.
+		Weight::from_parts(17_169_362, 0)
+			// Standard Error: 1_580
+			.saturating_add(Weight::from_parts(330_195, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_248_000 picoseconds.
-		Weight::from_parts(910_460, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_201, 0).saturating_mul(n.into()))
+		// Minimum execution time: 10_169_000 picoseconds.
+		Weight::from_parts(2_159_277, 0)
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(1_200, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `n` is `[0, 125697]`.
 	fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 53_691_000 picoseconds.
-		Weight::from_parts(53_572_040, 0)
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(4_636, 0).saturating_mul(n.into()))
+		// Minimum execution time: 53_863_000 picoseconds.
+		Weight::from_parts(54_902_157, 0)
+			// Standard Error: 9
+			.saturating_add(Weight::from_parts(4_588, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 160]`.
 	fn seal_sr25519_verify(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_019_000 picoseconds.
-		Weight::from_parts(21_443_365, 0)
-			// Standard Error: 7_796
-			.saturating_add(Weight::from_parts(40_945_218, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_107_000 picoseconds.
+		Weight::from_parts(24_115_247, 0)
+			// Standard Error: 7_427
+			.saturating_add(Weight::from_parts(41_116_827, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 160]`.
 	fn seal_ecdsa_recover(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_029_000 picoseconds.
-		Weight::from_parts(28_109_572, 0)
-			// Standard Error: 9_684
-			.saturating_add(Weight::from_parts(45_446_659, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_404_000 picoseconds.
+		Weight::from_parts(31_763_334, 0)
+			// Standard Error: 9_833
+			.saturating_add(Weight::from_parts(45_529_880, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 160]`.
 	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_204_000 picoseconds.
-		Weight::from_parts(11_165_863, 0)
-			// Standard Error: 3_380
-			.saturating_add(Weight::from_parts(11_640_284, 0).saturating_mul(r.into()))
+		// Minimum execution time: 11_409_000 picoseconds.
+		Weight::from_parts(15_072_835, 0)
+			// Standard Error: 4_591
+			.saturating_add(Weight::from_parts(11_619_283, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::CodeInfoOf` (r:1536 w:1536)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
@@ -1301,10 +1301,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + r * (926 ±0)`
 		//  Estimated: `8969 + r * (3047 ±10)`
-		// Minimum execution time: 9_285_000 picoseconds.
-		Weight::from_parts(9_384_000, 8969)
-			// Standard Error: 43_985
-			.saturating_add(Weight::from_parts(25_318_514, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_269_000 picoseconds.
+		Weight::from_parts(9_372_000, 8969)
+			// Standard Error: 61_354
+			.saturating_add(Weight::from_parts(26_280_409, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 3047).saturating_mul(r.into()))
@@ -1316,10 +1316,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `274 + r * (78 ±0)`
 		//  Estimated: `1265 + r * (2553 ±0)`
-		// Minimum execution time: 9_204_000 picoseconds.
-		Weight::from_parts(15_422_169, 1265)
-			// Standard Error: 10_310
-			.saturating_add(Weight::from_parts(5_137_638, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_103_000 picoseconds.
+		Weight::from_parts(14_404_626, 1265)
+			// Standard Error: 9_343
+			.saturating_add(Weight::from_parts(5_154_949, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2553).saturating_mul(r.into()))
@@ -1331,10 +1331,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `275 + r * (78 ±0)`
 		//  Estimated: `990 + r * (2568 ±0)`
-		// Minimum execution time: 9_103_000 picoseconds.
-		Weight::from_parts(15_303_019, 990)
-			// Standard Error: 9_932
-			.saturating_add(Weight::from_parts(4_311_398, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_219_000 picoseconds.
+		Weight::from_parts(14_085_456, 990)
+			// Standard Error: 11_206
+			.saturating_add(Weight::from_parts(4_422_122, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2568).saturating_mul(r.into()))
@@ -1360,10 +1360,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `861 + r * (3 ±0)`
 		//  Estimated: `9282 + r * (3 ±0)`
-		// Minimum execution time: 256_302_000 picoseconds.
-		Weight::from_parts(285_379_160, 9282)
-			// Standard Error: 420
-			.saturating_add(Weight::from_parts(167_664, 0).saturating_mul(r.into()))
+		// Minimum execution time: 269_333_000 picoseconds.
+		Weight::from_parts(286_922_618, 9282)
+			// Standard Error: 443
+			.saturating_add(Weight::from_parts(168_869, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(11_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into()))
@@ -1373,10 +1373,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_796_000 picoseconds.
-		Weight::from_parts(11_892_860, 0)
-			// Standard Error: 123
-			.saturating_add(Weight::from_parts(80_644, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_328_000 picoseconds.
+		Weight::from_parts(14_019_583, 0)
+			// Standard Error: 171
+			.saturating_add(Weight::from_parts(88_751, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::Nonce` (r:1 w:0)
 	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
@@ -1385,10 +1385,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `219`
 		//  Estimated: `1704`
-		// Minimum execution time: 9_136_000 picoseconds.
-		Weight::from_parts(12_974_461, 1704)
-			// Standard Error: 72
-			.saturating_add(Weight::from_parts(75_956, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_267_000 picoseconds.
+		Weight::from_parts(15_304_284, 1704)
+			// Standard Error: 1_219
+			.saturating_add(Weight::from_parts(74_696, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 5000]`.
@@ -1396,10 +1396,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 887_000 picoseconds.
-		Weight::from_parts(876_155, 0)
-			// Standard Error: 22
-			.saturating_add(Weight::from_parts(14_839, 0).saturating_mul(r.into()))
+		// Minimum execution time: 911_000 picoseconds.
+		Weight::from_parts(449_666, 0)
+			// Standard Error: 26
+			.saturating_add(Weight::from_parts(14_797, 0).saturating_mul(r.into()))
 	}
 }
 
@@ -1411,8 +1411,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1627`
-		// Minimum execution time: 2_114_000 picoseconds.
-		Weight::from_parts(2_196_000, 1627)
+		// Minimum execution time: 2_047_000 picoseconds.
+		Weight::from_parts(2_116_000, 1627)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
@@ -1422,10 +1422,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `452 + k * (69 ±0)`
 		//  Estimated: `442 + k * (70 ±0)`
-		// Minimum execution time: 12_470_000 picoseconds.
-		Weight::from_parts(12_729_000, 442)
-			// Standard Error: 896
-			.saturating_add(Weight::from_parts(1_101_272, 0).saturating_mul(k.into()))
+		// Minimum execution time: 12_474_000 picoseconds.
+		Weight::from_parts(12_767_000, 442)
+			// Standard Error: 1_081
+			.saturating_add(Weight::from_parts(1_187_278, 0).saturating_mul(k.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
@@ -1439,10 +1439,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `211 + c * (1 ±0)`
 		//  Estimated: `6149 + c * (1 ±0)`
-		// Minimum execution time: 8_500_000 picoseconds.
-		Weight::from_parts(8_724_406, 6149)
+		// Minimum execution time: 8_307_000 picoseconds.
+		Weight::from_parts(8_939_322, 6149)
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_183, 0).saturating_mul(c.into()))
+			.saturating_add(Weight::from_parts(1_190, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
@@ -1455,8 +1455,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `510`
 		//  Estimated: `6450`
-		// Minimum execution time: 16_863_000 picoseconds.
-		Weight::from_parts(17_671_000, 6450)
+		// Minimum execution time: 16_915_000 picoseconds.
+		Weight::from_parts(17_638_000, 6450)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1469,10 +1469,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `171 + k * (1 ±0)`
 		//  Estimated: `3635 + k * (1 ±0)`
-		// Minimum execution time: 3_559_000 picoseconds.
-		Weight::from_parts(3_728_000, 3635)
-			// Standard Error: 1_486
-			.saturating_add(Weight::from_parts(1_264_217, 0).saturating_mul(k.into()))
+		// Minimum execution time: 3_607_000 picoseconds.
+		Weight::from_parts(1_979_323, 3635)
+			// Standard Error: 1_018
+			.saturating_add(Weight::from_parts(1_196_162, 0).saturating_mul(k.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into())))
@@ -1493,10 +1493,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `328 + c * (1 ±0)`
 		//  Estimated: `6266 + c * (1 ±0)`
-		// Minimum execution time: 21_285_000 picoseconds.
-		Weight::from_parts(21_918_340, 6266)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(391, 0).saturating_mul(c.into()))
+		// Minimum execution time: 21_056_000 picoseconds.
+		Weight::from_parts(21_633_895, 6266)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(390, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
@@ -1507,8 +1507,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `440`
 		//  Estimated: `6380`
-		// Minimum execution time: 13_274_000 picoseconds.
-		Weight::from_parts(13_810_000, 6380)
+		// Minimum execution time: 12_860_000 picoseconds.
+		Weight::from_parts(13_525_000, 6380)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1522,8 +1522,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `352`
 		//  Estimated: `6292`
-		// Minimum execution time: 47_886_000 picoseconds.
-		Weight::from_parts(49_631_000, 6292)
+		// Minimum execution time: 46_926_000 picoseconds.
+		Weight::from_parts(47_828_000, 6292)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1535,8 +1535,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `594`
 		//  Estimated: `6534`
-		// Minimum execution time: 56_799_000 picoseconds.
-		Weight::from_parts(58_731_000, 6534)
+		// Minimum execution time: 55_081_000 picoseconds.
+		Weight::from_parts(56_899_000, 6534)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -1546,8 +1546,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1627`
-		// Minimum execution time: 2_534_000 picoseconds.
-		Weight::from_parts(2_640_000, 1627)
+		// Minimum execution time: 2_480_000 picoseconds.
+		Weight::from_parts(2_663_000, 1627)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1559,8 +1559,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `166`
 		//  Estimated: `3631`
-		// Minimum execution time: 12_738_000 picoseconds.
-		Weight::from_parts(13_132_000, 3631)
+		// Minimum execution time: 12_115_000 picoseconds.
+		Weight::from_parts(12_506_000, 3631)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -1570,8 +1570,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `3607`
-		// Minimum execution time: 4_846_000 picoseconds.
-		Weight::from_parts(5_136_000, 3607)
+		// Minimum execution time: 4_757_000 picoseconds.
+		Weight::from_parts(5_082_000, 3607)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0)
@@ -1582,8 +1582,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `167`
 		//  Estimated: `3632`
-		// Minimum execution time: 6_418_000 picoseconds.
-		Weight::from_parts(6_640_000, 3632)
+		// Minimum execution time: 6_017_000 picoseconds.
+		Weight::from_parts(6_421_000, 3632)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0)
@@ -1594,8 +1594,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `3607`
-		// Minimum execution time: 6_540_000 picoseconds.
-		Weight::from_parts(6_779_000, 3607)
+		// Minimum execution time: 6_238_000 picoseconds.
+		Weight::from_parts(6_587_000, 3607)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1620,10 +1620,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `804 + c * (1 ±0)`
 		//  Estimated: `9217 + c * (1 ±0)`
-		// Minimum execution time: 293_893_000 picoseconds.
-		Weight::from_parts(291_073_317, 9217)
-			// Standard Error: 76
-			.saturating_add(Weight::from_parts(33_770, 0).saturating_mul(c.into()))
+		// Minimum execution time: 288_968_000 picoseconds.
+		Weight::from_parts(267_291_922, 9217)
+			// Standard Error: 78
+			.saturating_add(Weight::from_parts(34_879, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(11_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into()))
@@ -1655,14 +1655,14 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `326`
 		//  Estimated: `8740`
-		// Minimum execution time: 3_860_814_000 picoseconds.
-		Weight::from_parts(735_131_841, 8740)
-			// Standard Error: 143
-			.saturating_add(Weight::from_parts(100_168, 0).saturating_mul(c.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_454, 0).saturating_mul(i.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_580, 0).saturating_mul(s.into()))
+		// Minimum execution time: 3_948_426_000 picoseconds.
+		Weight::from_parts(440_017_623, 8740)
+			// Standard Error: 555
+			.saturating_add(Weight::from_parts(71_483, 0).saturating_mul(c.into()))
+			// Standard Error: 66
+			.saturating_add(Weight::from_parts(1_831, 0).saturating_mul(i.into()))
+			// Standard Error: 66
+			.saturating_add(Weight::from_parts(1_694, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(14_u64))
 			.saturating_add(RocksDbWeight::get().writes(10_u64))
 	}
@@ -1692,12 +1692,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `563`
 		//  Estimated: `8982`
-		// Minimum execution time: 2_003_060_000 picoseconds.
-		Weight::from_parts(2_022_270_000, 8982)
-			// Standard Error: 26
-			.saturating_add(Weight::from_parts(815, 0).saturating_mul(i.into()))
-			// Standard Error: 26
-			.saturating_add(Weight::from_parts(774, 0).saturating_mul(s.into()))
+		// Minimum execution time: 2_011_037_000 picoseconds.
+		Weight::from_parts(2_047_025_000, 8982)
+			// Standard Error: 28
+			.saturating_add(Weight::from_parts(968, 0).saturating_mul(i.into()))
+			// Standard Error: 28
+			.saturating_add(Weight::from_parts(780, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(13_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
@@ -1721,8 +1721,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `829`
 		//  Estimated: `9244`
-		// Minimum execution time: 207_310_000 picoseconds.
-		Weight::from_parts(217_885_000, 9244)
+		// Minimum execution time: 202_190_000 picoseconds.
+		Weight::from_parts(209_378_000, 9244)
 			.saturating_add(RocksDbWeight::get().reads(11_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -1743,10 +1743,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `145`
 		//  Estimated: `6085`
-		// Minimum execution time: 278_462_000 picoseconds.
-		Weight::from_parts(306_084_905, 6085)
-			// Standard Error: 74
-			.saturating_add(Weight::from_parts(64_311, 0).saturating_mul(c.into()))
+		// Minimum execution time: 271_161_000 picoseconds.
+		Weight::from_parts(279_218_977, 6085)
+			// Standard Error: 80
+			.saturating_add(Weight::from_parts(33_973, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -1767,10 +1767,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `145`
 		//  Estimated: `6085`
-		// Minimum execution time: 286_348_000 picoseconds.
-		Weight::from_parts(314_351_958, 6085)
-			// Standard Error: 113
-			.saturating_add(Weight::from_parts(65_816, 0).saturating_mul(c.into()))
+		// Minimum execution time: 273_684_000 picoseconds.
+		Weight::from_parts(284_348_722, 6085)
+			// Standard Error: 79
+			.saturating_add(Weight::from_parts(34_205, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -1788,8 +1788,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `315`
 		//  Estimated: `3780`
-		// Minimum execution time: 46_378_000 picoseconds.
-		Weight::from_parts(51_280_000, 3780)
+		// Minimum execution time: 45_150_000 picoseconds.
+		Weight::from_parts(46_780_000, 3780)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -1805,8 +1805,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `552`
 		//  Estimated: `8967`
-		// Minimum execution time: 34_914_000 picoseconds.
-		Weight::from_parts(36_577_000, 8967)
+		// Minimum execution time: 34_738_000 picoseconds.
+		Weight::from_parts(35_918_000, 8967)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
@@ -1815,10 +1815,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_199_000 picoseconds.
-		Weight::from_parts(10_051_151, 0)
-			// Standard Error: 244
-			.saturating_add(Weight::from_parts(248_249, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_094_000 picoseconds.
+		Weight::from_parts(10_253_702, 0)
+			// Standard Error: 223
+			.saturating_add(Weight::from_parts(250_757, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::ContractInfoOf` (r:1600 w:0)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
@@ -1827,10 +1827,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `509 + r * (77 ±0)`
 		//  Estimated: `1467 + r * (2552 ±0)`
-		// Minimum execution time: 9_100_000 picoseconds.
-		Weight::from_parts(9_183_000, 1467)
-			// Standard Error: 5_858
-			.saturating_add(Weight::from_parts(3_223_076, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_102_000 picoseconds.
+		Weight::from_parts(9_238_000, 1467)
+			// Standard Error: 6_076
+			.saturating_add(Weight::from_parts(3_293_012, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2552).saturating_mul(r.into()))
 	}
@@ -1841,10 +1841,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `517 + r * (170 ±0)`
 		//  Estimated: `1468 + r * (2645 ±0)`
-		// Minimum execution time: 9_032_000 picoseconds.
-		Weight::from_parts(9_167_000, 1468)
-			// Standard Error: 6_232
-			.saturating_add(Weight::from_parts(4_098_301, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_255_000 picoseconds.
+		Weight::from_parts(9_406_000, 1468)
+			// Standard Error: 6_826
+			.saturating_add(Weight::from_parts(4_205_039, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2645).saturating_mul(r.into()))
 	}
@@ -1853,50 +1853,50 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_625_000 picoseconds.
-		Weight::from_parts(12_135_747, 0)
-			// Standard Error: 237
-			.saturating_add(Weight::from_parts(410_404, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_388_000 picoseconds.
+		Weight::from_parts(9_322_209, 0)
+			// Standard Error: 269
+			.saturating_add(Weight::from_parts(358_189, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller_is_origin(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_425_000 picoseconds.
-		Weight::from_parts(12_591_828, 0)
-			// Standard Error: 74
-			.saturating_add(Weight::from_parts(110_710, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_300_000 picoseconds.
+		Weight::from_parts(10_268_326, 0)
+			// Standard Error: 72
+			.saturating_add(Weight::from_parts(104_650, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller_is_root(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_456_000 picoseconds.
-		Weight::from_parts(12_321_553, 0)
-			// Standard Error: 56
-			.saturating_add(Weight::from_parts(91_591, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_162_000 picoseconds.
+		Weight::from_parts(10_059_984, 0)
+			// Standard Error: 87
+			.saturating_add(Weight::from_parts(87_627, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_701_000 picoseconds.
-		Weight::from_parts(11_708_796, 0)
-			// Standard Error: 219
-			.saturating_add(Weight::from_parts(306_175, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_193_000 picoseconds.
+		Weight::from_parts(10_160_715, 0)
+			// Standard Error: 152
+			.saturating_add(Weight::from_parts(263_703, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_gas_left(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_740_000 picoseconds.
-		Weight::from_parts(29_870_801, 0)
-			// Standard Error: 1_014
-			.saturating_add(Weight::from_parts(273_579, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_109_000 picoseconds.
+		Weight::from_parts(9_766_924, 0)
+			// Standard Error: 212
+			.saturating_add(Weight::from_parts(291_694, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
@@ -1905,10 +1905,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `3599`
-		// Minimum execution time: 9_330_000 picoseconds.
-		Weight::from_parts(4_407_249, 3599)
-			// Standard Error: 880
-			.saturating_add(Weight::from_parts(1_563_659, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_463_000 picoseconds.
+		Weight::from_parts(9_541_000, 3599)
+			// Standard Error: 3_075
+			.saturating_add(Weight::from_parts(1_606_043, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -1916,40 +1916,40 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_093_000 picoseconds.
-		Weight::from_parts(11_445_920, 0)
-			// Standard Error: 257
-			.saturating_add(Weight::from_parts(247_014, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_080_000 picoseconds.
+		Weight::from_parts(8_121_924, 0)
+			// Standard Error: 198
+			.saturating_add(Weight::from_parts(247_527, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_minimum_balance(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_640_000 picoseconds.
-		Weight::from_parts(11_383_646, 0)
-			// Standard Error: 191
-			.saturating_add(Weight::from_parts(246_675, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_393_000 picoseconds.
+		Weight::from_parts(9_999_247, 0)
+			// Standard Error: 169
+			.saturating_add(Weight::from_parts(244_563, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_block_number(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_213_000 picoseconds.
-		Weight::from_parts(5_816_185, 0)
-			// Standard Error: 1_041
-			.saturating_add(Weight::from_parts(258_058, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_236_000 picoseconds.
+		Weight::from_parts(9_561_435, 0)
+			// Standard Error: 195
+			.saturating_add(Weight::from_parts(239_812, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_now(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_213_000 picoseconds.
-		Weight::from_parts(8_653_735, 0)
-			// Standard Error: 243
-			.saturating_add(Weight::from_parts(258_657, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_259_000 picoseconds.
+		Weight::from_parts(10_353_960, 0)
+			// Standard Error: 216
+			.saturating_add(Weight::from_parts(243_754, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
 	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `Measured`)
@@ -1958,10 +1958,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `67`
 		//  Estimated: `1552`
-		// Minimum execution time: 8_986_000 picoseconds.
-		Weight::from_parts(13_032_048, 1552)
-			// Standard Error: 441
-			.saturating_add(Weight::from_parts(672_398, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_145_000 picoseconds.
+		Weight::from_parts(16_524_937, 1552)
+			// Standard Error: 438
+			.saturating_add(Weight::from_parts(666_821, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -1969,10 +1969,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_095_000 picoseconds.
-		Weight::from_parts(9_927_560, 0)
-			// Standard Error: 306
-			.saturating_add(Weight::from_parts(173_975, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_179_000 picoseconds.
+		Weight::from_parts(8_893_261, 0)
+			// Standard Error: 215
+			.saturating_add(Weight::from_parts(175_586, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
@@ -1995,10 +1995,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `872`
 		//  Estimated: `9287`
-		// Minimum execution time: 275_801_000 picoseconds.
-		Weight::from_parts(150_079_707, 9287)
-			// Standard Error: 16
-			.saturating_add(Weight::from_parts(1_350, 0).saturating_mul(n.into()))
+		// Minimum execution time: 259_315_000 picoseconds.
+		Weight::from_parts(137_461_362, 9287)
+			// Standard Error: 18
+			.saturating_add(Weight::from_parts(1_388, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(11_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -2007,20 +2007,20 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_947_000 picoseconds.
-		Weight::from_parts(9_306_624, 0)
-			// Standard Error: 15_511
-			.saturating_add(Weight::from_parts(1_285_075, 0).saturating_mul(r.into()))
+		// Minimum execution time: 8_919_000 picoseconds.
+		Weight::from_parts(9_465_187, 0)
+			// Standard Error: 32_481
+			.saturating_add(Weight::from_parts(992_912, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_return_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_298_000 picoseconds.
-		Weight::from_parts(11_227_690, 0)
+		// Minimum execution time: 10_244_000 picoseconds.
+		Weight::from_parts(10_654_989, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(314, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(315, 0).saturating_mul(n.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
@@ -2049,10 +2049,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `4805 + r * (2121 ±0)`
 		//  Estimated: `13220 + r * (81321 ±0)`
-		// Minimum execution time: 297_431_000 picoseconds.
-		Weight::from_parts(323_150_773, 13220)
-			// Standard Error: 801_052
-			.saturating_add(Weight::from_parts(250_140_426, 0).saturating_mul(r.into()))
+		// Minimum execution time: 303_028_000 picoseconds.
+		Weight::from_parts(323_032_397, 13220)
+			// Standard Error: 848_406
+			.saturating_add(Weight::from_parts(242_988_002, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(11_u64))
 			.saturating_add(RocksDbWeight::get().reads((36_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
@@ -2066,10 +2066,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `1561`
-		// Minimum execution time: 9_410_000 picoseconds.
-		Weight::from_parts(14_925_916, 1561)
-			// Standard Error: 546
-			.saturating_add(Weight::from_parts(1_125_307, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_227_000 picoseconds.
+		Weight::from_parts(14_055_283, 1561)
+			// Standard Error: 758
+			.saturating_add(Weight::from_parts(1_104_996, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 1600]`.
@@ -2077,10 +2077,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_145_000 picoseconds.
-		Weight::from_parts(28_024_125, 0)
-			// Standard Error: 3_571
-			.saturating_add(Weight::from_parts(1_945_568, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_483_000 picoseconds.
+		Weight::from_parts(20_453_059, 0)
+			// Standard Error: 3_271
+			.saturating_add(Weight::from_parts(1_713_468, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `System::EventTopics` (r:4 w:4)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -2090,12 +2090,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `990 + t * (2475 ±0)`
-		// Minimum execution time: 23_782_000 picoseconds.
-		Weight::from_parts(15_056_196, 990)
-			// Standard Error: 12_451
-			.saturating_add(Weight::from_parts(2_368_774, 0).saturating_mul(t.into()))
+		// Minimum execution time: 23_517_000 picoseconds.
+		Weight::from_parts(15_543_153, 990)
+			// Standard Error: 13_814
+			.saturating_add(Weight::from_parts(2_357_255, 0).saturating_mul(t.into()))
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(621, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(573, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into())))
 			.saturating_add(Weight::from_parts(0, 2475).saturating_mul(t.into()))
@@ -2105,20 +2105,20 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_218_000 picoseconds.
-		Weight::from_parts(9_606_404, 0)
-			// Standard Error: 124
-			.saturating_add(Weight::from_parts(103_251, 0).saturating_mul(r.into()))
+		// Minimum execution time: 8_448_000 picoseconds.
+		Weight::from_parts(9_845_841, 0)
+			// Standard Error: 58
+			.saturating_add(Weight::from_parts(105_442, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `i` is `[0, 1048576]`.
 	fn seal_debug_message_per_byte(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_339_000 picoseconds.
-		Weight::from_parts(10_509_000, 0)
+		// Minimum execution time: 10_869_000 picoseconds.
+		Weight::from_parts(11_024_000, 0)
 			// Standard Error: 8
-			.saturating_add(Weight::from_parts(979, 0).saturating_mul(i.into()))
+			.saturating_add(Weight::from_parts(991, 0).saturating_mul(i.into()))
 	}
 	/// Storage: `Skipped::Metadata` (r:0 w:0)
 	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -2127,10 +2127,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 9_117_000 picoseconds.
-		Weight::from_parts(9_198_000, 105)
-			// Standard Error: 8_364
-			.saturating_add(Weight::from_parts(5_091_383, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_119_000 picoseconds.
+		Weight::from_parts(9_270_000, 105)
+			// Standard Error: 8_960
+			.saturating_add(Weight::from_parts(5_215_976, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
@@ -2142,10 +2142,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `245`
 		//  Estimated: `245`
-		// Minimum execution time: 18_421_000 picoseconds.
-		Weight::from_parts(19_028_299, 245)
+		// Minimum execution time: 17_833_000 picoseconds.
+		Weight::from_parts(18_940_114, 245)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(299, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(316, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -2156,10 +2156,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 18_234_000 picoseconds.
-		Weight::from_parts(19_744_697, 248)
-			// Standard Error: 4
-			.saturating_add(Weight::from_parts(98, 0).saturating_mul(n.into()))
+		// Minimum execution time: 18_428_000 picoseconds.
+		Weight::from_parts(19_372_726, 248)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(85, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -2171,10 +2171,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 9_170_000 picoseconds.
-		Weight::from_parts(9_308_000, 105)
-			// Standard Error: 8_089
-			.saturating_add(Weight::from_parts(5_061_647, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_335_000 picoseconds.
+		Weight::from_parts(9_459_000, 105)
+			// Standard Error: 9_156
+			.saturating_add(Weight::from_parts(5_166_621, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
@@ -2186,10 +2186,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 20_640_000 picoseconds.
-		Weight::from_parts(22_163_262, 248)
+		// Minimum execution time: 18_308_000 picoseconds.
+		Weight::from_parts(19_421_433, 248)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(57, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(83, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -2201,10 +2201,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 11_636_000 picoseconds.
-		Weight::from_parts(11_694_000, 105)
-			// Standard Error: 6_493
-			.saturating_add(Weight::from_parts(4_442_054, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_184_000 picoseconds.
+		Weight::from_parts(9_245_000, 105)
+			// Standard Error: 8_442
+			.saturating_add(Weight::from_parts(4_543_991, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
 	}
@@ -2215,10 +2215,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 20_197_000 picoseconds.
-		Weight::from_parts(21_863_984, 248)
+		// Minimum execution time: 17_194_000 picoseconds.
+		Weight::from_parts(19_032_094, 248)
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(633, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(590, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
@@ -2229,10 +2229,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 12_347_000 picoseconds.
-		Weight::from_parts(12_455_000, 105)
-			// Standard Error: 7_068
-			.saturating_add(Weight::from_parts(4_325_197, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_380_000 picoseconds.
+		Weight::from_parts(9_501_000, 105)
+			// Standard Error: 7_029
+			.saturating_add(Weight::from_parts(4_406_690, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
 	}
@@ -2243,10 +2243,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 16_739_000 picoseconds.
-		Weight::from_parts(18_124_871, 248)
+		// Minimum execution time: 16_400_000 picoseconds.
+		Weight::from_parts(17_993_941, 248)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(92, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(68, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
@@ -2257,10 +2257,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `108 + r * (150 ±0)`
 		//  Estimated: `105 + r * (151 ±0)`
-		// Minimum execution time: 9_034_000 picoseconds.
-		Weight::from_parts(9_222_000, 105)
-			// Standard Error: 8_163
-			.saturating_add(Weight::from_parts(5_166_827, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_109_000 picoseconds.
+		Weight::from_parts(9_265_000, 105)
+			// Standard Error: 8_733
+			.saturating_add(Weight::from_parts(5_218_811, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 151).saturating_mul(r.into()))
@@ -2272,10 +2272,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `248 + n * (1 ±0)`
 		//  Estimated: `248 + n * (1 ±0)`
-		// Minimum execution time: 19_437_000 picoseconds.
-		Weight::from_parts(20_878_358, 248)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(625, 0).saturating_mul(n.into()))
+		// Minimum execution time: 18_423_000 picoseconds.
+		Weight::from_parts(20_025_132, 248)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(628, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
@@ -2287,10 +2287,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `770`
 		//  Estimated: `4221 + r * (2475 ±0)`
-		// Minimum execution time: 9_514_000 picoseconds.
-		Weight::from_parts(9_593_000, 4221)
-			// Standard Error: 24_003
-			.saturating_add(Weight::from_parts(33_351_110, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_043_000 picoseconds.
+		Weight::from_parts(9_176_000, 4221)
+			// Standard Error: 12_901
+			.saturating_add(Weight::from_parts(32_297_438, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
@@ -2312,10 +2312,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `520 + r * (170 ±0)`
 		//  Estimated: `6463 + r * (2646 ±0)`
-		// Minimum execution time: 9_725_000 picoseconds.
-		Weight::from_parts(9_811_000, 6463)
-			// Standard Error: 116_763
-			.saturating_add(Weight::from_parts(243_431_319, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_299_000 picoseconds.
+		Weight::from_parts(9_427_000, 6463)
+			// Standard Error: 101_949
+			.saturating_add(Weight::from_parts(244_143_691, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
@@ -2336,11 +2336,11 @@ impl WeightInfo for () {
 	fn seal_delegate_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + r * (527 ±0)`
-		//  Estimated: `6447 + r * (2583 ±10)`
-		// Minimum execution time: 9_177_000 picoseconds.
-		Weight::from_parts(9_315_000, 6447)
-			// Standard Error: 153_655
-			.saturating_add(Weight::from_parts(244_535_660, 0).saturating_mul(r.into()))
+		//  Estimated: `6447 + r * (2583 ±3)`
+		// Minimum execution time: 9_359_000 picoseconds.
+		Weight::from_parts(9_425_000, 6447)
+			// Standard Error: 193_938
+			.saturating_add(Weight::from_parts(244_904_401, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2583).saturating_mul(r.into()))
@@ -2363,12 +2363,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `699 + t * (277 ±0)`
 		//  Estimated: `6639 + t * (3458 ±0)`
-		// Minimum execution time: 215_422_000 picoseconds.
-		Weight::from_parts(120_075_010, 6639)
-			// Standard Error: 2_612_201
-			.saturating_add(Weight::from_parts(41_816_738, 0).saturating_mul(t.into()))
+		// Minimum execution time: 214_588_000 picoseconds.
+		Weight::from_parts(129_214_481, 6639)
+			// Standard Error: 2_468_090
+			.saturating_add(Weight::from_parts(32_514_739, 0).saturating_mul(t.into()))
 			// Standard Error: 3
-			.saturating_add(Weight::from_parts(421, 0).saturating_mul(c.into()))
+			.saturating_add(Weight::from_parts(418, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(t.into())))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
@@ -2394,10 +2394,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1097 + r * (188 ±0)`
 		//  Estimated: `6990 + r * (2664 ±0)`
-		// Minimum execution time: 350_266_000 picoseconds.
-		Weight::from_parts(357_097_000, 6990)
-			// Standard Error: 248_976
-			.saturating_add(Weight::from_parts(336_010_851, 0).saturating_mul(r.into()))
+		// Minimum execution time: 352_925_000 picoseconds.
+		Weight::from_parts(355_487_000, 6990)
+			// Standard Error: 261_528
+			.saturating_add(Weight::from_parts(337_897_187, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
@@ -2425,12 +2425,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `760 + t * (104 ±0)`
 		//  Estimated: `6719 + t * (2549 ±1)`
-		// Minimum execution time: 1_866_294_000 picoseconds.
-		Weight::from_parts(900_604_598, 6719)
-			// Standard Error: 19
-			.saturating_add(Weight::from_parts(1_064, 0).saturating_mul(i.into()))
-			// Standard Error: 19
-			.saturating_add(Weight::from_parts(1_194, 0).saturating_mul(s.into()))
+		// Minimum execution time: 1_870_832_000 picoseconds.
+		Weight::from_parts(949_110_245, 6719)
+			// Standard Error: 24
+			.saturating_add(Weight::from_parts(1_084, 0).saturating_mul(i.into()))
+			// Standard Error: 24
+			.saturating_add(Weight::from_parts(1_206, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(10_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
@@ -2442,120 +2442,120 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_058_000 picoseconds.
-		Weight::from_parts(11_642_576, 0)
-			// Standard Error: 191
-			.saturating_add(Weight::from_parts(266_977, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_142_000 picoseconds.
+		Weight::from_parts(9_787_220, 0)
+			// Standard Error: 236
+			.saturating_add(Weight::from_parts(267_264, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 11_002_000 picoseconds.
-		Weight::from_parts(11_221_000, 0)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_056, 0).saturating_mul(n.into()))
+		// Minimum execution time: 10_485_000 picoseconds.
+		Weight::from_parts(1_870_250, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_073, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_keccak_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_152_000 picoseconds.
-		Weight::from_parts(10_803_041, 0)
-			// Standard Error: 266
-			.saturating_add(Weight::from_parts(686_345, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_005_000 picoseconds.
+		Weight::from_parts(8_943_937, 0)
+			// Standard Error: 1_385
+			.saturating_add(Weight::from_parts(665_970, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_955_000 picoseconds.
-		Weight::from_parts(4_617_649, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(3_337, 0).saturating_mul(n.into()))
+		// Minimum execution time: 10_965_000 picoseconds.
+		Weight::from_parts(11_749_746, 0)
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(3_330, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_116_000 picoseconds.
-		Weight::from_parts(9_898_975, 0)
-			// Standard Error: 287
-			.saturating_add(Weight::from_parts(331_984, 0).saturating_mul(r.into()))
+		// Minimum execution time: 10_400_000 picoseconds.
+		Weight::from_parts(13_857_546, 0)
+			// Standard Error: 246
+			.saturating_add(Weight::from_parts(326_483, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_220_000 picoseconds.
-		Weight::from_parts(2_971_363, 0)
+		// Minimum execution time: 10_064_000 picoseconds.
+		Weight::from_parts(1_885_873, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_192, 0).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(1_196, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_128(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_962_000 picoseconds.
-		Weight::from_parts(9_956_006, 0)
-			// Standard Error: 282
-			.saturating_add(Weight::from_parts(336_862, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_068_000 picoseconds.
+		Weight::from_parts(17_169_362, 0)
+			// Standard Error: 1_580
+			.saturating_add(Weight::from_parts(330_195, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `n` is `[0, 1048576]`.
 	fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 10_248_000 picoseconds.
-		Weight::from_parts(910_460, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_201, 0).saturating_mul(n.into()))
+		// Minimum execution time: 10_169_000 picoseconds.
+		Weight::from_parts(2_159_277, 0)
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(1_200, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `n` is `[0, 125697]`.
 	fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 53_691_000 picoseconds.
-		Weight::from_parts(53_572_040, 0)
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(4_636, 0).saturating_mul(n.into()))
+		// Minimum execution time: 53_863_000 picoseconds.
+		Weight::from_parts(54_902_157, 0)
+			// Standard Error: 9
+			.saturating_add(Weight::from_parts(4_588, 0).saturating_mul(n.into()))
 	}
 	/// The range of component `r` is `[0, 160]`.
 	fn seal_sr25519_verify(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_019_000 picoseconds.
-		Weight::from_parts(21_443_365, 0)
-			// Standard Error: 7_796
-			.saturating_add(Weight::from_parts(40_945_218, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_107_000 picoseconds.
+		Weight::from_parts(24_115_247, 0)
+			// Standard Error: 7_427
+			.saturating_add(Weight::from_parts(41_116_827, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 160]`.
 	fn seal_ecdsa_recover(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_029_000 picoseconds.
-		Weight::from_parts(28_109_572, 0)
-			// Standard Error: 9_684
-			.saturating_add(Weight::from_parts(45_446_659, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_404_000 picoseconds.
+		Weight::from_parts(31_763_334, 0)
+			// Standard Error: 9_833
+			.saturating_add(Weight::from_parts(45_529_880, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `r` is `[0, 160]`.
 	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_204_000 picoseconds.
-		Weight::from_parts(11_165_863, 0)
-			// Standard Error: 3_380
-			.saturating_add(Weight::from_parts(11_640_284, 0).saturating_mul(r.into()))
+		// Minimum execution time: 11_409_000 picoseconds.
+		Weight::from_parts(15_072_835, 0)
+			// Standard Error: 4_591
+			.saturating_add(Weight::from_parts(11_619_283, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::CodeInfoOf` (r:1536 w:1536)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
@@ -2570,10 +2570,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + r * (926 ±0)`
 		//  Estimated: `8969 + r * (3047 ±10)`
-		// Minimum execution time: 9_285_000 picoseconds.
-		Weight::from_parts(9_384_000, 8969)
-			// Standard Error: 43_985
-			.saturating_add(Weight::from_parts(25_318_514, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_269_000 picoseconds.
+		Weight::from_parts(9_372_000, 8969)
+			// Standard Error: 61_354
+			.saturating_add(Weight::from_parts(26_280_409, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 3047).saturating_mul(r.into()))
@@ -2585,10 +2585,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `274 + r * (78 ±0)`
 		//  Estimated: `1265 + r * (2553 ±0)`
-		// Minimum execution time: 9_204_000 picoseconds.
-		Weight::from_parts(15_422_169, 1265)
-			// Standard Error: 10_310
-			.saturating_add(Weight::from_parts(5_137_638, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_103_000 picoseconds.
+		Weight::from_parts(14_404_626, 1265)
+			// Standard Error: 9_343
+			.saturating_add(Weight::from_parts(5_154_949, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2553).saturating_mul(r.into()))
@@ -2600,10 +2600,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `275 + r * (78 ±0)`
 		//  Estimated: `990 + r * (2568 ±0)`
-		// Minimum execution time: 9_103_000 picoseconds.
-		Weight::from_parts(15_303_019, 990)
-			// Standard Error: 9_932
-			.saturating_add(Weight::from_parts(4_311_398, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_219_000 picoseconds.
+		Weight::from_parts(14_085_456, 990)
+			// Standard Error: 11_206
+			.saturating_add(Weight::from_parts(4_422_122, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2568).saturating_mul(r.into()))
@@ -2629,10 +2629,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `861 + r * (3 ±0)`
 		//  Estimated: `9282 + r * (3 ±0)`
-		// Minimum execution time: 256_302_000 picoseconds.
-		Weight::from_parts(285_379_160, 9282)
-			// Standard Error: 420
-			.saturating_add(Weight::from_parts(167_664, 0).saturating_mul(r.into()))
+		// Minimum execution time: 269_333_000 picoseconds.
+		Weight::from_parts(286_922_618, 9282)
+			// Standard Error: 443
+			.saturating_add(Weight::from_parts(168_869, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(11_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into()))
@@ -2642,10 +2642,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_796_000 picoseconds.
-		Weight::from_parts(11_892_860, 0)
-			// Standard Error: 123
-			.saturating_add(Weight::from_parts(80_644, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_328_000 picoseconds.
+		Weight::from_parts(14_019_583, 0)
+			// Standard Error: 171
+			.saturating_add(Weight::from_parts(88_751, 0).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::Nonce` (r:1 w:0)
 	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
@@ -2654,10 +2654,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `219`
 		//  Estimated: `1704`
-		// Minimum execution time: 9_136_000 picoseconds.
-		Weight::from_parts(12_974_461, 1704)
-			// Standard Error: 72
-			.saturating_add(Weight::from_parts(75_956, 0).saturating_mul(r.into()))
+		// Minimum execution time: 9_267_000 picoseconds.
+		Weight::from_parts(15_304_284, 1704)
+			// Standard Error: 1_219
+			.saturating_add(Weight::from_parts(74_696, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// The range of component `r` is `[0, 5000]`.
@@ -2665,9 +2665,9 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 887_000 picoseconds.
-		Weight::from_parts(876_155, 0)
-			// Standard Error: 22
-			.saturating_add(Weight::from_parts(14_839, 0).saturating_mul(r.into()))
+		// Minimum execution time: 911_000 picoseconds.
+		Weight::from_parts(449_666, 0)
+			// Standard Error: 26
+			.saturating_add(Weight::from_parts(14_797, 0).saturating_mul(r.into()))
 	}
 }
-- 
GitLab