diff --git a/substrate/frame/contracts/src/benchmarking/code.rs b/substrate/frame/contracts/src/benchmarking/code.rs
index aa44cc3976a2c344a762c8c411cf2883b8e25f29..96eb5e501d0686cb5bd5c8b3fc8aade62439f666 100644
--- a/substrate/frame/contracts/src/benchmarking/code.rs
+++ b/substrate/frame/contracts/src/benchmarking/code.rs
@@ -512,7 +512,7 @@ pub fn max_pages<T: Config>() -> u32 {
 
 fn inject_gas_metering<T: Config>(module: Module) -> Module {
 	let schedule = T::Schedule::get();
-	let gas_rules = schedule.rules(&module, Determinism::Deterministic);
+	let gas_rules = schedule.rules(Determinism::Deterministic);
 	let backend = gas_metering::host_function::Injector::new("seal0", "gas");
 	gas_metering::inject(module, backend, &gas_rules).unwrap()
 }
diff --git a/substrate/frame/contracts/src/benchmarking/mod.rs b/substrate/frame/contracts/src/benchmarking/mod.rs
index c18d9ffb4b584637cba9256cee00aed3292f3a48..873314981b7ed6c2bc21d3dfb3c3f40a08abac6e 100644
--- a/substrate/frame/contracts/src/benchmarking/mod.rs
+++ b/substrate/frame/contracts/src/benchmarking/mod.rs
@@ -31,7 +31,6 @@ use self::{
 };
 use crate::{
 	exec::{AccountIdOf, FixSizedKey, VarSizedKey},
-	schedule::{API_BENCHMARK_BATCH_SIZE, INSTR_BENCHMARK_BATCH_SIZE},
 	wasm::CallFlags,
 	Pallet as Contracts, *,
 };
@@ -47,10 +46,17 @@ use sp_std::prelude::*;
 use wasm_instrument::parity_wasm::elements::{BlockType, BrTableData, Instruction, ValueType};
 
 /// How many batches we do per API benchmark.
-const API_BENCHMARK_BATCHES: u32 = 20;
+///
+/// This is picked more or less arbitrary. We experimented with different numbers until
+/// the results appeared to be stable. Reducing the number would speed up the benchmarks
+/// but might make the results less precise.
+const API_BENCHMARK_BATCHES: u32 = 1600;
 
-/// How many batches we do per Instruction benchmark.
-const INSTR_BENCHMARK_BATCHES: u32 = 50;
+/// How many batches we do per instruction benchmark.
+///
+/// Same rationale as for [`API_BENCHMARK_BATCHES`]. The number is bigger because instruction
+/// benchmarks are faster.
+const INSTR_BENCHMARK_BATCHES: u32 = 5000;
 
 /// An instantiated and deployed contract.
 struct Contract<T: Config> {
@@ -244,7 +250,7 @@ benchmarks! {
 	// the sandbox. This does **not** include the actual execution for which the gas meter
 	// is responsible. This is achieved by generating all code to the `deploy` function
 	// which is in the wasm module but not executed on `call`.
-	// The results are supposed to be used as `call_with_code_kb(c) - call_with_code_kb(0)`.
+	// The results are supposed to be used as `call_with_code_per_byte(c) - call_with_code_per_byte(0)`.
 	#[pov_mode = Measured]
 	call_with_code_per_byte {
 		let c in 0 .. T::MaxCodeLen::get();
@@ -263,9 +269,9 @@ benchmarks! {
 	// we don't benchmark the actual execution of this code but merely what it takes to load
 	// a code of that size into the sandbox.
 	//
-	// `c`: Size of the code in kilobytes.
-	// `i`: Size of the input in kilobytes.
-	// `s`: Size of the salt in kilobytes.
+	// `c`: Size of the code in bytes.
+	// `i`: Size of the input in bytes.
+	// `s`: Size of the salt in bytes.
 	//
 	// # Note
 	//
@@ -299,8 +305,8 @@ benchmarks! {
 	}
 
 	// Instantiate uses a dummy contract constructor to measure the overhead of the instantiate.
-	// `i`: Size of the input in kilobytes.
-	// `s`: Size of the salt in kilobytes.
+	// `i`: Size of the input in bytes.
+	// `s`: Size of the salt in bytes.
 	#[pov_mode = Measured]
 	instantiate {
 		let i in 0 .. code::max_pages::<T>() * 64 * 1024;
@@ -333,7 +339,7 @@ benchmarks! {
 	// The dummy contract used here does not do this. The costs for the data copy is billed as
 	// part of `seal_input`. The costs for invoking a contract of a specific size are not part
 	// of this benchmark because we cannot know the size of the contract when issuing a call
-	// transaction. See `invoke_per_code_kb` for this.
+	// transaction. See `call_with_code_per_byte` for this.
 	#[pov_mode = Measured]
 	call {
 		let data = vec![42u8; 1024];
@@ -362,7 +368,7 @@ benchmarks! {
 
 	// This constructs a contract that is maximal expensive to instrument.
 	// It creates a maximum number of metering blocks per byte.
-	// `c`: Size of the code in kilobytes.
+	// `c`: Size of the code in bytes.
 	//
 	// # Note
 	//
@@ -421,7 +427,7 @@ benchmarks! {
 	seal_caller {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_caller", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_caller", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -429,7 +435,7 @@ benchmarks! {
 	#[pov_mode = Measured]
 	seal_is_contract {
 		let r in 0 .. API_BENCHMARK_BATCHES;
-		let accounts = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let accounts = (0 .. r)
 			.map(|n| account::<T::AccountId>("account", n, 0))
 			.collect::<Vec<_>>();
 		let account_len = accounts.get(0).map(|i| i.encode().len()).unwrap_or(0);
@@ -448,7 +454,7 @@ benchmarks! {
 					value: accounts_bytes
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, account_len as u32), // address_ptr
 				Regular(Instruction::Call(0)),
 				Regular(Instruction::Drop),
@@ -467,7 +473,7 @@ benchmarks! {
 	#[pov_mode = Measured]
 	seal_code_hash {
 		let r in 0 .. API_BENCHMARK_BATCHES;
-		let accounts = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let accounts = (0 .. r)
 			.map(|n| account::<T::AccountId>("account", n, 0))
 			.collect::<Vec<_>>();
 		let account_len = accounts.get(0).map(|i| i.encode().len()).unwrap_or(0);
@@ -492,7 +498,7 @@ benchmarks! {
 					value: accounts_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(36, account_len as u32), // address_ptr
 				Regular(Instruction::I32Const(4)), // ptr to output data
 				Regular(Instruction::I32Const(0)), // ptr to output length
@@ -514,7 +520,7 @@ benchmarks! {
 	seal_own_code_hash {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_own_code_hash", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_own_code_hash", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -530,7 +536,7 @@ benchmarks! {
 				params: vec![],
 				return_type: Some(ValueType::I32),
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::Call(0),
 				Instruction::Drop,
 			])),
@@ -544,7 +550,7 @@ benchmarks! {
 	seal_address {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_address", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_address", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -553,7 +559,7 @@ benchmarks! {
 	seal_gas_left {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_gas_left", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_gas_left", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -562,7 +568,7 @@ benchmarks! {
 	seal_balance {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_balance", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_balance", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -571,7 +577,7 @@ benchmarks! {
 	seal_value_transferred {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_value_transferred", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_value_transferred", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -580,7 +586,7 @@ benchmarks! {
 	seal_minimum_balance {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_minimum_balance", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_minimum_balance", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -589,7 +595,7 @@ benchmarks! {
 	seal_block_number {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_block_number", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_block_number", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -598,7 +604,7 @@ benchmarks! {
 	seal_now {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::getter(
-			"seal0", "seal_now", r * API_BENCHMARK_BATCH_SIZE
+			"seal0", "seal_now", r
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -619,7 +625,7 @@ benchmarks! {
 				offset: 0,
 				value: (pages * 64 * 1024 - 4).to_le_bytes().to_vec(),
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I64Const(500_000),
 				Instruction::I32Const(4),
 				Instruction::I32Const(0),
@@ -641,7 +647,7 @@ benchmarks! {
 				params: vec![ValueType::I64],
 				return_type: None,
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I64Const(42),
 				Instruction::Call(0),
 			])),
@@ -669,7 +675,7 @@ benchmarks! {
 					value: 0u32.to_le_bytes().to_vec(),
 				},
 			],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I32Const(4), // ptr where to store output
 				Instruction::I32Const(0), // ptr to length
 				Instruction::Call(0),
@@ -681,10 +687,9 @@ benchmarks! {
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
 	#[pov_mode = Measured]
-	seal_input_per_kb {
-		let n in 0 .. code::max_pages::<T>() * 64;
-		let pages = code::max_pages::<T>();
-		let buffer_size = pages * 64 * 1024 - 4;
+	seal_input_per_byte {
+		let n in 0 .. code::max_pages::<T>() * 64 * 1024;
+		let buffer_size = code::max_pages::<T>() * 64 * 1024 - 4;
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -699,15 +704,16 @@ benchmarks! {
 					value: buffer_size.to_le_bytes().to_vec(),
 				},
 			],
-			call_body: Some(body::repeated(API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::plain(vec![
 				Instruction::I32Const(4), // ptr where to store output
 				Instruction::I32Const(0), // ptr to length
 				Instruction::Call(0),
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
-		let data = vec![42u8; (n * 1024).min(buffer_size) as usize];
+		let data = vec![42u8; n.min(buffer_size) as usize];
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, data)
 
@@ -738,8 +744,8 @@ benchmarks! {
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
 	#[pov_mode = Measured]
-	seal_return_per_kb {
-		let n in 0 .. code::max_pages::<T>() * 64;
+	seal_return_per_byte {
+		let n in 0 .. code::max_pages::<T>() * 64 * 1024;
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -751,7 +757,7 @@ benchmarks! {
 			call_body: Some(body::plain(vec![
 				Instruction::I32Const(0), // flags
 				Instruction::I32Const(0), // data_ptr
-				Instruction::I32Const((n * 1024) as i32), // data_len
+				Instruction::I32Const(n as i32), // data_len
 				Instruction::Call(0),
 				Instruction::End,
 			])),
@@ -827,7 +833,7 @@ benchmarks! {
 					value: (pages * 64 * 1024 - subject_len - 4).to_le_bytes().to_vec(),
 				},
 			],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I32Const(4), // subject_ptr
 				Instruction::I32Const(subject_len as i32), // subject_len
 				Instruction::I32Const((subject_len + 4) as i32), // out_ptr
@@ -853,7 +859,7 @@ benchmarks! {
 				params: vec![ValueType::I32, ValueType::I32, ValueType::I32, ValueType::I32],
 				return_type: None,
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I32Const(0), // topics_ptr
 				Instruction::I32Const(0), // topics_len
 				Instruction::I32Const(0), // data_ptr
@@ -868,16 +874,13 @@ benchmarks! {
 
 	// Benchmark the overhead that topics generate.
 	// `t`: Number of topics
-	// `n`: Size of event payload in kb
+	// `n`: Size of event payload in bytes
 	#[pov_mode = Measured]
-	seal_deposit_event_per_topic_and_kb {
+	seal_deposit_event_per_topic_and_byte {
 		let t in 0 .. T::Schedule::get().limits.event_topics;
-		let n in 0 .. T::Schedule::get().limits.payload_len / 1024;
-		let mut topics = (0..API_BENCHMARK_BATCH_SIZE)
-			.map(|n| (n * t..n * t + t).map(|i| T::Hashing::hash_of(&i)).collect::<Vec<_>>().encode())
-			.peekable();
-		let topics_len = topics.peek().map(|i| i.len()).unwrap_or(0);
-		let topics = topics.flatten().collect();
+		let n in 0 .. T::Schedule::get().limits.payload_len;
+		let topics = (0..t).map(|i| T::Hashing::hash_of(&i)).collect::<Vec<_>>().encode();
+		let topics_len = topics.len();
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -892,12 +895,13 @@ benchmarks! {
 					value: topics,
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, topics_len as u32), // topics_ptr
-				Regular(Instruction::I32Const(topics_len as i32)), // topics_len
-				Regular(Instruction::I32Const(0)), // data_ptr
-				Regular(Instruction::I32Const((n * 1024) as i32)), // data_len
-				Regular(Instruction::Call(0)),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // topics_ptr
+				Instruction::I32Const(topics_len as i32), // topics_len
+				Instruction::I32Const(0), // data_ptr
+				Instruction::I32Const(n as i32), // data_len
+				Instruction::Call(0),
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
@@ -919,7 +923,7 @@ benchmarks! {
 				params: vec![ValueType::I32, ValueType::I32],
 				return_type: Some(ValueType::I32),
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I32Const(0), // value_ptr
 				Instruction::I32Const(0), // value_len
 				Instruction::Call(0),
@@ -942,10 +946,10 @@ benchmarks! {
 		.result?;
 	}
 
-	seal_debug_message_per_kb {
-		// Vary size of input in kilobytes up to maximum allowed contract memory
+	seal_debug_message_per_byte {
+		// Vary size of input in bytes up to maximum allowed contract memory
 		// or maximum allowed debug buffer size, whichever is less.
-		let i in 0 .. (T::Schedule::get().limits.memory_pages * 64).min(T::MaxDebugBufferLen::get() / 1024);
+		let i in 0 .. (T::Schedule::get().limits.memory_pages * 64 * 1024).min(T::MaxDebugBufferLen::get());
 		// We benchmark versus messages containing printable ASCII codes.
 		// About 1Kb goes to the instrumented contract code instructions,
 		// whereas all the space left we use for the initialization of the debug messages data.
@@ -969,7 +973,7 @@ benchmarks! {
 			],
 			call_body: Some(body::plain(vec![
 				Instruction::I32Const(0), // value_ptr
-				Instruction::I32Const((i * 1024) as i32), // value_len increments by i Kb
+				Instruction::I32Const(i as i32), // value_len
 				Instruction::Call(0),
 				Instruction::Drop,
 				Instruction::End,
@@ -994,15 +998,20 @@ benchmarks! {
 	// Only the overhead of calling the function itself with minimal arguments.
 	// The contract is a bit more complex because it needs to use different keys in order
 	// to generate unique storage accesses. However, it is still dominated by the storage
-	// accesses. We store all the keys that we are about to write at beforehand
+	// accesses. We store something at all the keys that we are about to write to
 	// because re-writing at an existing key is always more expensive than writing
-	// it at a virgin key.
+	// to an key with no data behind it.
+	//
+	// # Note
+	//
+	// We need to use a smaller `r` because the keys are big and writing them all into the wasm
+	// might exceed the code size.
 	#[skip_meta]
 	#[pov_mode = Measured]
 	seal_set_storage {
 		let r in 0 .. API_BENCHMARK_BATCHES/2;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let keys = (0 .. r)
 				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
 						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
 		.collect::<Vec<_>>();
@@ -1021,7 +1030,7 @@ benchmarks! {
 					value: keys_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, max_key_len as u32), // key_ptr
 				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
 				Regular(Instruction::I32Const(0)), // value_ptr
@@ -1047,14 +1056,10 @@ benchmarks! {
 
 	#[skip_meta]
 	#[pov_mode = Measured]
-	seal_set_storage_per_new_kb {
-		let n in 0 .. T::Schedule::get().limits.payload_len / 2048; // half of the max payload_len in kb
+	seal_set_storage_per_new_byte {
+		let n in 0 .. T::Schedule::get().limits.payload_len;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. n * API_BENCHMARK_BATCH_SIZE)
-				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
-						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
-		.collect::<Vec<_>>();
-		let key_bytes = keys.iter().flatten().cloned().collect::<Vec<_>>();
+		let key = vec![0u8; max_key_len as usize];
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -1066,43 +1071,38 @@ benchmarks! {
 			data_segments: vec![
 				DataSegment {
 					offset: 0,
-					value: key_bytes,
+					value: key.clone(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
-				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
-				Regular(Instruction::I32Const(0)), // value_ptr
-				Regular(Instruction::I32Const((n * 2048) as i32)), // value_len increments by 2kb up to max payload_len
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // key_ptr
+				Instruction::I32Const(max_key_len as i32), // key_len
+				Instruction::I32Const(0), // value_ptr
+				Instruction::I32Const(n as i32), // value_len
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let info = instance.info()?;
-		for key in keys {
-			info.write(
-				&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
-				Some(vec![]),
-				None,
-				false,
-			)
-			.map_err(|_| "Failed to write to storage during setup.")?;
-		}
+		info.write(
+			&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
+			Some(vec![]),
+			None,
+			false,
+		)
+		.map_err(|_| "Failed to write to storage during setup.")?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
 	#[skip_meta]
 	#[pov_mode = Measured]
-	seal_set_storage_per_old_kb {
-		let n in 0 .. T::Schedule::get().limits.payload_len / 2048; // half of the max payload_len in kb
+	seal_set_storage_per_old_byte {
+		let n in 0 .. T::Schedule::get().limits.payload_len;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. n * API_BENCHMARK_BATCH_SIZE)
-				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
-						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
-		.collect::<Vec<_>>();
-		let key_bytes = keys.iter().flatten().cloned().collect::<Vec<_>>();
+		let key = vec![0u8; max_key_len as usize];
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -1114,30 +1114,29 @@ benchmarks! {
 			data_segments: vec![
 				DataSegment {
 					offset: 0,
-					value: key_bytes,
+					value: key.clone(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
-				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
-				Regular(Instruction::I32Const(0)), // value_ptr
-				Regular(Instruction::I32Const(0)), // value_len is 0 as testing vs pre-existing value len
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // key_ptr
+				Instruction::I32Const(max_key_len as i32), // key_len
+				Instruction::I32Const(0), // value_ptr
+				Instruction::I32Const(0), // value_len is 0 as testing vs pre-existing value len
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let info = instance.info()?;
-		for key in keys {
-			info.write(
-				&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
-				Some(vec![42u8; (n * 2048) as usize]), // value_len increments by 2kb up to max payload_len
-				None,
-				false,
-			)
-			.map_err(|_| "Failed to write to storage during setup.")?;
-		}
+		info.write(
+			&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
+			Some(vec![42u8; n as usize]),
+			None,
+			false,
+		)
+		.map_err(|_| "Failed to write to storage during setup.")?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
@@ -1150,7 +1149,7 @@ benchmarks! {
 	seal_clear_storage {
 		let r in 0 .. API_BENCHMARK_BATCHES/2;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let keys = (0 .. r)
 				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
 						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
 		.collect::<Vec<_>>();
@@ -1169,7 +1168,7 @@ benchmarks! {
 					value: key_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, max_key_len as u32), // key_ptr
 				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
 				Regular(Instruction::Call(0)),
@@ -1194,14 +1193,10 @@ benchmarks! {
 
 	#[skip_meta]
 	#[pov_mode = Measured]
-	seal_clear_storage_per_kb {
-		let n in 0 .. T::Schedule::get().limits.payload_len / 2048; // half of the max payload_len in kb
+	seal_clear_storage_per_byte {
+		let n in 0 .. T::Schedule::get().limits.payload_len;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. n * API_BENCHMARK_BATCH_SIZE)
-				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
-						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
-		.collect::<Vec<_>>();
-		let key_bytes = keys.iter().flatten().cloned().collect::<Vec<_>>();
+		let key = vec![0u8; max_key_len as usize];
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -1213,28 +1208,27 @@ benchmarks! {
 			data_segments: vec![
 				DataSegment {
 					offset: 0,
-					value: key_bytes,
+					value: key.clone(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
-				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // key_ptr
+				Instruction::I32Const(max_key_len as i32), // key_len
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let info = instance.info()?;
-		for key in keys {
-			info.write(
-				&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
-				Some(vec![42u8; (n * 2048) as usize]), // value_len increments by 2kb up to max payload_len
-				None,
-				false,
-			)
-			.map_err(|_| "Failed to write to storage during setup.")?;
-		}
+		info.write(
+			&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
+			Some(vec![42u8; n as usize]),
+			None,
+			false,
+		)
+		.map_err(|_| "Failed to write to storage during setup.")?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
@@ -1244,7 +1238,7 @@ benchmarks! {
 	seal_get_storage {
 		let r in 0 .. API_BENCHMARK_BATCHES/2;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let keys = (0 .. r)
 				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
 						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
 		.collect::<Vec<_>>();
@@ -1268,8 +1262,8 @@ benchmarks! {
 					value: T::Schedule::get().limits.payload_len.to_le_bytes().into(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
+			call_body: Some(body::repeated_dyn(r, vec![
+				Counter(0, max_key_len), // key_ptr
 				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
 				Regular(Instruction::I32Const((key_bytes_len + 4) as i32)), // out_ptr
 				Regular(Instruction::I32Const(key_bytes_len as i32)), // out_len_ptr
@@ -1295,15 +1289,10 @@ benchmarks! {
 
 	#[skip_meta]
 	#[pov_mode = Measured]
-	seal_get_storage_per_kb {
-		let n in 0 .. T::Schedule::get().limits.payload_len / 2048; // half of the max payload_len in kb
+	seal_get_storage_per_byte {
+		let n in 0 .. T::Schedule::get().limits.payload_len;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. n * API_BENCHMARK_BATCH_SIZE)
-				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
-						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
-		.collect::<Vec<_>>();
-		let key_bytes = keys.iter().flatten().cloned().collect::<Vec<_>>();
-		let key_bytes_len = key_bytes.len();
+		let key = vec![0u8; max_key_len as usize];
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -1315,34 +1304,33 @@ benchmarks! {
 			data_segments: vec![
 				DataSegment {
 					offset: 0,
-					value: key_bytes,
+					value: key.clone(),
 				},
 				DataSegment {
-					offset: key_bytes_len as u32,
+					offset: max_key_len,
 					value: T::Schedule::get().limits.payload_len.to_le_bytes().into(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
-				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
-				Regular(Instruction::I32Const((key_bytes_len + 4) as i32)), // out_ptr
-				Regular(Instruction::I32Const(key_bytes_len as i32)), // out_len_ptr
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // key_ptr
+				Instruction::I32Const(max_key_len as i32), // key_len
+				Instruction::I32Const((max_key_len + 4) as i32), // out_ptr
+				Instruction::I32Const(max_key_len as i32), // out_len_ptr
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let info = instance.info()?;
-		for key in keys {
-			info.write(
-				&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
-				Some(vec![42u8; (n * 2048) as usize]), // value_len increments by 2kb up to max payload_len
-				None,
-				false,
-			)
-			.map_err(|_| "Failed to write to storage during setup.")?;
-		}
+		info.write(
+			&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
+			Some(vec![42u8; n as usize]),
+			None,
+			false,
+		)
+		.map_err(|_| "Failed to write to storage during setup.")?;
 		<ContractInfoOf<T>>::insert(&instance.account_id, info);
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -1353,7 +1341,7 @@ benchmarks! {
 	seal_contains_storage {
 		let r in 0 .. API_BENCHMARK_BATCHES/2;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let keys = (0 .. r)
 				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
 						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
 		.collect::<Vec<_>>();
@@ -1373,7 +1361,7 @@ benchmarks! {
 					value: key_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, max_key_len as u32), // key_ptr
 				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
 				Regular(Instruction::Call(0)),
@@ -1398,14 +1386,10 @@ benchmarks! {
 
 	#[skip_meta]
 	#[pov_mode = Measured]
-	seal_contains_storage_per_kb {
-		let n in 0 .. T::Schedule::get().limits.payload_len / 2048; // half of the max payload_len in kb
+	seal_contains_storage_per_byte {
+		let n in 0 .. T::Schedule::get().limits.payload_len;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. n * API_BENCHMARK_BATCH_SIZE)
-				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
-						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
-		.collect::<Vec<_>>();
-		let key_bytes = keys.iter().flatten().cloned().collect::<Vec<_>>();
+		let key = vec![0u8; max_key_len as usize];
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -1417,28 +1401,27 @@ benchmarks! {
 			data_segments: vec![
 				DataSegment {
 					offset: 0,
-					value: key_bytes,
+					value: key.clone(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
-				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // key_ptr
+				Instruction::I32Const(max_key_len as i32), // key_len
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let info = instance.info()?;
-		for key in keys {
-			info.write(
-				&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
-				Some(vec![42u8; (n * 2048) as usize]), // value_len increments by 2kb up to max payload_len
-				None,
-				false,
-			)
-			.map_err(|_| "Failed to write to storage during setup.")?;
-		}
+		info.write(
+			&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
+			Some(vec![42u8; n as usize]),
+			None,
+			false,
+		)
+		.map_err(|_| "Failed to write to storage during setup.")?;
 		<ContractInfoOf<T>>::insert(&instance.account_id, info);
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -1448,7 +1431,7 @@ benchmarks! {
 	seal_take_storage {
 		let r in 0 .. API_BENCHMARK_BATCHES/2;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. r * API_BENCHMARK_BATCH_SIZE)
+		let keys = (0 .. r)
 				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
 						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
 		.collect::<Vec<_>>();
@@ -1472,7 +1455,7 @@ benchmarks! {
 					value: T::Schedule::get().limits.payload_len.to_le_bytes().into(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, max_key_len as u32), // key_ptr
 				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
 				Regular(Instruction::I32Const((key_bytes_len + 4) as i32)), // out_ptr
@@ -1499,15 +1482,10 @@ benchmarks! {
 
 	#[skip_meta]
 	#[pov_mode = Measured]
-	seal_take_storage_per_kb {
-		let n in 0 .. T::Schedule::get().limits.payload_len / 2048; // half of the max payload_len in kb
+	seal_take_storage_per_byte {
+		let n in 0 .. T::Schedule::get().limits.payload_len;
 		let max_key_len = T::MaxStorageKeyLen::get();
-		let keys = (0 .. n * API_BENCHMARK_BATCH_SIZE)
-				.map(|n| { let mut h = T::Hashing::hash_of(&n).as_ref().to_vec();
-						h.resize(max_key_len.try_into().unwrap(), n.to_le_bytes()[0]); h })
-		.collect::<Vec<_>>();
-		let key_bytes = keys.iter().flatten().cloned().collect::<Vec<_>>();
-		let key_bytes_len = key_bytes.len();
+		let key = vec![0u8; max_key_len as usize];
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
@@ -1519,34 +1497,33 @@ benchmarks! {
 			data_segments: vec![
 				DataSegment {
 					offset: 0,
-					value: key_bytes,
+					value: key.clone(),
 				},
 				DataSegment {
-					offset: key_bytes_len as u32,
+					offset: max_key_len,
 					value: T::Schedule::get().limits.payload_len.to_le_bytes().into(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Counter(0, max_key_len as u32), // key_ptr
-				Regular(Instruction::I32Const(max_key_len as i32)), // key_len
-				Regular(Instruction::I32Const((key_bytes_len + 4) as i32)), // out_ptr
-				Regular(Instruction::I32Const(key_bytes_len as i32)), // out_len_ptr
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0), // key_ptr
+				Instruction::I32Const(max_key_len as i32), // key_len
+				Instruction::I32Const((max_key_len + 4) as i32), // out_ptr
+				Instruction::I32Const(max_key_len as i32), // out_len_ptr
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let info = instance.info()?;
-		for key in keys {
-			info.write(
-				&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
-				Some(vec![42u8; (n * 2048) as usize]), // value_len increments by 2kb up to max payload_len
-				None,
-				false,
-			)
-			.map_err(|_| "Failed to write to storage during setup.")?;
-		}
+		info.write(
+			&VarSizedKey::<T>::try_from(key).map_err(|e| "Key has wrong length")?,
+			Some(vec![42u8; n as usize]),
+			None,
+			false,
+		)
+		.map_err(|_| "Failed to write to storage during setup.")?;
 		<ContractInfoOf<T>>::insert(&instance.account_id, info);
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -1555,7 +1532,7 @@ benchmarks! {
 	#[pov_mode = Measured]
 	seal_transfer {
 		let r in 0 .. API_BENCHMARK_BATCHES;
-		let accounts = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let accounts = (0..r)
 			.map(|i| account::<T::AccountId>("receiver", i, 0))
 			.collect::<Vec<_>>();
 		let account_len = accounts.get(0).map(|i| i.encode().len()).unwrap_or(0);
@@ -1582,7 +1559,7 @@ benchmarks! {
 					value: account_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(value_len as u32, account_len as u32), // account_ptr
 				Regular(Instruction::I32Const(account_len as i32)), // account_len
 				Regular(Instruction::I32Const(0)), // value_ptr
@@ -1593,7 +1570,7 @@ benchmarks! {
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
-		instance.set_balance(value * (r * API_BENCHMARK_BATCH_SIZE + 1).into());
+		instance.set_balance(value * (r + 1).into());
 		let origin = RawOrigin::Signed(instance.caller.clone());
 		for account in &accounts {
 			assert_eq!(T::Currency::total_balance(account), 0u32.into());
@@ -1610,7 +1587,7 @@ benchmarks! {
 	seal_call {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let dummy_code = WasmModule::<T>::dummy_with_bytes(0);
-		let callees = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let callees = (0..r)
 			.map(|i| Contract::with_index(i + 1, dummy_code.clone(), vec![]))
 			.collect::<Result<Vec<_>, _>>()?;
 		let callee_len = callees.get(0).map(|i| i.account_id.encode().len()).unwrap_or(0);
@@ -1646,7 +1623,7 @@ benchmarks! {
 					value: callee_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(value_len as u32, callee_len as u32), // callee_ptr
 				Regular(Instruction::I32Const(callee_len as i32)), // callee_len
 				Regular(Instruction::I64Const(0)), // gas
@@ -1668,7 +1645,7 @@ benchmarks! {
 	#[pov_mode = Measured]
 	seal_delegate_call {
 		let r in 0 .. API_BENCHMARK_BATCHES;
-		let hashes = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let hashes = (0..r)
 			.map(|i| {
 				let code = WasmModule::<T>::dummy_with_bytes(i);
 				Contracts::<T>::store_code_raw(code.code, whitelisted_caller())?;
@@ -1701,7 +1678,7 @@ benchmarks! {
 					value: hashes_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Regular(Instruction::I32Const(0)), // flags
 				Counter(hashes_offset as u32, hash_len as u32), // code_hash_ptr
 				Regular(Instruction::I32Const(0)), // input_data_ptr
@@ -1719,14 +1696,10 @@ benchmarks! {
 	}: call(origin, callee, 0u32.into(), Weight::MAX, None, vec![])
 
 	#[pov_mode = Measured]
-	seal_call_per_transfer_clone_kb {
+	seal_call_per_transfer_clone_byte {
 		let t in 0 .. 1;
-		let c in 0 .. code::max_pages::<T>() * 64;
-		let callees = (0..API_BENCHMARK_BATCH_SIZE)
-			.map(|i| Contract::with_index(i + 1, <WasmModule<T>>::dummy(), vec![]))
-			.collect::<Result<Vec<_>, _>>()?;
-		let callee_len = callees.get(0).map(|i| i.account_id.encode().len()).unwrap_or(0);
-		let callee_bytes = callees.iter().flat_map(|x| x.account_id.encode()).collect::<Vec<_>>();
+		let c in 0 .. code::max_pages::<T>() * 64 * 1024;
+		let callee = Contract::with_index(5, <WasmModule<T>>::dummy(), vec![])?;
 		let value: BalanceOf<T> = t.into();
 		let value_bytes = value.encode();
 		let value_len = value_bytes.len();
@@ -1754,33 +1727,34 @@ benchmarks! {
 				},
 				DataSegment {
 					offset: value_len as u32,
-					value: callee_bytes,
+					value: callee.account_id.encode(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Regular(Instruction::I32Const(CallFlags::CLONE_INPUT.bits() as i32)), // flags
-				Counter(value_len as u32, callee_len as u32), // callee_ptr
-				Regular(Instruction::I64Const(0)), // gas
-				Regular(Instruction::I32Const(0)), // value_ptr
-				Regular(Instruction::I32Const(0)), // input_data_ptr
-				Regular(Instruction::I32Const(0)), // input_data_len
-				Regular(Instruction::I32Const(SENTINEL as i32)), // output_ptr
-				Regular(Instruction::I32Const(0)), // output_len_ptr
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::Drop),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(CallFlags::CLONE_INPUT.bits() as i32), // flags
+				Instruction::I32Const(value_len as i32), // callee_ptr
+				Instruction::I64Const(0), // gas
+				Instruction::I32Const(0), // value_ptr
+				Instruction::I32Const(0), // input_data_ptr
+				Instruction::I32Const(0), // input_data_len
+				Instruction::I32Const(SENTINEL as i32), // output_ptr
+				Instruction::I32Const(0), // output_len_ptr
+				Instruction::Call(0),
+				Instruction::Drop,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
-		let bytes = vec![42; (c * 1024) as usize];
+		let bytes = vec![42; c as usize];
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, bytes)
 
 	// We assume that every instantiate sends at least the minimum balance.
 	#[pov_mode = Measured]
 	seal_instantiate {
 		let r in 0 .. API_BENCHMARK_BATCHES;
-		let hashes = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let hashes = (0..r)
 			.map(|i| {
 				let code = WasmModule::<T>::from(ModuleDefinition {
 					memory: Some(ImportedMemory::max::<T>()),
@@ -1848,7 +1822,7 @@ benchmarks! {
 					value: addr_len.to_le_bytes().into(),
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(hashes_offset as u32, hash_len as u32), // code_hash_ptr
 				Regular(Instruction::I32Const(hash_len as i32)), // code_hash_len
 				Regular(Instruction::I64Const(0)), // gas
@@ -1868,7 +1842,7 @@ benchmarks! {
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
-		instance.set_balance((value + Pallet::<T>::min_balance()) * (r * API_BENCHMARK_BATCH_SIZE + 1).into());
+		instance.set_balance((value + Pallet::<T>::min_balance()) * (r + 1).into());
 		let origin = RawOrigin::Signed(instance.caller.clone());
 		let callee = instance.addr.clone();
 		let addresses = hashes
@@ -1892,37 +1866,24 @@ benchmarks! {
 	}
 
 	#[pov_mode = Measured]
-	seal_instantiate_per_transfer_input_salt_kb {
+	seal_instantiate_per_transfer_input_salt_byte {
 		let t in 0 .. 1;
-		let i in 0 .. (code::max_pages::<T>() - 1) * 64;
-		let s in 0 .. (code::max_pages::<T>() - 1) * 64;
+		let i in 0 .. (code::max_pages::<T>() - 1) * 64 * 1024;
+		let s in 0 .. (code::max_pages::<T>() - 1) * 64 * 1024;
 		let callee_code = WasmModule::<T>::dummy();
 		let hash = callee_code.hash;
 		let hash_bytes = callee_code.hash.encode();
 		let hash_len = hash_bytes.len();
 		Contracts::<T>::store_code_raw(callee_code.code, whitelisted_caller())?;
-		let salts = (0..API_BENCHMARK_BATCH_SIZE).map(|x| x.encode()).collect::<Vec<_>>();
-		let salt_len = salts.get(0).map(|x| x.len()).unwrap_or(0);
-		let salt_bytes = salts.iter().cloned().flatten().collect::<Vec<_>>();
-		let salts_len = salt_bytes.len();
-		let value: BalanceOf<T> = t.into();
+		let value: BalanceOf<T> =  t.into();
 		let value_bytes = value.encode();
-		let value_len = value_bytes.len();
-		let addr_len = T::AccountId::max_encoded_len();
-
-		// offsets where to place static data in contract memory
-		let salt_offset = 0;
-		let value_offset = salts_len;
-		let hash_offset = value_offset + value_len;
-		let addr_len_offset = hash_offset + hash_len;
 
 		let code = WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
 			imported_functions: vec![ImportedFunction {
-				module: "seal0",
+				module: "seal1",
 				name: "seal_instantiate",
 				params: vec![
-					ValueType::I32,
 					ValueType::I32,
 					ValueType::I64,
 					ValueType::I32,
@@ -1934,73 +1895,63 @@ benchmarks! {
 					ValueType::I32,
 					ValueType::I32,
 					ValueType::I32,
-					ValueType::I32,
 				],
 				return_type: Some(ValueType::I32),
 			}],
 			data_segments: vec![
 				DataSegment {
-					offset: salt_offset as u32,
-					value: salt_bytes,
-				},
-				DataSegment {
-					offset: value_offset as u32,
-					value: value_bytes,
-				},
-				DataSegment {
-					offset: hash_offset as u32,
+					offset: 0,
 					value: hash_bytes,
 				},
 				DataSegment {
-					offset: addr_len_offset as u32,
-					value: (addr_len as u32).to_le_bytes().into(),
+					offset: hash_len as u32,
+					value: value_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(API_BENCHMARK_BATCH_SIZE, vec![
-				Regular(Instruction::I32Const(hash_offset as i32)), // code_hash_ptr
-				Regular(Instruction::I32Const(hash_len as i32)), // code_hash_len
-				Regular(Instruction::I64Const(0)), // gas
-				Regular(Instruction::I32Const(value_offset as i32)), // value_ptr
-				Regular(Instruction::I32Const(value_len as i32)), // value_len
-				Counter(salt_offset as u32, salt_len as u32), // input_data_ptr
-				Regular(Instruction::I32Const((i * 1024) as i32)), // input_data_len
-				Regular(Instruction::I32Const((addr_len_offset + addr_len) as i32)), // address_ptr
-				Regular(Instruction::I32Const(addr_len_offset as i32)), // address_len_ptr
-				Regular(Instruction::I32Const(SENTINEL as i32)), // output_ptr
-				Regular(Instruction::I32Const(0)), // output_len_ptr
-				Counter(salt_offset as u32, salt_len as u32), // salt_ptr
-				Regular(Instruction::I32Const((s * 1024) as i32)), // salt_len
-				Regular(Instruction::Call(0)),
-				Regular(Instruction::I32Eqz),
-				Regular(Instruction::If(BlockType::NoResult)),
-				Regular(Instruction::Nop),
-				Regular(Instruction::Else),
-				Regular(Instruction::Unreachable),
-				Regular(Instruction::End),
+			call_body: Some(body::plain(vec![
+				Instruction::I32Const(0 as i32), // code_hash_ptr
+				Instruction::I64Const(0), // gas
+				Instruction::I32Const(hash_len as i32), // value_ptr
+				Instruction::I32Const(0 as i32), // input_data_ptr
+				Instruction::I32Const(i as i32), // input_data_len
+				Instruction::I32Const(SENTINEL as i32), // address_ptr
+				Instruction::I32Const(0), // address_len_ptr
+				Instruction::I32Const(SENTINEL as i32), // output_ptr
+				Instruction::I32Const(0), // output_len_ptr
+				Instruction::I32Const(0 as i32), // salt_ptr
+				Instruction::I32Const(s as i32), // salt_len
+				Instruction::Call(0),
+				Instruction::I32Eqz,
+				Instruction::If(BlockType::NoResult),
+				Instruction::Nop,
+				Instruction::Else,
+				Instruction::Unreachable,
+				Instruction::End,
+				Instruction::End,
 			])),
 			.. Default::default()
 		});
 		let instance = Contract::<T>::new(code, vec![])?;
-		instance.set_balance((value + Pallet::<T>::min_balance()) * (API_BENCHMARK_BATCH_SIZE + 1).into());
+		instance.set_balance(value + (Pallet::<T>::min_balance() * 2u32.into()));
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
 	// Only the overhead of calling the function itself with minimal arguments.
 	#[pov_mode = Measured]
 	seal_hash_sha2_256 {
-		let r in 0 .. 1;
+		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_sha2_256", r * API_BENCHMARK_BATCH_SIZE, 0,
+			"seal_hash_sha2_256", r, 0,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
-	// `n`: Input to hash in kilobytes
+	// `n`: Input to hash in bytes
 	#[pov_mode = Measured]
-	seal_hash_sha2_256_per_kb {
-		let n in 0 .. code::max_pages::<T>() * 64;
+	seal_hash_sha2_256_per_byte {
+		let n in 0 .. code::max_pages::<T>() * 64 * 1024;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_sha2_256", API_BENCHMARK_BATCH_SIZE, n * 1024,
+			"seal_hash_sha2_256", 1, n,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -2008,19 +1959,19 @@ benchmarks! {
 	// Only the overhead of calling the function itself with minimal arguments.
 	#[pov_mode = Measured]
 	seal_hash_keccak_256 {
-		let r in 0 .. 1;
+		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_keccak_256", r * API_BENCHMARK_BATCH_SIZE, 0,
+			"seal_hash_keccak_256", r, 0,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
-	// `n`: Input to hash in kilobytes
+	// `n`: Input to hash in bytes
 	#[pov_mode = Measured]
-	seal_hash_keccak_256_per_kb {
-		let n in 0 .. code::max_pages::<T>() * 64;
+	seal_hash_keccak_256_per_byte {
+		let n in 0 .. code::max_pages::<T>() * 64 * 1024;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_keccak_256", API_BENCHMARK_BATCH_SIZE, n * 1024,
+			"seal_hash_keccak_256", 1, n,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -2028,19 +1979,19 @@ benchmarks! {
 	// Only the overhead of calling the function itself with minimal arguments.
 	#[pov_mode = Measured]
 	seal_hash_blake2_256 {
-		let r in 0 .. 1;
+		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_blake2_256", r * API_BENCHMARK_BATCH_SIZE, 0,
+			"seal_hash_blake2_256", r, 0,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
-	// `n`: Input to hash in kilobytes
+	// `n`: Input to hash in bytes
 	#[pov_mode = Measured]
-	seal_hash_blake2_256_per_kb {
-		let n in 0 .. code::max_pages::<T>() * 64;
+	seal_hash_blake2_256_per_byte {
+		let n in 0 .. code::max_pages::<T>() * 64 * 1024;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_blake2_256", API_BENCHMARK_BATCH_SIZE, n * 1024,
+			"seal_hash_blake2_256", 1, n,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -2048,19 +1999,19 @@ benchmarks! {
 	// Only the overhead of calling the function itself with minimal arguments.
 	#[pov_mode = Measured]
 	seal_hash_blake2_128 {
-		let r in 0 .. 1;
+		let r in 0 .. API_BENCHMARK_BATCHES;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_blake2_128", r * API_BENCHMARK_BATCH_SIZE, 0,
+			"seal_hash_blake2_128", r, 0,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
 
-	// `n`: Input to hash in kilobytes
+	// `n`: Input to hash in bytes
 	#[pov_mode = Measured]
-	seal_hash_blake2_128_per_kb {
-		let n in 0 .. code::max_pages::<T>() * 64;
+	seal_hash_blake2_128_per_byte {
+		let n in 0 .. code::max_pages::<T>() * 64 * 1024;
 		let instance = Contract::<T>::new(WasmModule::hasher(
-			"seal_hash_blake2_128", API_BENCHMARK_BATCH_SIZE, n * 1024,
+			"seal_hash_blake2_128", 1, n,
 		), vec![])?;
 		let origin = RawOrigin::Signed(instance.caller.clone());
 	}: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![])
@@ -2069,11 +2020,11 @@ benchmarks! {
 	// It generates different private keys and signatures for the message "Hello world".
 	#[pov_mode = Measured]
 	seal_ecdsa_recover {
-		let r in 0 .. 1;
+		let r in 0 .. API_BENCHMARK_BATCHES;
 
 		let message_hash = sp_io::hashing::blake2_256("Hello world".as_bytes());
 		let key_type = sp_core::crypto::KeyTypeId(*b"code");
-		let signatures = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let signatures = (0..r)
 			.map(|i| {
 				let pub_key = sp_io::crypto::ecdsa_generate(key_type, None);
 				let sig = sp_io::crypto::ecdsa_sign_prehashed(key_type, &pub_key, &message_hash).expect("Generates signature");
@@ -2101,7 +2052,7 @@ benchmarks! {
 					value: signatures,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(32, 65), // signature_ptr
 				Regular(Instruction::I32Const(0)), // message_hash_ptr
 				Regular(Instruction::I32Const(signatures_bytes_len + 32)), // output_len_ptr
@@ -2118,9 +2069,9 @@ benchmarks! {
 	// generated different ECDSA keys.
 	#[pov_mode = Measured]
 	seal_ecdsa_to_eth_address {
-		let r in 0 .. 1;
+		let r in 0 .. API_BENCHMARK_BATCHES;
 		let key_type = sp_core::crypto::KeyTypeId(*b"code");
-		let pub_keys_bytes = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let pub_keys_bytes = (0..r)
 			.flat_map(|_| {
 				sp_io::crypto::ecdsa_generate(key_type, None).0
 			})
@@ -2140,7 +2091,7 @@ benchmarks! {
 					value: pub_keys_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, 33), // pub_key_ptr
 				Regular(Instruction::I32Const(pub_keys_bytes_len)), // out_ptr
 				Regular(Instruction::Call(0)),
@@ -2155,7 +2106,7 @@ benchmarks! {
 	#[pov_mode = Measured]
 	seal_set_code_hash {
 		let r in 0 .. API_BENCHMARK_BATCHES;
-		let code_hashes = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let code_hashes = (0..r)
 			.map(|i| {
 				let new_code = WasmModule::<T>::dummy_with_bytes(i);
 				Contracts::<T>::store_code_raw(new_code.code, whitelisted_caller())?;
@@ -2182,7 +2133,7 @@ benchmarks! {
 					value: code_hashes_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, code_hash_len as u32), // code_hash_ptr
 				Regular(Instruction::Call(0)),
 				Regular(Instruction::Drop),
@@ -2204,7 +2155,7 @@ benchmarks! {
 				params: vec![],
 				return_type: Some(ValueType::I32),
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::Call(0),
 				Instruction::Drop,
 			])),
@@ -2218,7 +2169,7 @@ benchmarks! {
 	seal_account_reentrance_count {
 		let r in 0 .. API_BENCHMARK_BATCHES;
 		let dummy_code = WasmModule::<T>::dummy_with_bytes(0);
-		let accounts = (0..r * API_BENCHMARK_BATCH_SIZE)
+		let accounts = (0..r)
 			.map(|i| Contract::with_index(i + 1, dummy_code.clone(), vec![]))
 			.collect::<Result<Vec<_>, _>>()?;
 		let account_id_len = accounts.get(0).map(|i| i.account_id.encode().len()).unwrap_or(0);
@@ -2237,7 +2188,7 @@ benchmarks! {
 					value: account_id_bytes,
 				},
 			],
-			call_body: Some(body::repeated_dyn(r * API_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Counter(0, account_id_len as u32), // account_ptr
 				Regular(Instruction::Call(0)),
 				Regular(Instruction::Drop),
@@ -2259,7 +2210,7 @@ benchmarks! {
 				params: vec![],
 				return_type: Some(ValueType::I64),
 			}],
-			call_body: Some(body::repeated(r * API_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::Call(0),
 				Instruction::Drop,
 			])),
@@ -2283,7 +2234,7 @@ benchmarks! {
 	instr_i64const {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI64Repeated(1),
 				Regular(Instruction::Drop),
 			])),
@@ -2299,7 +2250,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomUnaligned(0, code::max_pages::<T>() * 64 * 1024 - 8),
 				Regular(Instruction::I64Load(3, 0)),
 				Regular(Instruction::Drop),
@@ -2316,7 +2267,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomUnaligned(0, code::max_pages::<T>() * 64 * 1024 - 8),
 				RandomI64Repeated(1),
 				Regular(Instruction::I64Store(3, 0)),
@@ -2332,7 +2283,7 @@ benchmarks! {
 	instr_select {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI64Repeated(1),
 				RandomI64Repeated(1),
 				RandomI32(0, 2),
@@ -2350,7 +2301,7 @@ benchmarks! {
 	instr_if {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI32(0, 2),
 				Regular(Instruction::If(BlockType::Value(ValueType::I64))),
 				RandomI64Repeated(1),
@@ -2371,7 +2322,7 @@ benchmarks! {
 	instr_br {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Regular(Instruction::Block(BlockType::NoResult)),
 				Regular(Instruction::Block(BlockType::NoResult)),
 				Regular(Instruction::Block(BlockType::NoResult)),
@@ -2398,7 +2349,7 @@ benchmarks! {
 	instr_br_if {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Regular(Instruction::Block(BlockType::NoResult)),
 				Regular(Instruction::Block(BlockType::NoResult)),
 				Regular(Instruction::Block(BlockType::NoResult)),
@@ -2430,7 +2381,7 @@ benchmarks! {
 			default: 1,
 		});
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				Regular(Instruction::Block(BlockType::NoResult)),
 				Regular(Instruction::Block(BlockType::NoResult)),
 				Regular(Instruction::Block(BlockType::NoResult)),
@@ -2465,21 +2416,22 @@ benchmarks! {
 			default: 0,
 		});
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(INSTR_BENCHMARK_BATCH_SIZE, vec![
-				Regular(Instruction::Block(BlockType::NoResult)),
-				Regular(Instruction::Block(BlockType::NoResult)),
-				Regular(Instruction::Block(BlockType::NoResult)),
-				RandomI32(0, (e + 1) as i32), // Make sure the default entry is also used
-				Regular(Instruction::BrTable(table)),
-				RandomI64Repeated(1),
-				Regular(Instruction::Drop),
-				Regular(Instruction::End),
-				RandomI64Repeated(1),
-				Regular(Instruction::Drop),
-				Regular(Instruction::End),
-				RandomI64Repeated(1),
-				Regular(Instruction::Drop),
-				Regular(Instruction::End),
+			call_body: Some(body::plain(vec![
+				Instruction::Block(BlockType::NoResult),
+				Instruction::Block(BlockType::NoResult),
+				Instruction::Block(BlockType::NoResult),
+				Instruction::I32Const((e / 2) as i32),
+				Instruction::BrTable(table),
+				Instruction::I64Const(42),
+				Instruction::Drop,
+				Instruction::End,
+				Instruction::I64Const(42),
+				Instruction::Drop,
+				Instruction::End,
+				Instruction::I64Const(42),
+				Instruction::Drop,
+				Instruction::End,
+				Instruction::End,
 			])),
 			.. Default::default()
 		}));
@@ -2499,7 +2451,7 @@ benchmarks! {
 				Instruction::Drop,
 				Instruction::End,
 			])),
-			call_body: Some(body::repeated(r * INSTR_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::Call(2), // call aux
 			])),
 			.. Default::default()
@@ -2522,7 +2474,7 @@ benchmarks! {
 				Instruction::Drop,
 				Instruction::End,
 			])),
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI32(0, num_elements as i32),
 				Regular(Instruction::CallIndirect(0, 0)), // we only have one sig: 0
 			])),
@@ -2536,39 +2488,6 @@ benchmarks! {
 		sbox.invoke();
 	}
 
-	// w_instr_call_indirect_per_param = w_bench - 1 * w_param
-	// Calling a function indirectly causes it to go through a thunk function whose runtime
-	// linearly depend on the amount of parameters to this function.
-	// Please note that this is not necessary with a direct call.
-	#[pov_mode = Ignored]
-	instr_call_indirect_per_param {
-		let p in 0 .. T::Schedule::get().limits.parameters;
-		let num_elements = T::Schedule::get().limits.table_size;
-		use self::code::TableSegment;
-		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			// We need to make use of the stack here in order to trigger stack height
-			// instrumentation.
-			aux_body: Some(body::plain(vec![
-				Instruction::I64Const(42),
-				Instruction::Drop,
-				Instruction::End,
-			])),
-			aux_arg_num: p,
-			call_body: Some(body::repeated_dyn(INSTR_BENCHMARK_BATCH_SIZE, vec![
-				RandomI64Repeated(p as usize),
-				RandomI32(0, num_elements as i32),
-				Regular(Instruction::CallIndirect(p.min(1), 0)), // aux signature: 1 or 0
-			])),
-			table: Some(TableSegment {
-				num_elements,
-				function_index: 2, // aux
-			}),
-			.. Default::default()
-		}));
-	}: {
-		sbox.invoke();
-	}
-
 	// w_per_local = w_bench
 	#[pov_mode = Ignored]
 	instr_call_per_local {
@@ -2579,8 +2498,9 @@ benchmarks! {
 		body::inject_locals(&mut aux_body, l);
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
 			aux_body: Some(aux_body),
-			call_body: Some(body::repeated(INSTR_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::plain(vec![
 				Instruction::Call(2), // call aux
+				Instruction::End,
 			])),
 			.. Default::default()
 		}));
@@ -2593,7 +2513,7 @@ benchmarks! {
 	instr_local_get {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let max_locals = T::Schedule::get().limits.locals;
-		let mut call_body = body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+		let mut call_body = body::repeated_dyn(r, vec![
 			RandomGetLocal(0, max_locals),
 			Regular(Instruction::Drop),
 		]);
@@ -2611,7 +2531,7 @@ benchmarks! {
 	instr_local_set {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let max_locals = T::Schedule::get().limits.locals;
-		let mut call_body = body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+		let mut call_body = body::repeated_dyn(r, vec![
 			RandomI64Repeated(1),
 			RandomSetLocal(0, max_locals),
 		]);
@@ -2629,7 +2549,7 @@ benchmarks! {
 	instr_local_tee {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let max_locals = T::Schedule::get().limits.locals;
-		let mut call_body = body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+		let mut call_body = body::repeated_dyn(r, vec![
 			RandomI64Repeated(1),
 			RandomTeeLocal(0, max_locals),
 			Regular(Instruction::Drop),
@@ -2649,7 +2569,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let max_globals = T::Schedule::get().limits.globals;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomGetGlobal(0, max_globals),
 				Regular(Instruction::Drop),
 			])),
@@ -2666,7 +2586,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let max_globals = T::Schedule::get().limits.globals;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI64Repeated(1),
 				RandomSetGlobal(0, max_globals),
 			])),
@@ -2683,7 +2603,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory::max::<T>()),
-			call_body: Some(body::repeated(r * INSTR_BENCHMARK_BATCH_SIZE, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::CurrentMemory(0),
 				Instruction::Drop
 			])),
@@ -2700,14 +2620,13 @@ benchmarks! {
 	// depends on how much memory is already allocated.
 	#[pov_mode = Ignored]
 	instr_memory_grow {
-		let r in 0 .. 1;
-		let max_pages = ImportedMemory::max::<T>().max_pages;
+		let r in 0 .. ImportedMemory::max::<T>().max_pages;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
 			memory: Some(ImportedMemory {
 				min_pages: 0,
-				max_pages,
+				max_pages: ImportedMemory::max::<T>().max_pages,
 			}),
-			call_body: Some(body::repeated(r * max_pages, &[
+			call_body: Some(body::repeated(r, &[
 				Instruction::I32Const(1),
 				Instruction::GrowMemory(0),
 				Instruction::Drop,
@@ -2726,7 +2645,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::unary_instr(
 			Instruction::I64Clz,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2737,7 +2656,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::unary_instr(
 			Instruction::I64Ctz,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2748,7 +2667,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::unary_instr(
 			Instruction::I64Popcnt,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2759,7 +2678,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::unary_instr(
 			Instruction::I64Eqz,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2769,7 +2688,7 @@ benchmarks! {
 	instr_i64extendsi32 {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI32Repeated(1),
 				Regular(Instruction::I64ExtendSI32),
 				Regular(Instruction::Drop),
@@ -2784,7 +2703,7 @@ benchmarks! {
 	instr_i64extendui32 {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::from(ModuleDefinition {
-			call_body: Some(body::repeated_dyn(r * INSTR_BENCHMARK_BATCH_SIZE, vec![
+			call_body: Some(body::repeated_dyn(r, vec![
 				RandomI32Repeated(1),
 				Regular(Instruction::I64ExtendUI32),
 				Regular(Instruction::Drop),
@@ -2800,7 +2719,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::unary_instr(
 			Instruction::I32WrapI64,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2814,7 +2733,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Eq,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2825,7 +2744,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Ne,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2836,7 +2755,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64LtS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2847,7 +2766,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64LtU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2858,7 +2777,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64GtS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2869,7 +2788,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64GtU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2880,7 +2799,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64LeS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2891,7 +2810,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64LeU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2902,7 +2821,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64GeS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2913,7 +2832,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64GeU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2924,7 +2843,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Add,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2935,7 +2854,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Sub,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2946,7 +2865,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Mul,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2957,7 +2876,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64DivS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2968,7 +2887,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64DivU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2979,7 +2898,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64RemS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -2990,7 +2909,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64RemU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3001,7 +2920,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64And,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3012,7 +2931,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Or,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3023,7 +2942,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Xor,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3034,7 +2953,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Shl,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3045,7 +2964,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64ShrS,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3056,7 +2975,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64ShrU,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3067,7 +2986,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Rotl,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
@@ -3078,7 +2997,7 @@ benchmarks! {
 		let r in 0 .. INSTR_BENCHMARK_BATCHES;
 		let mut sbox = Sandbox::from(&WasmModule::<T>::binary_instr(
 			Instruction::I64Rotr,
-			r * INSTR_BENCHMARK_BATCH_SIZE,
+			r,
 		));
 	}: {
 		sbox.invoke();
diff --git a/substrate/frame/contracts/src/schedule.rs b/substrate/frame/contracts/src/schedule.rs
index 71faf08c23d6a516449c09e38900aec8556e3327..796a7f6d3718d218ff33afa0dc1300cf0e431d45 100644
--- a/substrate/frame/contracts/src/schedule.rs
+++ b/substrate/frame/contracts/src/schedule.rs
@@ -27,18 +27,9 @@ use scale_info::TypeInfo;
 #[cfg(feature = "std")]
 use serde::{Deserialize, Serialize};
 use sp_runtime::RuntimeDebug;
-use sp_std::{marker::PhantomData, vec::Vec};
+use sp_std::marker::PhantomData;
 use wasm_instrument::{gas_metering, parity_wasm::elements};
 
-/// How many API calls are executed in a single batch. The reason for increasing the amount
-/// of API calls in batches (per benchmark component increase) is so that the linear regression
-/// has an easier time determining the contribution of that component.
-pub const API_BENCHMARK_BATCH_SIZE: u32 = 80;
-
-/// How many instructions are executed in a single batch. The reasoning is the same
-/// as for `API_BENCHMARK_BATCH_SIZE`.
-pub const INSTR_BENCHMARK_BATCH_SIZE: u32 = 100;
-
 /// Definition of the cost schedule and other parameterizations for the wasm vm.
 ///
 /// Its [`Default`] implementation is the designated way to initialize this type. It uses
@@ -200,7 +191,6 @@ pub struct InstructionWeights<T: Config> {
 	pub br_table_per_entry: u32,
 	pub call: u32,
 	pub call_indirect: u32,
-	pub call_indirect_per_param: u32,
 	pub call_per_local: u32,
 	pub local_get: u32,
 	pub local_set: u32,
@@ -451,66 +441,22 @@ macro_rules! cost_args {
 	}
 }
 
-macro_rules! cost_batched_args {
-	($name:ident, $( $arg: expr ),+) => {
-		cost_args!($name, $( $arg ),+) / u64::from(API_BENCHMARK_BATCH_SIZE)
-	}
-}
-
-macro_rules! cost_instr_no_params_with_batch_size {
-	($name:ident, $batch_size:expr) => {
-		(cost_args!($name, 1).ref_time() / u64::from($batch_size)) as u32
-	};
-}
-
-macro_rules! cost_instr_with_batch_size {
-	($name:ident, $num_params:expr, $batch_size:expr) => {
-		cost_instr_no_params_with_batch_size!($name, $batch_size).saturating_sub(
-			(cost_instr_no_params_with_batch_size!(instr_i64const, $batch_size) / 2)
-				.saturating_mul($num_params),
-		)
-	};
-}
-
-macro_rules! cost_instr {
-	($name:ident, $num_params:expr) => {
-		cost_instr_with_batch_size!($name, $num_params, INSTR_BENCHMARK_BATCH_SIZE)
+macro_rules! cost_instr_no_params {
+	($name:ident) => {
+		cost_args!($name, 1).ref_time() as u32
 	};
 }
 
-macro_rules! cost_byte_args {
-	($name:ident, $( $arg: expr ),+) => {
-		cost_args!($name, $( $arg ),+) / 1024
-	}
-}
-
-macro_rules! cost_byte_batched_args {
-	($name:ident, $( $arg: expr ),+) => {
-		cost_batched_args!($name, $( $arg ),+) / 1024
-	}
-}
-
 macro_rules! cost {
 	($name:ident) => {
 		cost_args!($name, 1)
 	};
 }
 
-macro_rules! cost_batched {
-	($name:ident) => {
-		cost_batched_args!($name, 1)
-	};
-}
-
-macro_rules! cost_byte {
-	($name:ident) => {
-		cost_byte_args!($name, 1)
-	};
-}
-
-macro_rules! cost_byte_batched {
-	($name:ident) => {
-		cost_byte_batched_args!($name, 1)
+macro_rules! cost_instr {
+	($name:ident, $num_params:expr) => {
+		cost_instr_no_params!($name)
+			.saturating_sub((cost_instr_no_params!(instr_i64const) / 2).saturating_mul($num_params))
 	};
 }
 
@@ -533,7 +479,6 @@ impl Default for Limits {
 
 impl<T: Config> Default for InstructionWeights<T> {
 	fn default() -> Self {
-		let max_pages = Limits::default().memory_pages;
 		Self {
 			version: 4,
 			fallback: 0,
@@ -548,7 +493,6 @@ impl<T: Config> Default for InstructionWeights<T> {
 			br_table_per_entry: cost_instr!(instr_br_table_per_entry, 0),
 			call: cost_instr!(instr_call, 2),
 			call_indirect: cost_instr!(instr_call_indirect, 3),
-			call_indirect_per_param: cost_instr!(instr_call_indirect_per_param, 0),
 			call_per_local: cost_instr!(instr_call_per_local, 0),
 			local_get: cost_instr!(instr_local_get, 1),
 			local_set: cost_instr!(instr_local_set, 1),
@@ -556,7 +500,7 @@ impl<T: Config> Default for InstructionWeights<T> {
 			global_get: cost_instr!(instr_global_get, 1),
 			global_set: cost_instr!(instr_global_set, 1),
 			memory_current: cost_instr!(instr_memory_current, 1),
-			memory_grow: cost_instr_with_batch_size!(instr_memory_grow, 1, max_pages),
+			memory_grow: cost_instr!(instr_memory_grow, 1),
 			i64clz: cost_instr!(instr_i64clz, 2),
 			i64ctz: cost_instr!(instr_i64ctz, 2),
 			i64popcnt: cost_instr!(instr_i64popcnt, 2),
@@ -597,89 +541,85 @@ impl<T: Config> Default for InstructionWeights<T> {
 impl<T: Config> Default for HostFnWeights<T> {
 	fn default() -> Self {
 		Self {
-			caller: cost_batched!(seal_caller),
-			is_contract: cost_batched!(seal_is_contract),
-			code_hash: cost_batched!(seal_code_hash),
-			own_code_hash: cost_batched!(seal_own_code_hash),
-			caller_is_origin: cost_batched!(seal_caller_is_origin),
-			address: cost_batched!(seal_address),
-			gas_left: cost_batched!(seal_gas_left),
-			balance: cost_batched!(seal_balance),
-			value_transferred: cost_batched!(seal_value_transferred),
-			minimum_balance: cost_batched!(seal_minimum_balance),
-			block_number: cost_batched!(seal_block_number),
-			now: cost_batched!(seal_now),
-			weight_to_fee: cost_batched!(seal_weight_to_fee),
+			caller: cost!(seal_caller),
+			is_contract: cost!(seal_is_contract),
+			code_hash: cost!(seal_code_hash),
+			own_code_hash: cost!(seal_own_code_hash),
+			caller_is_origin: cost!(seal_caller_is_origin),
+			address: cost!(seal_address),
+			gas_left: cost!(seal_gas_left),
+			balance: cost!(seal_balance),
+			value_transferred: cost!(seal_value_transferred),
+			minimum_balance: cost!(seal_minimum_balance),
+			block_number: cost!(seal_block_number),
+			now: cost!(seal_now),
+			weight_to_fee: cost!(seal_weight_to_fee),
 			// Manually remove proof size from basic block cost.
 			//
 			// Due to imperfect benchmarking some host functions incur a small
 			// amount of proof size. Usually this is ok. However, charging a basic block is such
 			// a frequent operation that this would be a vast overestimation.
-			gas: cost_batched!(seal_gas).set_proof_size(0),
-			input: cost_batched!(seal_input),
-			input_per_byte: cost_byte_batched!(seal_input_per_kb),
+			gas: cost!(seal_gas).set_proof_size(0),
+			input: cost!(seal_input),
+			input_per_byte: cost!(seal_input_per_byte),
 			r#return: cost!(seal_return),
-			return_per_byte: cost_byte!(seal_return_per_kb),
+			return_per_byte: cost!(seal_return_per_byte),
 			terminate: cost!(seal_terminate),
-			random: cost_batched!(seal_random),
-			deposit_event: cost_batched!(seal_deposit_event),
-			deposit_event_per_topic: cost_batched_args!(seal_deposit_event_per_topic_and_kb, 1, 0),
-			deposit_event_per_byte: cost_byte_batched_args!(
-				seal_deposit_event_per_topic_and_kb,
-				0,
-				1
-			),
-			debug_message: cost_batched!(seal_debug_message),
-			debug_message_per_byte: cost_byte!(seal_debug_message_per_kb),
-			set_storage: cost_batched!(seal_set_storage),
-			set_code_hash: cost_batched!(seal_set_code_hash),
-			set_storage_per_new_byte: cost_byte_batched!(seal_set_storage_per_new_kb),
-			set_storage_per_old_byte: cost_byte_batched!(seal_set_storage_per_old_kb),
-			clear_storage: cost_batched!(seal_clear_storage),
-			clear_storage_per_byte: cost_byte_batched!(seal_clear_storage_per_kb),
-			contains_storage: cost_batched!(seal_contains_storage),
-			contains_storage_per_byte: cost_byte_batched!(seal_contains_storage_per_kb),
-			get_storage: cost_batched!(seal_get_storage),
-			get_storage_per_byte: cost_byte_batched!(seal_get_storage_per_kb),
-			take_storage: cost_batched!(seal_take_storage),
-			take_storage_per_byte: cost_byte_batched!(seal_take_storage_per_kb),
-			transfer: cost_batched!(seal_transfer),
-			call: cost_batched!(seal_call),
-			delegate_call: cost_batched!(seal_delegate_call),
-			call_transfer_surcharge: cost_batched_args!(seal_call_per_transfer_clone_kb, 1, 0),
-			call_per_cloned_byte: cost_byte_batched_args!(seal_call_per_transfer_clone_kb, 0, 1),
-			instantiate: cost_batched!(seal_instantiate),
-			instantiate_transfer_surcharge: cost_batched_args!(
-				seal_instantiate_per_transfer_input_salt_kb,
+			random: cost!(seal_random),
+			deposit_event: cost!(seal_deposit_event),
+			deposit_event_per_topic: cost_args!(seal_deposit_event_per_topic_and_byte, 1, 0),
+			deposit_event_per_byte: cost_args!(seal_deposit_event_per_topic_and_byte, 0, 1),
+			debug_message: cost!(seal_debug_message),
+			debug_message_per_byte: cost!(seal_debug_message_per_byte),
+			set_storage: cost!(seal_set_storage),
+			set_code_hash: cost!(seal_set_code_hash),
+			set_storage_per_new_byte: cost!(seal_set_storage_per_new_byte),
+			set_storage_per_old_byte: cost!(seal_set_storage_per_old_byte),
+			clear_storage: cost!(seal_clear_storage),
+			clear_storage_per_byte: cost!(seal_clear_storage_per_byte),
+			contains_storage: cost!(seal_contains_storage),
+			contains_storage_per_byte: cost!(seal_contains_storage_per_byte),
+			get_storage: cost!(seal_get_storage),
+			get_storage_per_byte: cost!(seal_get_storage_per_byte),
+			take_storage: cost!(seal_take_storage),
+			take_storage_per_byte: cost!(seal_take_storage_per_byte),
+			transfer: cost!(seal_transfer),
+			call: cost!(seal_call),
+			delegate_call: cost!(seal_delegate_call),
+			call_transfer_surcharge: cost_args!(seal_call_per_transfer_clone_byte, 1, 0),
+			call_per_cloned_byte: cost_args!(seal_call_per_transfer_clone_byte, 0, 1),
+			instantiate: cost!(seal_instantiate),
+			instantiate_transfer_surcharge: cost_args!(
+				seal_instantiate_per_transfer_input_salt_byte,
 				1,
 				0,
 				0
 			),
-			instantiate_per_input_byte: cost_byte_batched_args!(
-				seal_instantiate_per_transfer_input_salt_kb,
+			instantiate_per_input_byte: cost_args!(
+				seal_instantiate_per_transfer_input_salt_byte,
 				0,
 				1,
 				0
 			),
-			instantiate_per_salt_byte: cost_byte_batched_args!(
-				seal_instantiate_per_transfer_input_salt_kb,
+			instantiate_per_salt_byte: cost_args!(
+				seal_instantiate_per_transfer_input_salt_byte,
 				0,
 				0,
 				1
 			),
-			hash_sha2_256: cost_batched!(seal_hash_sha2_256),
-			hash_sha2_256_per_byte: cost_byte_batched!(seal_hash_sha2_256_per_kb),
-			hash_keccak_256: cost_batched!(seal_hash_keccak_256),
-			hash_keccak_256_per_byte: cost_byte_batched!(seal_hash_keccak_256_per_kb),
-			hash_blake2_256: cost_batched!(seal_hash_blake2_256),
-			hash_blake2_256_per_byte: cost_byte_batched!(seal_hash_blake2_256_per_kb),
-			hash_blake2_128: cost_batched!(seal_hash_blake2_128),
-			hash_blake2_128_per_byte: cost_byte_batched!(seal_hash_blake2_128_per_kb),
-			ecdsa_recover: cost_batched!(seal_ecdsa_recover),
-			ecdsa_to_eth_address: cost_batched!(seal_ecdsa_to_eth_address),
-			reentrance_count: cost_batched!(seal_reentrance_count),
-			account_reentrance_count: cost_batched!(seal_account_reentrance_count),
-			instantiation_nonce: cost_batched!(seal_instantiation_nonce),
+			hash_sha2_256: cost!(seal_hash_sha2_256),
+			hash_sha2_256_per_byte: cost!(seal_hash_sha2_256_per_byte),
+			hash_keccak_256: cost!(seal_hash_keccak_256),
+			hash_keccak_256_per_byte: cost!(seal_hash_keccak_256_per_byte),
+			hash_blake2_256: cost!(seal_hash_blake2_256),
+			hash_blake2_256_per_byte: cost!(seal_hash_blake2_256_per_byte),
+			hash_blake2_128: cost!(seal_hash_blake2_128),
+			hash_blake2_128_per_byte: cost!(seal_hash_blake2_128_per_byte),
+			ecdsa_recover: cost!(seal_ecdsa_recover),
+			ecdsa_to_eth_address: cost!(seal_ecdsa_to_eth_address),
+			reentrance_count: cost!(seal_reentrance_count),
+			account_reentrance_count: cost!(seal_account_reentrance_count),
+			instantiation_nonce: cost!(seal_instantiation_nonce),
 			_phantom: PhantomData,
 		}
 	}
@@ -687,29 +627,12 @@ impl<T: Config> Default for HostFnWeights<T> {
 
 struct ScheduleRules<'a, T: Config> {
 	schedule: &'a Schedule<T>,
-	params: Vec<u32>,
 	determinism: Determinism,
 }
 
 impl<T: Config> Schedule<T> {
-	pub(crate) fn rules(
-		&self,
-		module: &elements::Module,
-		determinism: Determinism,
-	) -> impl gas_metering::Rules + '_ {
-		ScheduleRules {
-			schedule: self,
-			params: module
-				.type_section()
-				.iter()
-				.flat_map(|section| section.types())
-				.map(|func| {
-					let elements::Type::Function(func) = func;
-					func.params().len() as u32
-				})
-				.collect(),
-			determinism,
-		}
+	pub(crate) fn rules(&self, determinism: Determinism) -> impl gas_metering::Rules + '_ {
+		ScheduleRules { schedule: self, determinism }
 	}
 }
 
@@ -717,7 +640,6 @@ impl<'a, T: Config> gas_metering::Rules for ScheduleRules<'a, T> {
 	fn instruction_cost(&self, instruction: &elements::Instruction) -> Option<u32> {
 		use self::elements::Instruction::*;
 		let w = &self.schedule.instruction_weights;
-		let max_params = self.schedule.limits.parameters;
 
 		let weight = match *instruction {
 			End | Unreachable | Return | Else => 0,
@@ -753,7 +675,7 @@ impl<'a, T: Config> gas_metering::Rules for ScheduleRules<'a, T> {
 			SetGlobal(_) => w.global_set,
 			CurrentMemory(_) => w.memory_current,
 			GrowMemory(_) => w.memory_grow,
-			CallIndirect(idx, _) => *self.params.get(idx as usize).unwrap_or(&max_params),
+			CallIndirect(_, _) => w.call_indirect,
 			BrTable(ref data) => w
 				.br_table
 				.saturating_add(w.br_table_per_entry.saturating_mul(data.table.len() as u32)),
diff --git a/substrate/frame/contracts/src/wasm/prepare.rs b/substrate/frame/contracts/src/wasm/prepare.rs
index 3c69fc2a7940fc0ca16048944b10424af9709f07..eed60891d66f4be450b85c9a49052067b4da3a16 100644
--- a/substrate/frame/contracts/src/wasm/prepare.rs
+++ b/substrate/frame/contracts/src/wasm/prepare.rs
@@ -219,7 +219,7 @@ impl<'a, T: Config> ContractModule<'a, T> {
 	}
 
 	fn inject_gas_metering(self, determinism: Determinism) -> Result<Self, &'static str> {
-		let gas_rules = self.schedule.rules(&self.module, determinism);
+		let gas_rules = self.schedule.rules(determinism);
 		let backend = gas_metering::host_function::Injector::new("seal0", "gas");
 		let contract_module = gas_metering::inject(self.module, backend, &gas_rules)
 			.map_err(|_| "gas instrumentation failed")?;
diff --git a/substrate/frame/contracts/src/weights.rs b/substrate/frame/contracts/src/weights.rs
index ae8638eb73431b12ddc0a6491a4c51cc378617ce..b16f11eb7f50a663a1ec8da5f2c0d923a3098bf5 100644
--- a/substrate/frame/contracts/src/weights.rs
+++ b/substrate/frame/contracts/src/weights.rs
@@ -18,28 +18,26 @@
 //! Autogenerated weights for pallet_contracts
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-03-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2023-03-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
 //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate
+// target/production/substrate
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_contracts
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./frame/contracts/src/weights.rs
+// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/substrate/.git/.artifacts/bench.json
+// --pallet=pallet_contracts
+// --chain=dev
 // --header=./HEADER-APACHE2
+// --output=./frame/contracts/src/weights.rs
 // --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -77,40 +75,40 @@ pub trait WeightInfo {
 	fn seal_weight_to_fee(r: u32, ) -> Weight;
 	fn seal_gas(r: u32, ) -> Weight;
 	fn seal_input(r: u32, ) -> Weight;
-	fn seal_input_per_kb(n: u32, ) -> Weight;
+	fn seal_input_per_byte(n: u32, ) -> Weight;
 	fn seal_return(r: u32, ) -> Weight;
-	fn seal_return_per_kb(n: u32, ) -> Weight;
+	fn seal_return_per_byte(n: u32, ) -> Weight;
 	fn seal_terminate(r: u32, ) -> Weight;
 	fn seal_random(r: u32, ) -> Weight;
 	fn seal_deposit_event(r: u32, ) -> Weight;
-	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight;
+	fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight;
 	fn seal_debug_message(r: u32, ) -> Weight;
-	fn seal_debug_message_per_kb(i: u32, ) -> Weight;
+	fn seal_debug_message_per_byte(i: u32, ) -> Weight;
 	fn seal_set_storage(r: u32, ) -> Weight;
-	fn seal_set_storage_per_new_kb(n: u32, ) -> Weight;
-	fn seal_set_storage_per_old_kb(n: u32, ) -> Weight;
+	fn seal_set_storage_per_new_byte(n: u32, ) -> Weight;
+	fn seal_set_storage_per_old_byte(n: u32, ) -> Weight;
 	fn seal_clear_storage(r: u32, ) -> Weight;
-	fn seal_clear_storage_per_kb(n: u32, ) -> Weight;
+	fn seal_clear_storage_per_byte(n: u32, ) -> Weight;
 	fn seal_get_storage(r: u32, ) -> Weight;
-	fn seal_get_storage_per_kb(n: u32, ) -> Weight;
+	fn seal_get_storage_per_byte(n: u32, ) -> Weight;
 	fn seal_contains_storage(r: u32, ) -> Weight;
-	fn seal_contains_storage_per_kb(n: u32, ) -> Weight;
+	fn seal_contains_storage_per_byte(n: u32, ) -> Weight;
 	fn seal_take_storage(r: u32, ) -> Weight;
-	fn seal_take_storage_per_kb(n: u32, ) -> Weight;
+	fn seal_take_storage_per_byte(n: u32, ) -> Weight;
 	fn seal_transfer(r: u32, ) -> Weight;
 	fn seal_call(r: u32, ) -> Weight;
 	fn seal_delegate_call(r: u32, ) -> Weight;
-	fn seal_call_per_transfer_clone_kb(t: u32, c: u32, ) -> Weight;
+	fn seal_call_per_transfer_clone_byte(t: u32, c: u32, ) -> Weight;
 	fn seal_instantiate(r: u32, ) -> Weight;
-	fn seal_instantiate_per_transfer_input_salt_kb(t: u32, i: u32, s: u32, ) -> Weight;
+	fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight;
 	fn seal_hash_sha2_256(r: u32, ) -> Weight;
-	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight;
+	fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight;
 	fn seal_hash_keccak_256(r: u32, ) -> Weight;
-	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight;
+	fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight;
 	fn seal_hash_blake2_256(r: u32, ) -> Weight;
-	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight;
+	fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight;
 	fn seal_hash_blake2_128(r: u32, ) -> Weight;
-	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight;
+	fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight;
 	fn seal_ecdsa_recover(r: u32, ) -> Weight;
 	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight;
 	fn seal_set_code_hash(r: u32, ) -> Weight;
@@ -128,7 +126,6 @@ pub trait WeightInfo {
 	fn instr_br_table_per_entry(e: u32, ) -> Weight;
 	fn instr_call(r: u32, ) -> Weight;
 	fn instr_call_indirect(r: u32, ) -> Weight;
-	fn instr_call_indirect_per_param(p: u32, ) -> Weight;
 	fn instr_call_per_local(l: u32, ) -> Weight;
 	fn instr_local_get(r: u32, ) -> Weight;
 	fn instr_local_set(r: u32, ) -> Weight;
@@ -180,8 +177,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `1594`
-		// Minimum execution time: 2_679_000 picoseconds.
-		Weight::from_parts(2_907_000, 1594)
+		// Minimum execution time: 2_736_000 picoseconds.
+		Weight::from_parts(2_931_000, 1594)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
@@ -189,12 +186,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `k` is `[0, 1024]`.
 	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `450 + k * (69 ±0)`
-		//  Estimated: `440 + k * (70 ±0)`
-		// Minimum execution time: 11_162_000 picoseconds.
-		Weight::from_parts(5_734_923, 440)
-			// Standard Error: 1_097
-			.saturating_add(Weight::from_parts(976_647, 0).saturating_mul(k.into()))
+		//  Measured:  `481 + k * (69 ±0)`
+		//  Estimated: `471 + k * (70 ±0)`
+		// Minimum execution time: 10_759_000 picoseconds.
+		Weight::from_parts(6_965_683, 471)
+			// Standard Error: 1_019
+			.saturating_add(Weight::from_parts(961_947, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
@@ -206,12 +203,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `q` is `[0, 128]`.
 	fn on_initialize_per_queue_item(q: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `250 + q * (33 ±0)`
-		//  Estimated: `1725 + q * (33 ±0)`
-		// Minimum execution time: 2_626_000 picoseconds.
-		Weight::from_parts(10_626_314, 1725)
-			// Standard Error: 4_006
-			.saturating_add(Weight::from_parts(1_298_864, 0).saturating_mul(q.into()))
+		//  Measured:  `281 + q * (33 ±0)`
+		//  Estimated: `1753 + q * (33 ±0)`
+		// Minimum execution time: 2_633_000 picoseconds.
+		Weight::from_parts(10_668_837, 1753)
+			// Standard Error: 3_538
+			.saturating_add(Weight::from_parts(1_277_168, 0).saturating_mul(q.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 33).saturating_mul(q.into()))
@@ -223,12 +220,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `c` is `[0, 61717]`.
 	fn reinstrument(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `238 + c * (1 ±0)`
-		//  Estimated: `3951 + c * (2 ±0)`
-		// Minimum execution time: 31_434_000 picoseconds.
-		Weight::from_parts(29_558_961, 3951)
-			// Standard Error: 55
-			.saturating_add(Weight::from_parts(50_774, 0).saturating_mul(c.into()))
+		//  Measured:  `270 + c * (1 ±0)`
+		//  Estimated: `4015 + c * (2 ±0)`
+		// Minimum execution time: 30_264_000 picoseconds.
+		Weight::from_parts(27_106_554, 4015)
+			// Standard Error: 53
+			.saturating_add(Weight::from_parts(49_705, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into()))
@@ -246,12 +243,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `c` is `[0, 125952]`.
 	fn call_with_code_per_byte(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `707`
-		//  Estimated: `21400 + c * (5 ±0)`
-		// Minimum execution time: 309_015_000 picoseconds.
-		Weight::from_parts(318_740_885, 21400)
-			// Standard Error: 29
-			.saturating_add(Weight::from_parts(30_993, 0).saturating_mul(c.into()))
+		//  Measured:  `803`
+		//  Estimated: `21880 + c * (5 ±0)`
+		// Minimum execution time: 309_249_000 picoseconds.
+		Weight::from_parts(323_353_590, 21880)
+			// Standard Error: 25
+			.saturating_add(Weight::from_parts(31_359, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 5).saturating_mul(c.into()))
@@ -279,14 +276,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `270`
 		//  Estimated: `26207`
-		// Minimum execution time: 3_126_495_000 picoseconds.
-		Weight::from_parts(636_857_878, 26207)
-			// Standard Error: 294
-			.saturating_add(Weight::from_parts(92_930, 0).saturating_mul(c.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_128, 0).saturating_mul(i.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_415, 0).saturating_mul(s.into()))
+		// Minimum execution time: 3_136_707_000 picoseconds.
+		Weight::from_parts(564_055_378, 26207)
+			// Standard Error: 286
+			.saturating_add(Weight::from_parts(93_308, 0).saturating_mul(c.into()))
+			// Standard Error: 16
+			.saturating_add(Weight::from_parts(1_165, 0).saturating_mul(i.into()))
+			// Standard Error: 16
+			.saturating_add(Weight::from_parts(1_435, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(10_u64))
 	}
@@ -308,14 +305,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `s` is `[0, 1048576]`.
 	fn instantiate(i: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `482`
-		//  Estimated: `28521`
-		// Minimum execution time: 1_591_415_000 picoseconds.
-		Weight::from_parts(228_633_516, 28521)
+		//  Measured:  `546`
+		//  Estimated: `28969`
+		// Minimum execution time: 1_631_314_000 picoseconds.
+		Weight::from_parts(236_693_159, 28969)
 			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_449, 0).saturating_mul(i.into()))
+			.saturating_add(Weight::from_parts(1_434, 0).saturating_mul(i.into()))
 			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_444, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_445, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
@@ -331,10 +328,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	fn call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `759`
-		//  Estimated: `21615`
-		// Minimum execution time: 167_905_000 picoseconds.
-		Weight::from_parts(169_247_000, 21615)
+		//  Measured:  `855`
+		//  Estimated: `22095`
+		// Minimum execution time: 167_139_000 picoseconds.
+		Weight::from_parts(168_034_000, 22095)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -351,10 +348,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `7366`
-		// Minimum execution time: 305_128_000 picoseconds.
-		Weight::from_parts(310_911_395, 7366)
-			// Standard Error: 70
-			.saturating_add(Weight::from_parts(94_067, 0).saturating_mul(c.into()))
+		// Minimum execution time: 306_518_000 picoseconds.
+		Weight::from_parts(325_652_407, 7366)
+			// Standard Error: 134
+			.saturating_add(Weight::from_parts(93_502, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -368,10 +365,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured)
 	fn remove_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `255`
-		//  Estimated: `7950`
-		// Minimum execution time: 29_605_000 picoseconds.
-		Weight::from_parts(29_986_000, 7950)
+		//  Measured:  `287`
+		//  Estimated: `8078`
+		// Minimum execution time: 29_084_000 picoseconds.
+		Weight::from_parts(29_350_000, 8078)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -383,10 +380,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `570`
-		//  Estimated: `19530`
-		// Minimum execution time: 33_824_000 picoseconds.
-		Weight::from_parts(34_388_000, 19530)
+		//  Measured:  `666`
+		//  Estimated: `19818`
+		// Minimum execution time: 32_996_000 picoseconds.
+		Weight::from_parts(33_365_000, 19818)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
@@ -400,18 +397,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `781 + r * (480 ±0)`
-		//  Estimated: `21765 + r * (2400 ±0)`
-		// Minimum execution time: 295_283_000 picoseconds.
-		Weight::from_parts(295_895_211, 21765)
-			// Standard Error: 44_860
-			.saturating_add(Weight::from_parts(22_913_078, 0).saturating_mul(r.into()))
+		//  Measured:  `877 + r * (6 ±0)`
+		//  Estimated: `22210 + r * (30 ±0)`
+		// Minimum execution time: 298_315_000 picoseconds.
+		Weight::from_parts(304_612_433, 22210)
+			// Standard Error: 904
+			.saturating_add(Weight::from_parts(285_473, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -423,19 +420,19 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_is_contract(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `821 + r * (19218 ±0)`
-		//  Estimated: `21765 + r * (294095 ±0)`
-		// Minimum execution time: 295_760_000 picoseconds.
-		Weight::from_parts(151_512_811, 21765)
-			// Standard Error: 522_974
-			.saturating_add(Weight::from_parts(263_028_353, 0).saturating_mul(r.into()))
+		//  Measured:  `935 + r * (272 ±0)`
+		//  Estimated: `22315 + r * (3835 ±0)`
+		// Minimum execution time: 299_169_000 picoseconds.
+		Weight::from_parts(138_157_704, 22315)
+			// Standard Error: 6_115
+			.saturating_add(Weight::from_parts(3_244_482, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 294095).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 3835).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)
@@ -447,19 +444,19 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_code_hash(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `825 + r * (19539 ±0)`
-		//  Estimated: `21810 + r * (295700 ±0)`
-		// Minimum execution time: 295_950_000 picoseconds.
-		Weight::from_parts(164_516_076, 21810)
-			// Standard Error: 469_540
-			.saturating_add(Weight::from_parts(321_138_601, 0).saturating_mul(r.into()))
+		//  Measured:  `927 + r * (276 ±0)`
+		//  Estimated: `22335 + r * (3855 ±0)`
+		// Minimum execution time: 299_262_000 picoseconds.
+		Weight::from_parts(157_105_627, 22335)
+			// Standard Error: 5_634
+			.saturating_add(Weight::from_parts(3_995_666, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 295700).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 3855).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)
@@ -471,18 +468,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_own_code_hash(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `788 + r * (480 ±0)`
-		//  Estimated: `21800 + r * (2400 ±0)`
-		// Minimum execution time: 295_916_000 picoseconds.
-		Weight::from_parts(299_964_913, 21800)
-			// Standard Error: 78_211
-			.saturating_add(Weight::from_parts(28_933_603, 0).saturating_mul(r.into()))
+		//  Measured:  `884 + r * (6 ±0)`
+		//  Estimated: `22250 + r * (30 ±0)`
+		// Minimum execution time: 298_259_000 picoseconds.
+		Weight::from_parts(303_498_245, 22250)
+			// Standard Error: 874
+			.saturating_add(Weight::from_parts(352_839, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -494,18 +491,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller_is_origin(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `778 + r * (240 ±0)`
-		//  Estimated: `21735 + r * (1200 ±0)`
-		// Minimum execution time: 293_588_000 picoseconds.
-		Weight::from_parts(297_568_984, 21735)
-			// Standard Error: 35_513
-			.saturating_add(Weight::from_parts(11_074_880, 0).saturating_mul(r.into()))
+		//  Measured:  `874 + r * (3 ±0)`
+		//  Estimated: `22215 + r * (15 ±0)`
+		// Minimum execution time: 295_689_000 picoseconds.
+		Weight::from_parts(314_004_541, 22215)
+			// Standard Error: 1_803
+			.saturating_add(Weight::from_parts(131_102, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 1200).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 15).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)
@@ -517,18 +514,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `782 + r * (480 ±0)`
-		//  Estimated: `21730 + r * (2400 ±0)`
-		// Minimum execution time: 294_929_000 picoseconds.
-		Weight::from_parts(295_916_817, 21730)
-			// Standard Error: 64_902
-			.saturating_add(Weight::from_parts(22_944_018, 0).saturating_mul(r.into()))
+		//  Measured:  `878 + r * (6 ±0)`
+		//  Estimated: `22220 + r * (30 ±0)`
+		// Minimum execution time: 297_579_000 picoseconds.
+		Weight::from_parts(299_326_920, 22220)
+			// Standard Error: 990
+			.saturating_add(Weight::from_parts(284_789, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -540,18 +537,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_gas_left(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `783 + r * (480 ±0)`
-		//  Estimated: `21720 + r * (2405 ±0)`
-		// Minimum execution time: 296_783_000 picoseconds.
-		Weight::from_parts(299_399_332, 21720)
-			// Standard Error: 50_982
-			.saturating_add(Weight::from_parts(22_173_249, 0).saturating_mul(r.into()))
+		//  Measured:  `879 + r * (6 ±0)`
+		//  Estimated: `22205 + r * (30 ±0)`
+		// Minimum execution time: 297_651_000 picoseconds.
+		Weight::from_parts(304_465_467, 22205)
+			// Standard Error: 736
+			.saturating_add(Weight::from_parts(272_149, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2405).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).saturating_mul(r.into()))
 	}
 	/// Storage: System Account (r:2 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -563,18 +560,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_balance(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `921 + r * (480 ±0)`
-		//  Estimated: `24193 + r * (2451 ±0)`
-		// Minimum execution time: 294_120_000 picoseconds.
-		Weight::from_parts(305_889_989, 24193)
-			// Standard Error: 116_244
-			.saturating_add(Weight::from_parts(114_781_094, 0).saturating_mul(r.into()))
+		//  Measured:  `1050 + r * (6 ±0)`
+		//  Estimated: `25258 + r * (30 ±0)`
+		// Minimum execution time: 296_957_000 picoseconds.
+		Weight::from_parts(308_680_068, 25258)
+			// Standard Error: 1_377
+			.saturating_add(Weight::from_parts(1_419_294, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2451).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -586,18 +583,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_value_transferred(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `792 + r * (480 ±0)`
-		//  Estimated: `21830 + r * (2400 ±0)`
-		// Minimum execution time: 295_569_000 picoseconds.
-		Weight::from_parts(299_774_774, 21830)
-			// Standard Error: 46_252
-			.saturating_add(Weight::from_parts(21_753_842, 0).saturating_mul(r.into()))
+		//  Measured:  `888 + r * (6 ±0)`
+		//  Estimated: `22305 + r * (30 ±0)`
+		// Minimum execution time: 297_735_000 picoseconds.
+		Weight::from_parts(301_533_807, 22305)
+			// Standard Error: 1_119
+			.saturating_add(Weight::from_parts(277_289, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -609,18 +606,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_minimum_balance(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `790 + r * (480 ±0)`
-		//  Estimated: `21760 + r * (2400 ±0)`
-		// Minimum execution time: 295_400_000 picoseconds.
-		Weight::from_parts(300_637_266, 21760)
-			// Standard Error: 41_263
-			.saturating_add(Weight::from_parts(21_565_466, 0).saturating_mul(r.into()))
+		//  Measured:  `886 + r * (6 ±0)`
+		//  Estimated: `22295 + r * (30 ±0)`
+		// Minimum execution time: 299_599_000 picoseconds.
+		Weight::from_parts(303_664_496, 22295)
+			// Standard Error: 1_009
+			.saturating_add(Weight::from_parts(280_353, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -632,18 +629,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_block_number(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `787 + r * (480 ±0)`
-		//  Estimated: `21785 + r * (2400 ±0)`
-		// Minimum execution time: 294_696_000 picoseconds.
-		Weight::from_parts(297_196_796, 21785)
-			// Standard Error: 61_173
-			.saturating_add(Weight::from_parts(21_903_191, 0).saturating_mul(r.into()))
+		//  Measured:  `883 + r * (6 ±0)`
+		//  Estimated: `22285 + r * (30 ±0)`
+		// Minimum execution time: 297_641_000 picoseconds.
+		Weight::from_parts(302_437_979, 22285)
+			// Standard Error: 669
+			.saturating_add(Weight::from_parts(270_403, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -655,18 +652,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_now(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `778 + r * (480 ±0)`
-		//  Estimated: `21715 + r * (2400 ±0)`
-		// Minimum execution time: 297_714_000 picoseconds.
-		Weight::from_parts(306_030_237, 21715)
-			// Standard Error: 69_984
-			.saturating_add(Weight::from_parts(21_744_413, 0).saturating_mul(r.into()))
+		//  Measured:  `874 + r * (6 ±0)`
+		//  Estimated: `22215 + r * (30 ±0)`
+		// Minimum execution time: 297_217_000 picoseconds.
+		Weight::from_parts(299_538_157, 22215)
+			// Standard Error: 732
+			.saturating_add(Weight::from_parts(280_800, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -680,18 +677,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: TransactionPayment NextFeeMultiplier (max_values: Some(1), max_size: Some(16), added: 511, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_weight_to_fee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `856 + r * (800 ±0)`
-		//  Estimated: `24416 + r * (4805 ±0)`
-		// Minimum execution time: 295_180_000 picoseconds.
-		Weight::from_parts(308_851_025, 24416)
-			// Standard Error: 115_126
-			.saturating_add(Weight::from_parts(98_678_404, 0).saturating_mul(r.into()))
+		//  Measured:  `952 + r * (10 ±0)`
+		//  Estimated: `25022 + r * (60 ±0)`
+		// Minimum execution time: 297_286_000 picoseconds.
+		Weight::from_parts(311_436_352, 25022)
+			// Standard Error: 6_811
+			.saturating_add(Weight::from_parts(1_291_941, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 4805).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 60).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)
@@ -703,18 +700,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_gas(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `745 + r * (320 ±0)`
-		//  Estimated: `21590 + r * (1600 ±0)`
-		// Minimum execution time: 151_587_000 picoseconds.
-		Weight::from_parts(155_713_096, 21590)
-			// Standard Error: 32_464
-			.saturating_add(Weight::from_parts(8_332_778, 0).saturating_mul(r.into()))
+		//  Measured:  `841 + r * (4 ±0)`
+		//  Estimated: `22035 + r * (20 ±0)`
+		// Minimum execution time: 154_772_000 picoseconds.
+		Weight::from_parts(159_224_457, 22035)
+			// Standard Error: 212
+			.saturating_add(Weight::from_parts(102_264, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 1600).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 20).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)
@@ -726,18 +723,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_input(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `780 + r * (480 ±0)`
-		//  Estimated: `21715 + r * (2400 ±0)`
-		// Minimum execution time: 295_008_000 picoseconds.
-		Weight::from_parts(297_982_800, 21715)
-			// Standard Error: 37_480
-			.saturating_add(Weight::from_parts(17_970_520, 0).saturating_mul(r.into()))
+		//  Measured:  `876 + r * (6 ±0)`
+		//  Estimated: `22220 + r * (30 ±0)`
+		// Minimum execution time: 297_248_000 picoseconds.
+		Weight::from_parts(303_805_584, 22220)
+			// Standard Error: 858
+			.saturating_add(Weight::from_parts(223_587, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -749,15 +746,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_input_per_kb(n: u32, ) -> Weight {
+	/// The range of component `n` is `[0, 1048576]`.
+	fn seal_input_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1260`
-		//  Estimated: `24120`
-		// Minimum execution time: 314_970_000 picoseconds.
-		Weight::from_parts(345_339_508, 24120)
-			// Standard Error: 4_112
-			.saturating_add(Weight::from_parts(9_746_966, 0).saturating_mul(n.into()))
+		//  Measured:  `880`
+		//  Estimated: `22220`
+		// Minimum execution time: 298_464_000 picoseconds.
+		Weight::from_parts(300_996_431, 22220)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(600, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -774,12 +771,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `r` is `[0, 1]`.
 	fn seal_return(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `768 + r * (45 ±0)`
-		//  Estimated: `21660 + r * (225 ±0)`
-		// Minimum execution time: 293_072_000 picoseconds.
-		Weight::from_parts(295_694_824, 21660)
-			// Standard Error: 219_523
-			.saturating_add(Weight::from_parts(783_975, 0).saturating_mul(r.into()))
+		//  Measured:  `864 + r * (45 ±0)`
+		//  Estimated: `22140 + r * (225 ±0)`
+		// Minimum execution time: 294_347_000 picoseconds.
+		Weight::from_parts(296_793_034, 22140)
+			// Standard Error: 277_251
+			.saturating_add(Weight::from_parts(1_711_665, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 225).saturating_mul(r.into()))
@@ -794,15 +791,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_return_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `778`
-		//  Estimated: `21755`
-		// Minimum execution time: 295_959_000 picoseconds.
-		Weight::from_parts(299_004_761, 21755)
-			// Standard Error: 3_988
-			.saturating_add(Weight::from_parts(194_268, 0).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 1048576]`.
+	fn seal_return_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `874`
+		//  Estimated: `22255`
+		// Minimum execution time: 297_257_000 picoseconds.
+		Weight::from_parts(300_088_288, 22255)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(181, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -823,17 +820,17 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `r` is `[0, 1]`.
 	fn seal_terminate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `810 + r * (356 ±0)`
-		//  Estimated: `25511 + r * (15321 ±0)`
-		// Minimum execution time: 294_626_000 picoseconds.
-		Weight::from_parts(297_839_179, 25511)
-			// Standard Error: 707_428
-			.saturating_add(Weight::from_parts(81_507_620, 0).saturating_mul(r.into()))
+		//  Measured:  `906 + r * (452 ±0)`
+		//  Estimated: `26183 + r * (15994 ±0)`
+		// Minimum execution time: 296_510_000 picoseconds.
+		Weight::from_parts(299_169_757, 26183)
+			// Standard Error: 205_313
+			.saturating_add(Weight::from_parts(78_059_642, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(T::DbWeight::get().writes((7_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 15321).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 15994).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)
@@ -847,18 +844,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: RandomnessCollectiveFlip RandomMaterial (max_values: Some(1), max_size: Some(2594), added: 3089, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_random(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `825 + r * (800 ±0)`
-		//  Estimated: `24199 + r * (4805 ±0)`
-		// Minimum execution time: 295_431_000 picoseconds.
-		Weight::from_parts(310_428_531, 24199)
-			// Standard Error: 143_501
-			.saturating_add(Weight::from_parts(136_529_376, 0).saturating_mul(r.into()))
+		//  Measured:  `921 + r * (10 ±0)`
+		//  Estimated: `24859 + r * (60 ±0)`
+		// Minimum execution time: 299_299_000 picoseconds.
+		Weight::from_parts(314_487_015, 24859)
+			// Standard Error: 1_552
+			.saturating_add(Weight::from_parts(1_753_960, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 4805).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 60).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)
@@ -870,18 +867,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_deposit_event(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `778 + r * (800 ±0)`
-		//  Estimated: `21720 + r * (4000 ±0)`
-		// Minimum execution time: 293_778_000 picoseconds.
-		Weight::from_parts(323_404_081, 21720)
-			// Standard Error: 243_095
-			.saturating_add(Weight::from_parts(269_012_482, 0).saturating_mul(r.into()))
+		//  Measured:  `874 + r * (10 ±0)`
+		//  Estimated: `22215 + r * (50 ±0)`
+		// Minimum execution time: 296_188_000 picoseconds.
+		Weight::from_parts(305_901_539, 22215)
+			// Standard Error: 2_782
+			.saturating_add(Weight::from_parts(3_456_054, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 4000).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 50).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)
@@ -891,26 +888,25 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured)
 	/// Storage: Timestamp Now (r:1 w:0)
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
-	/// Storage: System EventTopics (r:322 w:322)
+	/// Storage: System EventTopics (r:6 w:6)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[0, 4]`.
-	/// The range of component `n` is `[0, 16]`.
-	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1725 + t * (2608 ±0) + n * (7 ±0)`
-		//  Estimated: `26340 + t * (211030 ±0) + n * (50 ±0)`
-		// Minimum execution time: 1_317_129_000 picoseconds.
-		Weight::from_parts(566_722_295, 26340)
-			// Standard Error: 619_390
-			.saturating_add(Weight::from_parts(194_334_643, 0).saturating_mul(t.into()))
-			// Standard Error: 170_114
-			.saturating_add(Weight::from_parts(67_458_751, 0).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `893 + t * (32 ±0)`
+		//  Estimated: `22320 + t * (2640 ±0)`
+		// Minimum execution time: 313_860_000 picoseconds.
+		Weight::from_parts(312_473_092, 22320)
+			// Standard Error: 250_852
+			.saturating_add(Weight::from_parts(2_258_502, 0).saturating_mul(t.into()))
+			// Standard Error: 70
+			.saturating_add(Weight::from_parts(312, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(t.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((80_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 211030).saturating_mul(t.into()))
-			.saturating_add(Weight::from_parts(0, 50).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into())))
+			.saturating_add(Weight::from_parts(0, 2640).saturating_mul(t.into()))
 	}
 	/// Storage: System Account (r:1 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -922,18 +918,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_debug_message(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (560 ±0)`
-		//  Estimated: `21710 + r * (2800 ±0)`
-		// Minimum execution time: 159_087_000 picoseconds.
-		Weight::from_parts(163_703_981, 21710)
-			// Standard Error: 26_067
-			.saturating_add(Weight::from_parts(14_810_256, 0).saturating_mul(r.into()))
+		//  Measured:  `873 + r * (7 ±0)`
+		//  Estimated: `22205 + r * (35 ±0)`
+		// Minimum execution time: 162_043_000 picoseconds.
+		Weight::from_parts(166_132_332, 22205)
+			// Standard Error: 716
+			.saturating_add(Weight::from_parts(184_981, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2800).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 35).saturating_mul(r.into()))
 	}
 	/// Storage: System Account (r:1 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
@@ -945,200 +941,187 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `i` is `[0, 1024]`.
-	fn seal_debug_message_per_kb(i: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `125728`
-		//  Estimated: `269982`
-		// Minimum execution time: 413_391_000 picoseconds.
-		Weight::from_parts(414_927_640, 269982)
-			// Standard Error: 1_740
-			.saturating_add(Weight::from_parts(763_359, 0).saturating_mul(i.into()))
+	/// The range of component `i` is `[0, 1048576]`.
+	fn seal_debug_message_per_byte(i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `125824`
+		//  Estimated: `270073`
+		// Minimum execution time: 414_433_000 picoseconds.
+		Weight::from_parts(417_483_627, 270073)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(748, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_set_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `815 + r * (23420 ±0)`
-		//  Estimated: `815 + r * (23418 ±0)`
-		// Minimum execution time: 296_108_000 picoseconds.
-		Weight::from_parts(208_214_040, 815)
-			// Standard Error: 860_573
-			.saturating_add(Weight::from_parts(480_342_550, 0).saturating_mul(r.into()))
+		//  Measured:  `941 + r * (292 ±0)`
+		//  Estimated: `939 + r * (293 ±0)`
+		// Minimum execution time: 299_500_000 picoseconds.
+		Weight::from_parts(194_466_413, 939)
+			// Standard Error: 9_986
+			.saturating_add(Weight::from_parts(6_010_112, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 23418).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 293).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_set_storage_per_new_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12544 + n * (11945 ±0)`
-		//  Estimated: `8401 + n * (12814 ±61)`
-		// Minimum execution time: 442_286_000 picoseconds.
-		Weight::from_parts(620_395_299, 8401)
-			// Standard Error: 1_661_554
-			.saturating_add(Weight::from_parts(89_393_169, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(52_u64))
-			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(T::DbWeight::get().writes(50_u64))
-			.saturating_add(T::DbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 12814).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_set_storage_per_new_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1432`
+		//  Estimated: `1405`
+		// Minimum execution time: 314_171_000 picoseconds.
+		Weight::from_parts(335_595_397, 1405)
+			// Standard Error: 67
+			.saturating_add(Weight::from_parts(90, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(8_u64))
+			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_set_storage_per_old_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12532 + n * (175784 ±0)`
-		//  Estimated: `8396 + n * (176649 ±61)`
-		// Minimum execution time: 440_882_000 picoseconds.
-		Weight::from_parts(587_317_981, 8396)
-			// Standard Error: 1_374_991
-			.saturating_add(Weight::from_parts(66_271_084, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(51_u64))
-			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(T::DbWeight::get().writes(49_u64))
-			.saturating_add(T::DbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 176649).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_set_storage_per_old_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1295 + n * (1 ±0)`
+		//  Estimated: `1292 + n * (1 ±0)`
+		// Minimum execution time: 313_479_000 picoseconds.
+		Weight::from_parts(317_435_100, 1292)
+			// Standard Error: 41
+			.saturating_add(Weight::from_parts(106, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(7_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_clear_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `807 + r * (23099 ±0)`
-		//  Estimated: `812 + r * (23099 ±0)`
-		// Minimum execution time: 296_023_000 picoseconds.
-		Weight::from_parts(221_471_559, 812)
-			// Standard Error: 814_503
-			.saturating_add(Weight::from_parts(465_928_089, 0).saturating_mul(r.into()))
+		//  Measured:  `937 + r * (288 ±0)`
+		//  Estimated: `941 + r * (289 ±0)`
+		// Minimum execution time: 297_831_000 picoseconds.
+		Weight::from_parts(196_983_778, 941)
+			// Standard Error: 9_899
+			.saturating_add(Weight::from_parts(5_904_642, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 23099).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_clear_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12256 + n * (175776 ±0)`
-		//  Estimated: `8047 + n * (176655 ±62)`
-		// Minimum execution time: 412_212_000 picoseconds.
-		Weight::from_parts(569_213_147, 8047)
-			// Standard Error: 1_463_771
-			.saturating_add(Weight::from_parts(67_932_081, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(51_u64))
-			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(T::DbWeight::get().writes(48_u64))
-			.saturating_add(T::DbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 176655).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_clear_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1291 + n * (1 ±0)`
+		//  Estimated: `1288 + n * (1 ±0)`
+		// Minimum execution time: 320_156_000 picoseconds.
+		Weight::from_parts(327_504_368, 1288)
+			.saturating_add(T::DbWeight::get().reads(7_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_get_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `800 + r * (23744 ±0)`
-		//  Estimated: `813 + r * (23740 ±0)`
-		// Minimum execution time: 296_007_000 picoseconds.
-		Weight::from_parts(229_100_700, 813)
-			// Standard Error: 684_970
-			.saturating_add(Weight::from_parts(394_982_991, 0).saturating_mul(r.into()))
+		//  Measured:  `931 + r * (296 ±0)`
+		//  Estimated: `936 + r * (297 ±0)`
+		// Minimum execution time: 305_849_000 picoseconds.
+		Weight::from_parts(219_649_351, 936)
+			// Standard Error: 9_157
+			.saturating_add(Weight::from_parts(4_846_108, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 23740).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_get_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12863 + n * (175784 ±0)`
-		//  Estimated: `8538 + n * (176688 ±63)`
-		// Minimum execution time: 392_306_000 picoseconds.
-		Weight::from_parts(539_188_004, 8538)
-			// Standard Error: 1_371_839
-			.saturating_add(Weight::from_parts(155_130_373, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(51_u64))
-			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_get_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1307 + n * (1 ±0)`
+		//  Estimated: `1304 + n * (1 ±0)`
+		// Minimum execution time: 312_106_000 picoseconds.
+		Weight::from_parts(315_905_779, 1304)
+			// Standard Error: 44
+			.saturating_add(Weight::from_parts(674, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 176688).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_contains_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `818 + r * (23098 ±0)`
-		//  Estimated: `824 + r * (23098 ±0)`
-		// Minimum execution time: 296_038_000 picoseconds.
-		Weight::from_parts(229_462_798, 824)
-			// Standard Error: 655_463
-			.saturating_add(Weight::from_parts(372_593_685, 0).saturating_mul(r.into()))
+		//  Measured:  `952 + r * (288 ±0)`
+		//  Estimated: `953 + r * (289 ±0)`
+		// Minimum execution time: 299_372_000 picoseconds.
+		Weight::from_parts(211_293_493, 953)
+			// Standard Error: 8_509
+			.saturating_add(Weight::from_parts(4_688_993, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 23098).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_contains_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12200 + n * (175798 ±0)`
-		//  Estimated: `8028 + n * (176661 ±62)`
-		// Minimum execution time: 386_782_000 picoseconds.
-		Weight::from_parts(512_965_975, 8028)
-			// Standard Error: 1_168_132
-			.saturating_add(Weight::from_parts(63_307_325, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(51_u64))
-			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_contains_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1294 + n * (1 ±0)`
+		//  Estimated: `1291 + n * (1 ±0)`
+		// Minimum execution time: 311_605_000 picoseconds.
+		Weight::from_parts(315_473_850, 1291)
+			// Standard Error: 37
+			.saturating_add(Weight::from_parts(3, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 176661).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_take_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `815 + r * (23740 ±0)`
-		//  Estimated: `817 + r * (23739 ±0)`
-		// Minimum execution time: 296_352_000 picoseconds.
-		Weight::from_parts(212_661_296, 817)
-			// Standard Error: 879_297
-			.saturating_add(Weight::from_parts(494_182_672, 0).saturating_mul(r.into()))
+		//  Measured:  `925 + r * (296 ±0)`
+		//  Estimated: `932 + r * (297 ±0)`
+		// Minimum execution time: 298_231_000 picoseconds.
+		Weight::from_parts(200_178_698, 932)
+			// Standard Error: 10_452
+			.saturating_add(Weight::from_parts(6_107_653, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 23739).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_take_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12864 + n * (175784 ±0)`
-		//  Estimated: `8539 + n * (176686 ±63)`
-		// Minimum execution time: 414_693_000 picoseconds.
-		Weight::from_parts(595_693_859, 8539)
-			// Standard Error: 1_673_819
-			.saturating_add(Weight::from_parts(163_090_316, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(51_u64))
-			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(T::DbWeight::get().writes(48_u64))
-			.saturating_add(T::DbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 176686).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_take_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1308 + n * (1 ±0)`
+		//  Estimated: `1305 + n * (1 ±0)`
+		// Minimum execution time: 314_970_000 picoseconds.
+		Weight::from_parts(318_135_821, 1305)
+			// Standard Error: 26
+			.saturating_add(Weight::from_parts(630, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(7_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: System Account (r:1602 w:1601)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -1150,20 +1133,20 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_transfer(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1329 + r * (3604 ±0)`
-		//  Estimated: `25928 + r * (216096 ±4)`
-		// Minimum execution time: 299_205_000 picoseconds.
-		Weight::from_parts(221_142_217, 25928)
-			// Standard Error: 1_369_909
-			.saturating_add(Weight::from_parts(1_665_917_241, 0).saturating_mul(r.into()))
+		//  Measured:  `1501 + r * (45 ±0)`
+		//  Estimated: `27383 + r * (2700 ±0)`
+		// Minimum execution time: 299_629_000 picoseconds.
+		Weight::from_parts(150_915_187, 27383)
+			// Standard Error: 25_604
+			.saturating_add(Weight::from_parts(20_859_844, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
-			.saturating_add(T::DbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 216096).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 2700).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)
@@ -1175,20 +1158,20 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:1602 w:1602)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1479 + r * (20514 ±0)`
-		//  Estimated: `26429 + r * (498656 ±1)`
-		// Minimum execution time: 297_501_000 picoseconds.
-		Weight::from_parts(298_400_000, 26429)
-			// Standard Error: 9_372_890
-			.saturating_add(Weight::from_parts(22_507_984_433, 0).saturating_mul(r.into()))
+		//  Measured:  `1670 + r * (288 ±0)`
+		//  Estimated: `27813 + r * (6391 ±0)`
+		// Minimum execution time: 299_578_000 picoseconds.
+		Weight::from_parts(300_036_000, 27813)
+			// Standard Error: 102_709
+			.saturating_add(Weight::from_parts(283_767_316, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().reads((160_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((160_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 498656).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 6391).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)
@@ -1200,48 +1183,48 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:1537 w:1537)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_delegate_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + r * (69030 ±0)`
-		//  Estimated: `21755 + r * (647542 ±560)`
-		// Minimum execution time: 297_432_000 picoseconds.
-		Weight::from_parts(298_220_000, 21755)
-			// Standard Error: 9_420_834
-			.saturating_add(Weight::from_parts(22_261_152_353, 0).saturating_mul(r.into()))
+		//  Measured:  `0 + r * (935 ±0)`
+		//  Estimated: `22235 + r * (8322 ±10)`
+		// Minimum execution time: 298_943_000 picoseconds.
+		Weight::from_parts(299_619_000, 22235)
+			// Standard Error: 117_493
+			.saturating_add(Weight::from_parts(280_555_517, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((150_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((75_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 647542).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 8322).saturating_mul(r.into()))
 	}
-	/// Storage: System Account (r:82 w:81)
+	/// Storage: System Account (r:3 w:2)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
-	/// Storage: Contracts ContractInfoOf (r:81 w:81)
+	/// Storage: Contracts ContractInfoOf (r:2 w:2)
 	/// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured)
 	/// Storage: Contracts CodeStorage (r:2 w:0)
 	/// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured)
 	/// Storage: Timestamp Now (r:1 w:0)
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
-	/// Storage: System EventTopics (r:82 w:82)
+	/// Storage: System EventTopics (r:3 w:3)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[0, 1]`.
-	/// The range of component `c` is `[0, 1024]`.
-	fn seal_call_per_transfer_clone_kb(t: u32, c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `21581 + t * (14318 ±0)`
-		//  Estimated: `524200 + t * (272065 ±0)`
-		// Minimum execution time: 11_799_802_000 picoseconds.
-		Weight::from_parts(10_575_328_547, 524200)
-			// Standard Error: 11_952_810
-			.saturating_add(Weight::from_parts(1_603_077_083, 0).saturating_mul(t.into()))
-			// Standard Error: 17_922
-			.saturating_add(Weight::from_parts(9_876_752, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(167_u64))
-			.saturating_add(T::DbWeight::get().reads((81_u64).saturating_mul(t.into())))
-			.saturating_add(T::DbWeight::get().writes(163_u64))
-			.saturating_add(T::DbWeight::get().writes((81_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 272065).saturating_mul(t.into()))
+	/// The range of component `c` is `[0, 1048576]`.
+	fn seal_call_per_transfer_clone_byte(t: u32, c: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1314 + t * (268 ±0)`
+		//  Estimated: `31815 + t * (6290 ±0)`
+		// Minimum execution time: 453_013_000 picoseconds.
+		Weight::from_parts(442_536_283, 31815)
+			// Standard Error: 1_339_541
+			.saturating_add(Weight::from_parts(17_062_445, 0).saturating_mul(t.into()))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(604, 0).saturating_mul(c.into()))
+			.saturating_add(T::DbWeight::get().reads(9_u64))
+			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(t.into())))
+			.saturating_add(T::DbWeight::get().writes(5_u64))
+			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(t.into())))
+			.saturating_add(Weight::from_parts(0, 6290).saturating_mul(t.into()))
 	}
 	/// Storage: System Account (r:3202 w:3202)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -1257,24 +1240,24 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured)
 	/// Storage: System EventTopics (r:1602 w:1602)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_instantiate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1646 + r * (20288 ±0)`
-		//  Estimated: `32625 + r * (1330150 ±2)`
-		// Minimum execution time: 298_155_000 picoseconds.
-		Weight::from_parts(299_212_000, 32625)
-			// Standard Error: 32_410_313
-			.saturating_add(Weight::from_parts(30_417_025_178, 0).saturating_mul(r.into()))
+		//  Measured:  `1988 + r * (319 ±0)`
+		//  Estimated: `34745 + r * (17090 ±0)`
+		// Minimum execution time: 300_123_000 picoseconds.
+		Weight::from_parts(300_406_000, 34745)
+			// Standard Error: 420_997
+			.saturating_add(Weight::from_parts(382_704_025, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(8_u64))
-			.saturating_add(T::DbWeight::get().reads((480_u64).saturating_mul(r.into())))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
-			.saturating_add(T::DbWeight::get().writes((400_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 1330150).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().writes(6_u64))
+			.saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 17090).saturating_mul(r.into()))
 	}
-	/// Storage: System Account (r:162 w:162)
+	/// Storage: System Account (r:4 w:4)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
-	/// Storage: Contracts ContractInfoOf (r:81 w:81)
+	/// Storage: Contracts ContractInfoOf (r:2 w:2)
 	/// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured)
 	/// Storage: Contracts CodeStorage (r:2 w:0)
 	/// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured)
@@ -1284,28 +1267,28 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: Contracts OwnerInfoOf (r:1 w:1)
 	/// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured)
-	/// Storage: System EventTopics (r:82 w:82)
+	/// Storage: System EventTopics (r:3 w:3)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[0, 1]`.
-	/// The range of component `i` is `[0, 960]`.
-	/// The range of component `s` is `[0, 960]`.
-	fn seal_instantiate_per_transfer_input_salt_kb(t: u32, i: u32, s: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `5625 + t * (1 ±0)`
-		//  Estimated: `856795 + t * (2471 ±3)`
-		// Minimum execution time: 105_914_928_000 picoseconds.
-		Weight::from_parts(13_229_760_432, 856795)
-			// Standard Error: 96_394_437
-			.saturating_add(Weight::from_parts(398_413_888, 0).saturating_mul(t.into()))
-			// Standard Error: 157_192
-			.saturating_add(Weight::from_parts(97_104_978, 0).saturating_mul(i.into()))
-			// Standard Error: 157_192
-			.saturating_add(Weight::from_parts(97_146_130, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(329_u64))
+	/// The range of component `i` is `[0, 983040]`.
+	/// The range of component `s` is `[0, 983040]`.
+	fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1231 + t * (219 ±0)`
+		//  Estimated: `43797 + t * (3812 ±2)`
+		// Minimum execution time: 1_636_322_000 picoseconds.
+		Weight::from_parts(360_859_331, 43797)
+			// Standard Error: 4_816_923
+			.saturating_add(Weight::from_parts(109_179_023, 0).saturating_mul(t.into()))
+			// Standard Error: 7
+			.saturating_add(Weight::from_parts(1_180, 0).saturating_mul(i.into()))
+			// Standard Error: 7
+			.saturating_add(Weight::from_parts(1_344, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(13_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into())))
-			.saturating_add(T::DbWeight::get().writes(326_u64))
+			.saturating_add(T::DbWeight::get().writes(10_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2471).saturating_mul(t.into()))
+			.saturating_add(Weight::from_parts(0, 3812).saturating_mul(t.into()))
 	}
 	/// Storage: System Account (r:1 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -1317,18 +1300,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_sha2_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `775 + r * (642 ±0)`
-		//  Estimated: `21695 + r * (3210 ±0)`
-		// Minimum execution time: 294_309_000 picoseconds.
-		Weight::from_parts(296_241_318, 21695)
-			// Standard Error: 127_872
-			.saturating_add(Weight::from_parts(45_806_281, 0).saturating_mul(r.into()))
+		//  Measured:  `873 + r * (8 ±0)`
+		//  Estimated: `22190 + r * (40 ±0)`
+		// Minimum execution time: 297_521_000 picoseconds.
+		Weight::from_parts(303_523_260, 22190)
+			// Standard Error: 1_162
+			.saturating_add(Weight::from_parts(542_201, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3210).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -1340,15 +1323,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1577`
-		//  Estimated: `25630`
-		// Minimum execution time: 341_248_000 picoseconds.
-		Weight::from_parts(341_607_000, 25630)
-			// Standard Error: 66_687
-			.saturating_add(Weight::from_parts(322_250_398, 0).saturating_mul(n.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:  `881`
+		//  Estimated: `22225`
+		// Minimum execution time: 299_877_000 picoseconds.
+		Weight::from_parts(293_538_014, 22225)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(3_967, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -1362,18 +1345,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_keccak_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (642 ±0)`
-		//  Estimated: `21705 + r * (3210 ±0)`
-		// Minimum execution time: 293_810_000 picoseconds.
-		Weight::from_parts(296_719_171, 21705)
-			// Standard Error: 450_807
-			.saturating_add(Weight::from_parts(61_627_228, 0).saturating_mul(r.into()))
+		//  Measured:  `875 + r * (8 ±0)`
+		//  Estimated: `22205 + r * (40 ±0)`
+		// Minimum execution time: 297_672_000 picoseconds.
+		Weight::from_parts(299_933_312, 22205)
+			// Standard Error: 1_138
+			.saturating_add(Weight::from_parts(713_189, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3210).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -1385,15 +1368,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1579`
-		//  Estimated: `25675`
-		// Minimum execution time: 354_550_000 picoseconds.
-		Weight::from_parts(355_136_000, 25675)
-			// Standard Error: 61_761
-			.saturating_add(Weight::from_parts(257_021_566, 0).saturating_mul(n.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:  `883`
+		//  Estimated: `22245`
+		// Minimum execution time: 299_048_000 picoseconds.
+		Weight::from_parts(293_055_982, 22245)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(3_179, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -1407,18 +1390,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (642 ±0)`
-		//  Estimated: `21705 + r * (3210 ±0)`
-		// Minimum execution time: 293_369_000 picoseconds.
-		Weight::from_parts(295_990_893, 21705)
-			// Standard Error: 431_269
-			.saturating_add(Weight::from_parts(32_213_406, 0).saturating_mul(r.into()))
+		//  Measured:  `875 + r * (8 ±0)`
+		//  Estimated: `22220 + r * (40 ±0)`
+		// Minimum execution time: 301_991_000 picoseconds.
+		Weight::from_parts(300_027_441, 22220)
+			// Standard Error: 981
+			.saturating_add(Weight::from_parts(391_319, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3210).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -1430,15 +1413,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1579`
-		//  Estimated: `25650`
-		// Minimum execution time: 326_595_000 picoseconds.
-		Weight::from_parts(327_188_000, 25650)
-			// Standard Error: 53_385
-			.saturating_add(Weight::from_parts(74_046_074, 0).saturating_mul(n.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:  `883`
+		//  Estimated: `22265`
+		// Minimum execution time: 296_522_000 picoseconds.
+		Weight::from_parts(296_121_638, 22265)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(916, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -1452,18 +1435,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_128(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (679 ±0)`
-		//  Estimated: `21705 + r * (3395 ±0)`
-		// Minimum execution time: 292_388_000 picoseconds.
-		Weight::from_parts(295_090_179, 21705)
-			// Standard Error: 170_487
-			.saturating_add(Weight::from_parts(32_577_820, 0).saturating_mul(r.into()))
+		//  Measured:  `875 + r * (8 ±0)`
+		//  Estimated: `22225 + r * (40 ±0)`
+		// Minimum execution time: 296_228_000 picoseconds.
+		Weight::from_parts(301_472_299, 22225)
+			// Standard Error: 875
+			.saturating_add(Weight::from_parts(381_027, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3395).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -1475,15 +1458,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1579`
-		//  Estimated: `25695`
-		// Minimum execution time: 326_862_000 picoseconds.
-		Weight::from_parts(327_449_000, 25695)
-			// Standard Error: 54_539
-			.saturating_add(Weight::from_parts(74_042_337, 0).saturating_mul(n.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:  `883`
+		//  Estimated: `22235`
+		// Minimum execution time: 296_644_000 picoseconds.
+		Weight::from_parts(289_879_744, 22235)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(925, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -1497,18 +1480,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_ecdsa_recover(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `821 + r * (6083 ±0)`
-		//  Estimated: `21925 + r * (30415 ±0)`
-		// Minimum execution time: 295_597_000 picoseconds.
-		Weight::from_parts(298_267_200, 21925)
-			// Standard Error: 699_824
-			.saturating_add(Weight::from_parts(3_021_734_700, 0).saturating_mul(r.into()))
+		//  Measured:  `800 + r * (78 ±0)`
+		//  Estimated: `21845 + r * (390 ±0)`
+		// Minimum execution time: 297_804_000 picoseconds.
+		Weight::from_parts(471_994_534, 21845)
+			// Standard Error: 9_479
+			.saturating_add(Weight::from_parts(36_886_028, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 30415).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 390).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)
@@ -1520,18 +1503,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `790 + r * (3362 ±0)`
-		//  Estimated: `21770 + r * (16810 ±0)`
-		// Minimum execution time: 295_539_000 picoseconds.
-		Weight::from_parts(297_844_822, 21770)
-			// Standard Error: 490_532
-			.saturating_add(Weight::from_parts(747_592_977, 0).saturating_mul(r.into()))
+		//  Measured:  `645 + r * (44 ±0)`
+		//  Estimated: `21110 + r * (220 ±0)`
+		// Minimum execution time: 298_623_000 picoseconds.
+		Weight::from_parts(322_192_102, 21110)
+			// Standard Error: 3_207
+			.saturating_add(Weight::from_parts(9_243_653, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 16810).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 220).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)
@@ -1545,20 +1528,20 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured)
 	/// Storage: System EventTopics (r:1538 w:1538)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_set_code_hash(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + r * (74020 ±0)`
-		//  Estimated: `69192 + r * (913289 ±821)`
-		// Minimum execution time: 295_164_000 picoseconds.
-		Weight::from_parts(296_597_000, 69192)
-			// Standard Error: 3_646_577
-			.saturating_add(Weight::from_parts(1_725_796_807, 0).saturating_mul(r.into()))
+		//  Measured:  `0 + r * (1030 ±0)`
+		//  Estimated: `30592 + r * (11919 ±7)`
+		// Minimum execution time: 298_574_000 picoseconds.
+		Weight::from_parts(299_383_000, 30592)
+			// Standard Error: 44_061
+			.saturating_add(Weight::from_parts(21_625_366, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((225_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(T::DbWeight::get().writes((150_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 913289).saturating_mul(r.into()))
+			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 11919).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)
@@ -1570,18 +1553,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_reentrance_count(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `773 + r * (240 ±0)`
-		//  Estimated: `21685 + r * (1200 ±0)`
-		// Minimum execution time: 296_287_000 picoseconds.
-		Weight::from_parts(300_696_694, 21685)
-			// Standard Error: 27_891
-			.saturating_add(Weight::from_parts(10_943_994, 0).saturating_mul(r.into()))
+		//  Measured:  `869 + r * (3 ±0)`
+		//  Estimated: `22215 + r * (15 ±0)`
+		// Minimum execution time: 297_014_000 picoseconds.
+		Weight::from_parts(301_226_615, 22215)
+			// Standard Error: 439
+			.saturating_add(Weight::from_parts(143_017, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 1200).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 15).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)
@@ -1593,18 +1576,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_account_reentrance_count(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2006 + r * (3154 ±0)`
-		//  Estimated: `26435 + r * (15875 ±2)`
-		// Minimum execution time: 298_000_000 picoseconds.
-		Weight::from_parts(328_282_119, 26435)
-			// Standard Error: 104_874
-			.saturating_add(Weight::from_parts(18_428_267, 0).saturating_mul(r.into()))
+		//  Measured:  `2072 + r * (39 ±0)`
+		//  Estimated: `27645 + r * (200 ±0)`
+		// Minimum execution time: 299_074_000 picoseconds.
+		Weight::from_parts(336_979_016, 27645)
+			// Standard Error: 1_163
+			.saturating_add(Weight::from_parts(227_998, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 15875).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 200).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)
@@ -1618,538 +1601,526 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_instantiation_nonce(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `776 + r * (240 ±0)`
-		//  Estimated: `23962 + r * (1440 ±0)`
-		// Minimum execution time: 295_104_000 picoseconds.
-		Weight::from_parts(299_334_585, 23962)
-			// Standard Error: 25_840
-			.saturating_add(Weight::from_parts(9_744_866, 0).saturating_mul(r.into()))
+		//  Measured:  `872 + r * (3 ±0)`
+		//  Estimated: `24580 + r * (18 ±0)`
+		// Minimum execution time: 296_959_000 picoseconds.
+		Weight::from_parts(303_796_839, 24580)
+			// Standard Error: 534
+			.saturating_add(Weight::from_parts(118_978, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
-			.saturating_add(Weight::from_parts(0, 1440).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 18).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64const(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_132_000 picoseconds.
-		Weight::from_parts(1_100_159, 0)
-			// Standard Error: 10_131
-			.saturating_add(Weight::from_parts(436_462, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_020_000 picoseconds.
+		Weight::from_parts(1_355_107, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(4_110, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64load(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_368_000 picoseconds.
-		Weight::from_parts(1_974_308, 0)
-			// Standard Error: 811
-			.saturating_add(Weight::from_parts(1_079_620, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_224_000 picoseconds.
+		Weight::from_parts(1_819_284, 0)
+			// Standard Error: 10
+			.saturating_add(Weight::from_parts(10_803, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64store(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_354_000 picoseconds.
-		Weight::from_parts(2_057_834, 0)
-			// Standard Error: 4_277
-			.saturating_add(Weight::from_parts(1_008_797, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_216_000 picoseconds.
+		Weight::from_parts(1_795_011, 0)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(10_000, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_select(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_218_000 picoseconds.
-		Weight::from_parts(1_594_528, 0)
-			// Standard Error: 723
-			.saturating_add(Weight::from_parts(1_147_486, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_127_000 picoseconds.
+		Weight::from_parts(1_491_730, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(11_471, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_if(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_156_000 picoseconds.
-		Weight::from_parts(1_460_611, 0)
-			// Standard Error: 419
-			.saturating_add(Weight::from_parts(1_314_741, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_044_000 picoseconds.
+		Weight::from_parts(2_330_852, 0)
+			// Standard Error: 69
+			.saturating_add(Weight::from_parts(12_866, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_br(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_166_000 picoseconds.
-		Weight::from_parts(1_454_460, 0)
-			// Standard Error: 493
-			.saturating_add(Weight::from_parts(642_481, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_067_000 picoseconds.
+		Weight::from_parts(1_399_626, 0)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(6_430, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_br_if(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_144_000 picoseconds.
-		Weight::from_parts(1_410_515, 0)
-			// Standard Error: 894
-			.saturating_add(Weight::from_parts(958_765, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_087_000 picoseconds.
+		Weight::from_parts(1_463_592, 0)
+			// Standard Error: 12
+			.saturating_add(Weight::from_parts(9_707, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_br_table(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_190_000 picoseconds.
-		Weight::from_parts(1_143_236, 0)
-			// Standard Error: 2_773
-			.saturating_add(Weight::from_parts(1_164_764, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_110_000 picoseconds.
+		Weight::from_parts(1_058_258, 0)
+			// Standard Error: 22
+			.saturating_add(Weight::from_parts(11_713, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `e` is `[1, 256]`.
-	fn instr_br_table_per_entry(e: u32, ) -> Weight {
+	fn instr_br_table_per_entry(_e: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_993_000 picoseconds.
-		Weight::from_parts(3_270_525, 0)
-			// Standard Error: 65
-			.saturating_add(Weight::from_parts(4_418, 0).saturating_mul(e.into()))
+		// Minimum execution time: 1_189_000 picoseconds.
+		Weight::from_parts(1_416_188, 0)
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_163_000 picoseconds.
-		Weight::from_parts(1_999_458, 0)
-			// Standard Error: 1_418
-			.saturating_add(Weight::from_parts(2_371_979, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_201_000 picoseconds.
+		Weight::from_parts(3_375_851, 0)
+			// Standard Error: 96
+			.saturating_add(Weight::from_parts(22_970, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_call_indirect(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_288_000 picoseconds.
-		Weight::from_parts(2_340_227, 0)
-			// Standard Error: 3_234
-			.saturating_add(Weight::from_parts(3_038_523, 0).saturating_mul(r.into()))
-	}
-	/// The range of component `p` is `[0, 128]`.
-	fn instr_call_indirect_per_param(p: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 5_270_000 picoseconds.
-		Weight::from_parts(6_360_011, 0)
-			// Standard Error: 2_585
-			.saturating_add(Weight::from_parts(226_149, 0).saturating_mul(p.into()))
+		// Minimum execution time: 1_286_000 picoseconds.
+		Weight::from_parts(2_817_725, 0)
+			// Standard Error: 55
+			.saturating_add(Weight::from_parts(29_437, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `l` is `[0, 1024]`.
 	fn instr_call_per_local(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_580_000 picoseconds.
-		Weight::from_parts(5_183_658, 0)
-			// Standard Error: 80
-			.saturating_add(Weight::from_parts(46_038, 0).saturating_mul(l.into()))
+		// Minimum execution time: 1_319_000 picoseconds.
+		Weight::from_parts(1_636_286, 0)
+			// Standard Error: 31
+			.saturating_add(Weight::from_parts(1_240, 0).saturating_mul(l.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_local_get(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_559_000 picoseconds.
-		Weight::from_parts(2_846_350, 0)
-			// Standard Error: 2_809
-			.saturating_add(Weight::from_parts(462_084, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_507_000 picoseconds.
+		Weight::from_parts(2_785_119, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(4_601, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_local_set(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_530_000 picoseconds.
-		Weight::from_parts(2_835_072, 0)
-			// Standard Error: 479
-			.saturating_add(Weight::from_parts(483_451, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_494_000 picoseconds.
+		Weight::from_parts(2_948_015, 0)
+			// Standard Error: 14
+			.saturating_add(Weight::from_parts(4_788, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_local_tee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_510_000 picoseconds.
-		Weight::from_parts(2_740_081, 0)
-			// Standard Error: 901
-			.saturating_add(Weight::from_parts(664_354, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_443_000 picoseconds.
+		Weight::from_parts(3_065_273, 0)
+			// Standard Error: 15
+			.saturating_add(Weight::from_parts(6_489, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_global_get(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_295_000 picoseconds.
-		Weight::from_parts(1_798_174, 0)
-			// Standard Error: 464
-			.saturating_add(Weight::from_parts(896_289, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_214_000 picoseconds.
+		Weight::from_parts(1_634_049, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_960, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_global_set(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_287_000 picoseconds.
-		Weight::from_parts(1_636_548, 0)
-			// Standard Error: 658
-			.saturating_add(Weight::from_parts(923_295, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_180_000 picoseconds.
+		Weight::from_parts(1_555_599, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_205, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_memory_current(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_353_000 picoseconds.
-		Weight::from_parts(1_672_309, 0)
-			// Standard Error: 403
-			.saturating_add(Weight::from_parts(818_273, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_223_000 picoseconds.
+		Weight::from_parts(1_626_002, 0)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(8_181, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 16]`.
 	fn instr_memory_grow(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_180_000 picoseconds.
-		Weight::from_parts(1_304_714, 0)
-			// Standard Error: 88_180
-			.saturating_add(Weight::from_parts(183_952_985, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_148_000 picoseconds.
+		Weight::from_parts(307_155, 0)
+			// Standard Error: 138_541
+			.saturating_add(Weight::from_parts(13_291_570, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64clz(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_158_000 picoseconds.
-		Weight::from_parts(1_800_065, 0)
-			// Standard Error: 2_104
-			.saturating_add(Weight::from_parts(625_410, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_079_000 picoseconds.
+		Weight::from_parts(1_372_409, 0)
+			// Standard Error: 50
+			.saturating_add(Weight::from_parts(6_427, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ctz(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_208_000 picoseconds.
-		Weight::from_parts(1_483_908, 0)
-			// Standard Error: 319
-			.saturating_add(Weight::from_parts(635_095, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_116_000 picoseconds.
+		Weight::from_parts(1_415_180, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_353, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64popcnt(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_164_000 picoseconds.
-		Weight::from_parts(1_506_871, 0)
-			// Standard Error: 264
-			.saturating_add(Weight::from_parts(633_660, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_058_000 picoseconds.
+		Weight::from_parts(1_314_206, 0)
+			// Standard Error: 35
+			.saturating_add(Weight::from_parts(6_431, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64eqz(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_141_000 picoseconds.
-		Weight::from_parts(1_467_219, 0)
-			// Standard Error: 191
-			.saturating_add(Weight::from_parts(651_156, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_059_000 picoseconds.
+		Weight::from_parts(1_455_331, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_507, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64extendsi32(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_170_000 picoseconds.
-		Weight::from_parts(1_474_718, 0)
-			// Standard Error: 224
-			.saturating_add(Weight::from_parts(617_317, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_057_000 picoseconds.
+		Weight::from_parts(1_421_085, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_177, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64extendui32(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_195_000 picoseconds.
-		Weight::from_parts(1_501_421, 0)
-			// Standard Error: 221
-			.saturating_add(Weight::from_parts(616_559, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_079_000 picoseconds.
+		Weight::from_parts(1_429_275, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_175, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i32wrapi64(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_172_000 picoseconds.
-		Weight::from_parts(1_482_402, 0)
-			// Standard Error: 2_163
-			.saturating_add(Weight::from_parts(619_230, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_065_000 picoseconds.
+		Weight::from_parts(1_403_813, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(6_192, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64eq(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_149_000 picoseconds.
-		Weight::from_parts(2_021_801, 0)
-			// Standard Error: 20_804
-			.saturating_add(Weight::from_parts(913_888, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_061_000 picoseconds.
+		Weight::from_parts(1_421_984, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_094, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ne(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_187_000 picoseconds.
-		Weight::from_parts(1_358_437, 0)
-			// Standard Error: 1_946
-			.saturating_add(Weight::from_parts(916_378, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_075_000 picoseconds.
+		Weight::from_parts(1_431_453, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(9_084, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64lts(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_175_000 picoseconds.
-		Weight::from_parts(1_527_336, 0)
-			// Standard Error: 243
-			.saturating_add(Weight::from_parts(907_580, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_100_000 picoseconds.
+		Weight::from_parts(1_452_384, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(9_081, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ltu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_220_000 picoseconds.
-		Weight::from_parts(1_530_715, 0)
-			// Standard Error: 224
-			.saturating_add(Weight::from_parts(906_096, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_090_000 picoseconds.
+		Weight::from_parts(1_466_416, 0)
+			// Standard Error: 17
+			.saturating_add(Weight::from_parts(9_091, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64gts(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_107_000 picoseconds.
-		Weight::from_parts(1_496_553, 0)
-			// Standard Error: 299
-			.saturating_add(Weight::from_parts(907_963, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_056_000 picoseconds.
+		Weight::from_parts(1_676_091, 0)
+			// Standard Error: 47
+			.saturating_add(Weight::from_parts(9_082, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64gtu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_153_000 picoseconds.
-		Weight::from_parts(1_482_710, 0)
-			// Standard Error: 182
-			.saturating_add(Weight::from_parts(918_439, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_053_000 picoseconds.
+		Weight::from_parts(1_232_790, 0)
+			// Standard Error: 43
+			.saturating_add(Weight::from_parts(9_329, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64les(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_142_000 picoseconds.
-		Weight::from_parts(1_522_114, 0)
-			// Standard Error: 297
-			.saturating_add(Weight::from_parts(906_633, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_091_000 picoseconds.
+		Weight::from_parts(1_476_212, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_074, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64leu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_119_000 picoseconds.
-		Weight::from_parts(2_199_831, 0)
-			// Standard Error: 4_234
-			.saturating_add(Weight::from_parts(898_161, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_083_000 picoseconds.
+		Weight::from_parts(1_484_966, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(9_184, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ges(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_163_000 picoseconds.
-		Weight::from_parts(1_489_404, 0)
-			// Standard Error: 416
-			.saturating_add(Weight::from_parts(908_450, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_089_000 picoseconds.
+		Weight::from_parts(1_516_766, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_063, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64geu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_204_000 picoseconds.
-		Weight::from_parts(2_266_296, 0)
-			// Standard Error: 13_013
-			.saturating_add(Weight::from_parts(899_225, 0).saturating_mul(r.into()))
+		// Minimum execution time: 996_000 picoseconds.
+		Weight::from_parts(1_460_638, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(9_076, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64add(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_160_000 picoseconds.
-		Weight::from_parts(1_470_799, 0)
-			// Standard Error: 422
-			.saturating_add(Weight::from_parts(897_325, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_095_000 picoseconds.
+		Weight::from_parts(1_448_412, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_977, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64sub(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_125_000 picoseconds.
-		Weight::from_parts(1_521_508, 0)
-			// Standard Error: 594
-			.saturating_add(Weight::from_parts(886_145, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_071_000 picoseconds.
+		Weight::from_parts(1_459_165, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(8_852, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64mul(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_139_000 picoseconds.
-		Weight::from_parts(1_490_535, 0)
-			// Standard Error: 211
-			.saturating_add(Weight::from_parts(884_929, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_082_000 picoseconds.
+		Weight::from_parts(1_450_718, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_860, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64divs(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_180_000 picoseconds.
-		Weight::from_parts(2_221_481, 0)
-			// Standard Error: 9_884
-			.saturating_add(Weight::from_parts(1_507_511, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_065_000 picoseconds.
+		Weight::from_parts(1_436_871, 0)
+			// Standard Error: 9
+			.saturating_add(Weight::from_parts(15_241, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64divu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_131_000 picoseconds.
-		Weight::from_parts(1_498_652, 0)
-			// Standard Error: 531
-			.saturating_add(Weight::from_parts(1_451_498, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_065_000 picoseconds.
+		Weight::from_parts(1_423_806, 0)
+			// Standard Error: 17
+			.saturating_add(Weight::from_parts(14_706, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64rems(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_145_000 picoseconds.
-		Weight::from_parts(1_504_118, 0)
-			// Standard Error: 439
-			.saturating_add(Weight::from_parts(1_521_895, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_059_000 picoseconds.
+		Weight::from_parts(1_735_816, 0)
+			// Standard Error: 66
+			.saturating_add(Weight::from_parts(15_230, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64remu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_124_000 picoseconds.
-		Weight::from_parts(1_497_209, 0)
-			// Standard Error: 198
-			.saturating_add(Weight::from_parts(1_449_843, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_076_000 picoseconds.
+		Weight::from_parts(1_451_290, 0)
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(14_530, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64and(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_169_000 picoseconds.
-		Weight::from_parts(1_534_491, 0)
-			// Standard Error: 283
-			.saturating_add(Weight::from_parts(894_703, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_079_000 picoseconds.
+		Weight::from_parts(1_457_537, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_963, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64or(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_178_000 picoseconds.
-		Weight::from_parts(1_485_473, 0)
-			// Standard Error: 552
-			.saturating_add(Weight::from_parts(897_878, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_032_000 picoseconds.
+		Weight::from_parts(1_475_315, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(8_956, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64xor(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_214_000 picoseconds.
-		Weight::from_parts(1_580_999, 0)
-			// Standard Error: 358
-			.saturating_add(Weight::from_parts(894_207, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_056_000 picoseconds.
+		Weight::from_parts(1_450_071, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(8_960, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64shl(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_176_000 picoseconds.
-		Weight::from_parts(1_490_470, 0)
-			// Standard Error: 738
-			.saturating_add(Weight::from_parts(904_900, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_116_000 picoseconds.
+		Weight::from_parts(1_429_705, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(9_027, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64shrs(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_197_000 picoseconds.
-		Weight::from_parts(1_519_703, 0)
-			// Standard Error: 336
-			.saturating_add(Weight::from_parts(901_277, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_059_000 picoseconds.
+		Weight::from_parts(1_429_307, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_048, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64shru(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_166_000 picoseconds.
-		Weight::from_parts(1_507_499, 0)
-			// Standard Error: 298
-			.saturating_add(Weight::from_parts(901_153, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_093_000 picoseconds.
+		Weight::from_parts(1_411_827, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_528, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64rotl(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_158_000 picoseconds.
-		Weight::from_parts(1_491_176, 0)
-			// Standard Error: 341
-			.saturating_add(Weight::from_parts(901_880, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_115_000 picoseconds.
+		Weight::from_parts(1_441_025, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_043, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64rotr(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_207_000 picoseconds.
-		Weight::from_parts(1_477_261, 0)
-			// Standard Error: 287
-			.saturating_add(Weight::from_parts(902_622, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_077_000 picoseconds.
+		Weight::from_parts(1_480_666, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_031, 0).saturating_mul(r.into()))
 	}
 }
 
@@ -2161,8 +2132,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `1594`
-		// Minimum execution time: 2_679_000 picoseconds.
-		Weight::from_parts(2_907_000, 1594)
+		// Minimum execution time: 2_736_000 picoseconds.
+		Weight::from_parts(2_931_000, 1594)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
@@ -2170,12 +2141,12 @@ impl WeightInfo for () {
 	/// The range of component `k` is `[0, 1024]`.
 	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `450 + k * (69 ±0)`
-		//  Estimated: `440 + k * (70 ±0)`
-		// Minimum execution time: 11_162_000 picoseconds.
-		Weight::from_parts(5_734_923, 440)
-			// Standard Error: 1_097
-			.saturating_add(Weight::from_parts(976_647, 0).saturating_mul(k.into()))
+		//  Measured:  `481 + k * (69 ±0)`
+		//  Estimated: `471 + k * (70 ±0)`
+		// Minimum execution time: 10_759_000 picoseconds.
+		Weight::from_parts(6_965_683, 471)
+			// Standard Error: 1_019
+			.saturating_add(Weight::from_parts(961_947, 0).saturating_mul(k.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
@@ -2187,12 +2158,12 @@ impl WeightInfo for () {
 	/// The range of component `q` is `[0, 128]`.
 	fn on_initialize_per_queue_item(q: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `250 + q * (33 ±0)`
-		//  Estimated: `1725 + q * (33 ±0)`
-		// Minimum execution time: 2_626_000 picoseconds.
-		Weight::from_parts(10_626_314, 1725)
-			// Standard Error: 4_006
-			.saturating_add(Weight::from_parts(1_298_864, 0).saturating_mul(q.into()))
+		//  Measured:  `281 + q * (33 ±0)`
+		//  Estimated: `1753 + q * (33 ±0)`
+		// Minimum execution time: 2_633_000 picoseconds.
+		Weight::from_parts(10_668_837, 1753)
+			// Standard Error: 3_538
+			.saturating_add(Weight::from_parts(1_277_168, 0).saturating_mul(q.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 33).saturating_mul(q.into()))
@@ -2204,12 +2175,12 @@ impl WeightInfo for () {
 	/// The range of component `c` is `[0, 61717]`.
 	fn reinstrument(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `238 + c * (1 ±0)`
-		//  Estimated: `3951 + c * (2 ±0)`
-		// Minimum execution time: 31_434_000 picoseconds.
-		Weight::from_parts(29_558_961, 3951)
-			// Standard Error: 55
-			.saturating_add(Weight::from_parts(50_774, 0).saturating_mul(c.into()))
+		//  Measured:  `270 + c * (1 ±0)`
+		//  Estimated: `4015 + c * (2 ±0)`
+		// Minimum execution time: 30_264_000 picoseconds.
+		Weight::from_parts(27_106_554, 4015)
+			// Standard Error: 53
+			.saturating_add(Weight::from_parts(49_705, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into()))
@@ -2227,12 +2198,12 @@ impl WeightInfo for () {
 	/// The range of component `c` is `[0, 125952]`.
 	fn call_with_code_per_byte(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `707`
-		//  Estimated: `21400 + c * (5 ±0)`
-		// Minimum execution time: 309_015_000 picoseconds.
-		Weight::from_parts(318_740_885, 21400)
-			// Standard Error: 29
-			.saturating_add(Weight::from_parts(30_993, 0).saturating_mul(c.into()))
+		//  Measured:  `803`
+		//  Estimated: `21880 + c * (5 ±0)`
+		// Minimum execution time: 309_249_000 picoseconds.
+		Weight::from_parts(323_353_590, 21880)
+			// Standard Error: 25
+			.saturating_add(Weight::from_parts(31_359, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 5).saturating_mul(c.into()))
@@ -2260,14 +2231,14 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `270`
 		//  Estimated: `26207`
-		// Minimum execution time: 3_126_495_000 picoseconds.
-		Weight::from_parts(636_857_878, 26207)
-			// Standard Error: 294
-			.saturating_add(Weight::from_parts(92_930, 0).saturating_mul(c.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_128, 0).saturating_mul(i.into()))
-			// Standard Error: 17
-			.saturating_add(Weight::from_parts(1_415, 0).saturating_mul(s.into()))
+		// Minimum execution time: 3_136_707_000 picoseconds.
+		Weight::from_parts(564_055_378, 26207)
+			// Standard Error: 286
+			.saturating_add(Weight::from_parts(93_308, 0).saturating_mul(c.into()))
+			// Standard Error: 16
+			.saturating_add(Weight::from_parts(1_165, 0).saturating_mul(i.into()))
+			// Standard Error: 16
+			.saturating_add(Weight::from_parts(1_435, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(10_u64))
 	}
@@ -2289,14 +2260,14 @@ impl WeightInfo for () {
 	/// The range of component `s` is `[0, 1048576]`.
 	fn instantiate(i: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `482`
-		//  Estimated: `28521`
-		// Minimum execution time: 1_591_415_000 picoseconds.
-		Weight::from_parts(228_633_516, 28521)
+		//  Measured:  `546`
+		//  Estimated: `28969`
+		// Minimum execution time: 1_631_314_000 picoseconds.
+		Weight::from_parts(236_693_159, 28969)
 			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_449, 0).saturating_mul(i.into()))
+			.saturating_add(Weight::from_parts(1_434, 0).saturating_mul(i.into()))
 			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_444, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_445, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
@@ -2312,10 +2283,10 @@ impl WeightInfo for () {
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	fn call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `759`
-		//  Estimated: `21615`
-		// Minimum execution time: 167_905_000 picoseconds.
-		Weight::from_parts(169_247_000, 21615)
+		//  Measured:  `855`
+		//  Estimated: `22095`
+		// Minimum execution time: 167_139_000 picoseconds.
+		Weight::from_parts(168_034_000, 22095)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -2332,10 +2303,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `7366`
-		// Minimum execution time: 305_128_000 picoseconds.
-		Weight::from_parts(310_911_395, 7366)
-			// Standard Error: 70
-			.saturating_add(Weight::from_parts(94_067, 0).saturating_mul(c.into()))
+		// Minimum execution time: 306_518_000 picoseconds.
+		Weight::from_parts(325_652_407, 7366)
+			// Standard Error: 134
+			.saturating_add(Weight::from_parts(93_502, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -2349,10 +2320,10 @@ impl WeightInfo for () {
 	/// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured)
 	fn remove_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `255`
-		//  Estimated: `7950`
-		// Minimum execution time: 29_605_000 picoseconds.
-		Weight::from_parts(29_986_000, 7950)
+		//  Measured:  `287`
+		//  Estimated: `8078`
+		// Minimum execution time: 29_084_000 picoseconds.
+		Weight::from_parts(29_350_000, 8078)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -2364,10 +2335,10 @@ impl WeightInfo for () {
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `570`
-		//  Estimated: `19530`
-		// Minimum execution time: 33_824_000 picoseconds.
-		Weight::from_parts(34_388_000, 19530)
+		//  Measured:  `666`
+		//  Estimated: `19818`
+		// Minimum execution time: 32_996_000 picoseconds.
+		Weight::from_parts(33_365_000, 19818)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
@@ -2381,18 +2352,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `781 + r * (480 ±0)`
-		//  Estimated: `21765 + r * (2400 ±0)`
-		// Minimum execution time: 295_283_000 picoseconds.
-		Weight::from_parts(295_895_211, 21765)
-			// Standard Error: 44_860
-			.saturating_add(Weight::from_parts(22_913_078, 0).saturating_mul(r.into()))
+		//  Measured:  `877 + r * (6 ±0)`
+		//  Estimated: `22210 + r * (30 ±0)`
+		// Minimum execution time: 298_315_000 picoseconds.
+		Weight::from_parts(304_612_433, 22210)
+			// Standard Error: 904
+			.saturating_add(Weight::from_parts(285_473, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2404,19 +2375,19 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_is_contract(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `821 + r * (19218 ±0)`
-		//  Estimated: `21765 + r * (294095 ±0)`
-		// Minimum execution time: 295_760_000 picoseconds.
-		Weight::from_parts(151_512_811, 21765)
-			// Standard Error: 522_974
-			.saturating_add(Weight::from_parts(263_028_353, 0).saturating_mul(r.into()))
+		//  Measured:  `935 + r * (272 ±0)`
+		//  Estimated: `22315 + r * (3835 ±0)`
+		// Minimum execution time: 299_169_000 picoseconds.
+		Weight::from_parts(138_157_704, 22315)
+			// Standard Error: 6_115
+			.saturating_add(Weight::from_parts(3_244_482, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 294095).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 3835).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)
@@ -2428,19 +2399,19 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_code_hash(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `825 + r * (19539 ±0)`
-		//  Estimated: `21810 + r * (295700 ±0)`
-		// Minimum execution time: 295_950_000 picoseconds.
-		Weight::from_parts(164_516_076, 21810)
-			// Standard Error: 469_540
-			.saturating_add(Weight::from_parts(321_138_601, 0).saturating_mul(r.into()))
+		//  Measured:  `927 + r * (276 ±0)`
+		//  Estimated: `22335 + r * (3855 ±0)`
+		// Minimum execution time: 299_262_000 picoseconds.
+		Weight::from_parts(157_105_627, 22335)
+			// Standard Error: 5_634
+			.saturating_add(Weight::from_parts(3_995_666, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 295700).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 3855).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)
@@ -2452,18 +2423,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_own_code_hash(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `788 + r * (480 ±0)`
-		//  Estimated: `21800 + r * (2400 ±0)`
-		// Minimum execution time: 295_916_000 picoseconds.
-		Weight::from_parts(299_964_913, 21800)
-			// Standard Error: 78_211
-			.saturating_add(Weight::from_parts(28_933_603, 0).saturating_mul(r.into()))
+		//  Measured:  `884 + r * (6 ±0)`
+		//  Estimated: `22250 + r * (30 ±0)`
+		// Minimum execution time: 298_259_000 picoseconds.
+		Weight::from_parts(303_498_245, 22250)
+			// Standard Error: 874
+			.saturating_add(Weight::from_parts(352_839, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2475,18 +2446,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_caller_is_origin(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `778 + r * (240 ±0)`
-		//  Estimated: `21735 + r * (1200 ±0)`
-		// Minimum execution time: 293_588_000 picoseconds.
-		Weight::from_parts(297_568_984, 21735)
-			// Standard Error: 35_513
-			.saturating_add(Weight::from_parts(11_074_880, 0).saturating_mul(r.into()))
+		//  Measured:  `874 + r * (3 ±0)`
+		//  Estimated: `22215 + r * (15 ±0)`
+		// Minimum execution time: 295_689_000 picoseconds.
+		Weight::from_parts(314_004_541, 22215)
+			// Standard Error: 1_803
+			.saturating_add(Weight::from_parts(131_102, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 1200).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 15).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)
@@ -2498,18 +2469,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `782 + r * (480 ±0)`
-		//  Estimated: `21730 + r * (2400 ±0)`
-		// Minimum execution time: 294_929_000 picoseconds.
-		Weight::from_parts(295_916_817, 21730)
-			// Standard Error: 64_902
-			.saturating_add(Weight::from_parts(22_944_018, 0).saturating_mul(r.into()))
+		//  Measured:  `878 + r * (6 ±0)`
+		//  Estimated: `22220 + r * (30 ±0)`
+		// Minimum execution time: 297_579_000 picoseconds.
+		Weight::from_parts(299_326_920, 22220)
+			// Standard Error: 990
+			.saturating_add(Weight::from_parts(284_789, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2521,18 +2492,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_gas_left(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `783 + r * (480 ±0)`
-		//  Estimated: `21720 + r * (2405 ±0)`
-		// Minimum execution time: 296_783_000 picoseconds.
-		Weight::from_parts(299_399_332, 21720)
-			// Standard Error: 50_982
-			.saturating_add(Weight::from_parts(22_173_249, 0).saturating_mul(r.into()))
+		//  Measured:  `879 + r * (6 ±0)`
+		//  Estimated: `22205 + r * (30 ±0)`
+		// Minimum execution time: 297_651_000 picoseconds.
+		Weight::from_parts(304_465_467, 22205)
+			// Standard Error: 736
+			.saturating_add(Weight::from_parts(272_149, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2405).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).saturating_mul(r.into()))
 	}
 	/// Storage: System Account (r:2 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -2544,18 +2515,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_balance(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `921 + r * (480 ±0)`
-		//  Estimated: `24193 + r * (2451 ±0)`
-		// Minimum execution time: 294_120_000 picoseconds.
-		Weight::from_parts(305_889_989, 24193)
-			// Standard Error: 116_244
-			.saturating_add(Weight::from_parts(114_781_094, 0).saturating_mul(r.into()))
+		//  Measured:  `1050 + r * (6 ±0)`
+		//  Estimated: `25258 + r * (30 ±0)`
+		// Minimum execution time: 296_957_000 picoseconds.
+		Weight::from_parts(308_680_068, 25258)
+			// Standard Error: 1_377
+			.saturating_add(Weight::from_parts(1_419_294, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2451).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2567,18 +2538,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_value_transferred(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `792 + r * (480 ±0)`
-		//  Estimated: `21830 + r * (2400 ±0)`
-		// Minimum execution time: 295_569_000 picoseconds.
-		Weight::from_parts(299_774_774, 21830)
-			// Standard Error: 46_252
-			.saturating_add(Weight::from_parts(21_753_842, 0).saturating_mul(r.into()))
+		//  Measured:  `888 + r * (6 ±0)`
+		//  Estimated: `22305 + r * (30 ±0)`
+		// Minimum execution time: 297_735_000 picoseconds.
+		Weight::from_parts(301_533_807, 22305)
+			// Standard Error: 1_119
+			.saturating_add(Weight::from_parts(277_289, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2590,18 +2561,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_minimum_balance(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `790 + r * (480 ±0)`
-		//  Estimated: `21760 + r * (2400 ±0)`
-		// Minimum execution time: 295_400_000 picoseconds.
-		Weight::from_parts(300_637_266, 21760)
-			// Standard Error: 41_263
-			.saturating_add(Weight::from_parts(21_565_466, 0).saturating_mul(r.into()))
+		//  Measured:  `886 + r * (6 ±0)`
+		//  Estimated: `22295 + r * (30 ±0)`
+		// Minimum execution time: 299_599_000 picoseconds.
+		Weight::from_parts(303_664_496, 22295)
+			// Standard Error: 1_009
+			.saturating_add(Weight::from_parts(280_353, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2613,18 +2584,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_block_number(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `787 + r * (480 ±0)`
-		//  Estimated: `21785 + r * (2400 ±0)`
-		// Minimum execution time: 294_696_000 picoseconds.
-		Weight::from_parts(297_196_796, 21785)
-			// Standard Error: 61_173
-			.saturating_add(Weight::from_parts(21_903_191, 0).saturating_mul(r.into()))
+		//  Measured:  `883 + r * (6 ±0)`
+		//  Estimated: `22285 + r * (30 ±0)`
+		// Minimum execution time: 297_641_000 picoseconds.
+		Weight::from_parts(302_437_979, 22285)
+			// Standard Error: 669
+			.saturating_add(Weight::from_parts(270_403, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2636,18 +2607,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_now(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `778 + r * (480 ±0)`
-		//  Estimated: `21715 + r * (2400 ±0)`
-		// Minimum execution time: 297_714_000 picoseconds.
-		Weight::from_parts(306_030_237, 21715)
-			// Standard Error: 69_984
-			.saturating_add(Weight::from_parts(21_744_413, 0).saturating_mul(r.into()))
+		//  Measured:  `874 + r * (6 ±0)`
+		//  Estimated: `22215 + r * (30 ±0)`
+		// Minimum execution time: 297_217_000 picoseconds.
+		Weight::from_parts(299_538_157, 22215)
+			// Standard Error: 732
+			.saturating_add(Weight::from_parts(280_800, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2661,18 +2632,18 @@ impl WeightInfo for () {
 	/// Proof: TransactionPayment NextFeeMultiplier (max_values: Some(1), max_size: Some(16), added: 511, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_weight_to_fee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `856 + r * (800 ±0)`
-		//  Estimated: `24416 + r * (4805 ±0)`
-		// Minimum execution time: 295_180_000 picoseconds.
-		Weight::from_parts(308_851_025, 24416)
-			// Standard Error: 115_126
-			.saturating_add(Weight::from_parts(98_678_404, 0).saturating_mul(r.into()))
+		//  Measured:  `952 + r * (10 ±0)`
+		//  Estimated: `25022 + r * (60 ±0)`
+		// Minimum execution time: 297_286_000 picoseconds.
+		Weight::from_parts(311_436_352, 25022)
+			// Standard Error: 6_811
+			.saturating_add(Weight::from_parts(1_291_941, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 4805).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 60).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)
@@ -2684,18 +2655,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_gas(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `745 + r * (320 ±0)`
-		//  Estimated: `21590 + r * (1600 ±0)`
-		// Minimum execution time: 151_587_000 picoseconds.
-		Weight::from_parts(155_713_096, 21590)
-			// Standard Error: 32_464
-			.saturating_add(Weight::from_parts(8_332_778, 0).saturating_mul(r.into()))
+		//  Measured:  `841 + r * (4 ±0)`
+		//  Estimated: `22035 + r * (20 ±0)`
+		// Minimum execution time: 154_772_000 picoseconds.
+		Weight::from_parts(159_224_457, 22035)
+			// Standard Error: 212
+			.saturating_add(Weight::from_parts(102_264, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 1600).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 20).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)
@@ -2707,18 +2678,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_input(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `780 + r * (480 ±0)`
-		//  Estimated: `21715 + r * (2400 ±0)`
-		// Minimum execution time: 295_008_000 picoseconds.
-		Weight::from_parts(297_982_800, 21715)
-			// Standard Error: 37_480
-			.saturating_add(Weight::from_parts(17_970_520, 0).saturating_mul(r.into()))
+		//  Measured:  `876 + r * (6 ±0)`
+		//  Estimated: `22220 + r * (30 ±0)`
+		// Minimum execution time: 297_248_000 picoseconds.
+		Weight::from_parts(303_805_584, 22220)
+			// Standard Error: 858
+			.saturating_add(Weight::from_parts(223_587, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2400).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 30).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)
@@ -2730,15 +2701,15 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_input_per_kb(n: u32, ) -> Weight {
+	/// The range of component `n` is `[0, 1048576]`.
+	fn seal_input_per_byte(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1260`
-		//  Estimated: `24120`
-		// Minimum execution time: 314_970_000 picoseconds.
-		Weight::from_parts(345_339_508, 24120)
-			// Standard Error: 4_112
-			.saturating_add(Weight::from_parts(9_746_966, 0).saturating_mul(n.into()))
+		//  Measured:  `880`
+		//  Estimated: `22220`
+		// Minimum execution time: 298_464_000 picoseconds.
+		Weight::from_parts(300_996_431, 22220)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(600, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -2755,12 +2726,12 @@ impl WeightInfo for () {
 	/// The range of component `r` is `[0, 1]`.
 	fn seal_return(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `768 + r * (45 ±0)`
-		//  Estimated: `21660 + r * (225 ±0)`
-		// Minimum execution time: 293_072_000 picoseconds.
-		Weight::from_parts(295_694_824, 21660)
-			// Standard Error: 219_523
-			.saturating_add(Weight::from_parts(783_975, 0).saturating_mul(r.into()))
+		//  Measured:  `864 + r * (45 ±0)`
+		//  Estimated: `22140 + r * (225 ±0)`
+		// Minimum execution time: 294_347_000 picoseconds.
+		Weight::from_parts(296_793_034, 22140)
+			// Standard Error: 277_251
+			.saturating_add(Weight::from_parts(1_711_665, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 225).saturating_mul(r.into()))
@@ -2775,15 +2746,15 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_return_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `778`
-		//  Estimated: `21755`
-		// Minimum execution time: 295_959_000 picoseconds.
-		Weight::from_parts(299_004_761, 21755)
-			// Standard Error: 3_988
-			.saturating_add(Weight::from_parts(194_268, 0).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 1048576]`.
+	fn seal_return_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `874`
+		//  Estimated: `22255`
+		// Minimum execution time: 297_257_000 picoseconds.
+		Weight::from_parts(300_088_288, 22255)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(181, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -2804,17 +2775,17 @@ impl WeightInfo for () {
 	/// The range of component `r` is `[0, 1]`.
 	fn seal_terminate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `810 + r * (356 ±0)`
-		//  Estimated: `25511 + r * (15321 ±0)`
-		// Minimum execution time: 294_626_000 picoseconds.
-		Weight::from_parts(297_839_179, 25511)
-			// Standard Error: 707_428
-			.saturating_add(Weight::from_parts(81_507_620, 0).saturating_mul(r.into()))
+		//  Measured:  `906 + r * (452 ±0)`
+		//  Estimated: `26183 + r * (15994 ±0)`
+		// Minimum execution time: 296_510_000 picoseconds.
+		Weight::from_parts(299_169_757, 26183)
+			// Standard Error: 205_313
+			.saturating_add(Weight::from_parts(78_059_642, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(RocksDbWeight::get().writes((7_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 15321).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 15994).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)
@@ -2828,18 +2799,18 @@ impl WeightInfo for () {
 	/// Proof: RandomnessCollectiveFlip RandomMaterial (max_values: Some(1), max_size: Some(2594), added: 3089, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_random(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `825 + r * (800 ±0)`
-		//  Estimated: `24199 + r * (4805 ±0)`
-		// Minimum execution time: 295_431_000 picoseconds.
-		Weight::from_parts(310_428_531, 24199)
-			// Standard Error: 143_501
-			.saturating_add(Weight::from_parts(136_529_376, 0).saturating_mul(r.into()))
+		//  Measured:  `921 + r * (10 ±0)`
+		//  Estimated: `24859 + r * (60 ±0)`
+		// Minimum execution time: 299_299_000 picoseconds.
+		Weight::from_parts(314_487_015, 24859)
+			// Standard Error: 1_552
+			.saturating_add(Weight::from_parts(1_753_960, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 4805).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 60).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)
@@ -2851,18 +2822,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_deposit_event(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `778 + r * (800 ±0)`
-		//  Estimated: `21720 + r * (4000 ±0)`
-		// Minimum execution time: 293_778_000 picoseconds.
-		Weight::from_parts(323_404_081, 21720)
-			// Standard Error: 243_095
-			.saturating_add(Weight::from_parts(269_012_482, 0).saturating_mul(r.into()))
+		//  Measured:  `874 + r * (10 ±0)`
+		//  Estimated: `22215 + r * (50 ±0)`
+		// Minimum execution time: 296_188_000 picoseconds.
+		Weight::from_parts(305_901_539, 22215)
+			// Standard Error: 2_782
+			.saturating_add(Weight::from_parts(3_456_054, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 4000).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 50).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)
@@ -2872,26 +2843,25 @@ impl WeightInfo for () {
 	/// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured)
 	/// Storage: Timestamp Now (r:1 w:0)
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
-	/// Storage: System EventTopics (r:322 w:322)
+	/// Storage: System EventTopics (r:6 w:6)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[0, 4]`.
-	/// The range of component `n` is `[0, 16]`.
-	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1725 + t * (2608 ±0) + n * (7 ±0)`
-		//  Estimated: `26340 + t * (211030 ±0) + n * (50 ±0)`
-		// Minimum execution time: 1_317_129_000 picoseconds.
-		Weight::from_parts(566_722_295, 26340)
-			// Standard Error: 619_390
-			.saturating_add(Weight::from_parts(194_334_643, 0).saturating_mul(t.into()))
-			// Standard Error: 170_114
-			.saturating_add(Weight::from_parts(67_458_751, 0).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `893 + t * (32 ±0)`
+		//  Estimated: `22320 + t * (2640 ±0)`
+		// Minimum execution time: 313_860_000 picoseconds.
+		Weight::from_parts(312_473_092, 22320)
+			// Standard Error: 250_852
+			.saturating_add(Weight::from_parts(2_258_502, 0).saturating_mul(t.into()))
+			// Standard Error: 70
+			.saturating_add(Weight::from_parts(312, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(t.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((80_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 211030).saturating_mul(t.into()))
-			.saturating_add(Weight::from_parts(0, 50).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into())))
+			.saturating_add(Weight::from_parts(0, 2640).saturating_mul(t.into()))
 	}
 	/// Storage: System Account (r:1 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -2903,18 +2873,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_debug_message(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (560 ±0)`
-		//  Estimated: `21710 + r * (2800 ±0)`
-		// Minimum execution time: 159_087_000 picoseconds.
-		Weight::from_parts(163_703_981, 21710)
-			// Standard Error: 26_067
-			.saturating_add(Weight::from_parts(14_810_256, 0).saturating_mul(r.into()))
+		//  Measured:  `873 + r * (7 ±0)`
+		//  Estimated: `22205 + r * (35 ±0)`
+		// Minimum execution time: 162_043_000 picoseconds.
+		Weight::from_parts(166_132_332, 22205)
+			// Standard Error: 716
+			.saturating_add(Weight::from_parts(184_981, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 2800).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 35).saturating_mul(r.into()))
 	}
 	/// Storage: System Account (r:1 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
@@ -2926,200 +2896,187 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `i` is `[0, 1024]`.
-	fn seal_debug_message_per_kb(i: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `125728`
-		//  Estimated: `269982`
-		// Minimum execution time: 413_391_000 picoseconds.
-		Weight::from_parts(414_927_640, 269982)
-			// Standard Error: 1_740
-			.saturating_add(Weight::from_parts(763_359, 0).saturating_mul(i.into()))
+	/// The range of component `i` is `[0, 1048576]`.
+	fn seal_debug_message_per_byte(i: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `125824`
+		//  Estimated: `270073`
+		// Minimum execution time: 414_433_000 picoseconds.
+		Weight::from_parts(417_483_627, 270073)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(748, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_set_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `815 + r * (23420 ±0)`
-		//  Estimated: `815 + r * (23418 ±0)`
-		// Minimum execution time: 296_108_000 picoseconds.
-		Weight::from_parts(208_214_040, 815)
-			// Standard Error: 860_573
-			.saturating_add(Weight::from_parts(480_342_550, 0).saturating_mul(r.into()))
+		//  Measured:  `941 + r * (292 ±0)`
+		//  Estimated: `939 + r * (293 ±0)`
+		// Minimum execution time: 299_500_000 picoseconds.
+		Weight::from_parts(194_466_413, 939)
+			// Standard Error: 9_986
+			.saturating_add(Weight::from_parts(6_010_112, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 23418).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 293).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_set_storage_per_new_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12544 + n * (11945 ±0)`
-		//  Estimated: `8401 + n * (12814 ±61)`
-		// Minimum execution time: 442_286_000 picoseconds.
-		Weight::from_parts(620_395_299, 8401)
-			// Standard Error: 1_661_554
-			.saturating_add(Weight::from_parts(89_393_169, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(52_u64))
-			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(RocksDbWeight::get().writes(50_u64))
-			.saturating_add(RocksDbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 12814).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_set_storage_per_new_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1432`
+		//  Estimated: `1405`
+		// Minimum execution time: 314_171_000 picoseconds.
+		Weight::from_parts(335_595_397, 1405)
+			// Standard Error: 67
+			.saturating_add(Weight::from_parts(90, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(8_u64))
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_set_storage_per_old_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12532 + n * (175784 ±0)`
-		//  Estimated: `8396 + n * (176649 ±61)`
-		// Minimum execution time: 440_882_000 picoseconds.
-		Weight::from_parts(587_317_981, 8396)
-			// Standard Error: 1_374_991
-			.saturating_add(Weight::from_parts(66_271_084, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(51_u64))
-			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(RocksDbWeight::get().writes(49_u64))
-			.saturating_add(RocksDbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 176649).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_set_storage_per_old_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1295 + n * (1 ±0)`
+		//  Estimated: `1292 + n * (1 ±0)`
+		// Minimum execution time: 313_479_000 picoseconds.
+		Weight::from_parts(317_435_100, 1292)
+			// Standard Error: 41
+			.saturating_add(Weight::from_parts(106, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(7_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_clear_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `807 + r * (23099 ±0)`
-		//  Estimated: `812 + r * (23099 ±0)`
-		// Minimum execution time: 296_023_000 picoseconds.
-		Weight::from_parts(221_471_559, 812)
-			// Standard Error: 814_503
-			.saturating_add(Weight::from_parts(465_928_089, 0).saturating_mul(r.into()))
+		//  Measured:  `937 + r * (288 ±0)`
+		//  Estimated: `941 + r * (289 ±0)`
+		// Minimum execution time: 297_831_000 picoseconds.
+		Weight::from_parts(196_983_778, 941)
+			// Standard Error: 9_899
+			.saturating_add(Weight::from_parts(5_904_642, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 23099).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_clear_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12256 + n * (175776 ±0)`
-		//  Estimated: `8047 + n * (176655 ±62)`
-		// Minimum execution time: 412_212_000 picoseconds.
-		Weight::from_parts(569_213_147, 8047)
-			// Standard Error: 1_463_771
-			.saturating_add(Weight::from_parts(67_932_081, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(51_u64))
-			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(RocksDbWeight::get().writes(48_u64))
-			.saturating_add(RocksDbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 176655).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_clear_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1291 + n * (1 ±0)`
+		//  Estimated: `1288 + n * (1 ±0)`
+		// Minimum execution time: 320_156_000 picoseconds.
+		Weight::from_parts(327_504_368, 1288)
+			.saturating_add(RocksDbWeight::get().reads(7_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_get_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `800 + r * (23744 ±0)`
-		//  Estimated: `813 + r * (23740 ±0)`
-		// Minimum execution time: 296_007_000 picoseconds.
-		Weight::from_parts(229_100_700, 813)
-			// Standard Error: 684_970
-			.saturating_add(Weight::from_parts(394_982_991, 0).saturating_mul(r.into()))
+		//  Measured:  `931 + r * (296 ±0)`
+		//  Estimated: `936 + r * (297 ±0)`
+		// Minimum execution time: 305_849_000 picoseconds.
+		Weight::from_parts(219_649_351, 936)
+			// Standard Error: 9_157
+			.saturating_add(Weight::from_parts(4_846_108, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 23740).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_get_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12863 + n * (175784 ±0)`
-		//  Estimated: `8538 + n * (176688 ±63)`
-		// Minimum execution time: 392_306_000 picoseconds.
-		Weight::from_parts(539_188_004, 8538)
-			// Standard Error: 1_371_839
-			.saturating_add(Weight::from_parts(155_130_373, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(51_u64))
-			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(n.into())))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_get_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1307 + n * (1 ±0)`
+		//  Estimated: `1304 + n * (1 ±0)`
+		// Minimum execution time: 312_106_000 picoseconds.
+		Weight::from_parts(315_905_779, 1304)
+			// Standard Error: 44
+			.saturating_add(Weight::from_parts(674, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 176688).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_contains_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `818 + r * (23098 ±0)`
-		//  Estimated: `824 + r * (23098 ±0)`
-		// Minimum execution time: 296_038_000 picoseconds.
-		Weight::from_parts(229_462_798, 824)
-			// Standard Error: 655_463
-			.saturating_add(Weight::from_parts(372_593_685, 0).saturating_mul(r.into()))
+		//  Measured:  `952 + r * (288 ±0)`
+		//  Estimated: `953 + r * (289 ±0)`
+		// Minimum execution time: 299_372_000 picoseconds.
+		Weight::from_parts(211_293_493, 953)
+			// Standard Error: 8_509
+			.saturating_add(Weight::from_parts(4_688_993, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 23098).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_contains_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12200 + n * (175798 ±0)`
-		//  Estimated: `8028 + n * (176661 ±62)`
-		// Minimum execution time: 386_782_000 picoseconds.
-		Weight::from_parts(512_965_975, 8028)
-			// Standard Error: 1_168_132
-			.saturating_add(Weight::from_parts(63_307_325, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(51_u64))
-			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(n.into())))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_contains_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1294 + n * (1 ±0)`
+		//  Estimated: `1291 + n * (1 ±0)`
+		// Minimum execution time: 311_605_000 picoseconds.
+		Weight::from_parts(315_473_850, 1291)
+			// Standard Error: 37
+			.saturating_add(Weight::from_parts(3, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 176661).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 10]`.
+	/// The range of component `r` is `[0, 800]`.
 	fn seal_take_storage(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `815 + r * (23740 ±0)`
-		//  Estimated: `817 + r * (23739 ±0)`
-		// Minimum execution time: 296_352_000 picoseconds.
-		Weight::from_parts(212_661_296, 817)
-			// Standard Error: 879_297
-			.saturating_add(Weight::from_parts(494_182_672, 0).saturating_mul(r.into()))
+		//  Measured:  `925 + r * (296 ±0)`
+		//  Estimated: `932 + r * (297 ±0)`
+		// Minimum execution time: 298_231_000 picoseconds.
+		Weight::from_parts(200_178_698, 932)
+			// Standard Error: 10_452
+			.saturating_add(Weight::from_parts(6_107_653, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 23739).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into()))
 	}
 	/// Storage: Skipped Metadata (r:0 w:0)
 	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 8]`.
-	fn seal_take_storage_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `12864 + n * (175784 ±0)`
-		//  Estimated: `8539 + n * (176686 ±63)`
-		// Minimum execution time: 414_693_000 picoseconds.
-		Weight::from_parts(595_693_859, 8539)
-			// Standard Error: 1_673_819
-			.saturating_add(Weight::from_parts(163_090_316, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(51_u64))
-			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(n.into())))
-			.saturating_add(RocksDbWeight::get().writes(48_u64))
-			.saturating_add(RocksDbWeight::get().writes((7_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 176686).saturating_mul(n.into()))
+	/// The range of component `n` is `[0, 16384]`.
+	fn seal_take_storage_per_byte(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1308 + n * (1 ±0)`
+		//  Estimated: `1305 + n * (1 ±0)`
+		// Minimum execution time: 314_970_000 picoseconds.
+		Weight::from_parts(318_135_821, 1305)
+			// Standard Error: 26
+			.saturating_add(Weight::from_parts(630, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(7_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: System Account (r:1602 w:1601)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -3131,20 +3088,20 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_transfer(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1329 + r * (3604 ±0)`
-		//  Estimated: `25928 + r * (216096 ±4)`
-		// Minimum execution time: 299_205_000 picoseconds.
-		Weight::from_parts(221_142_217, 25928)
-			// Standard Error: 1_369_909
-			.saturating_add(Weight::from_parts(1_665_917_241, 0).saturating_mul(r.into()))
+		//  Measured:  `1501 + r * (45 ±0)`
+		//  Estimated: `27383 + r * (2700 ±0)`
+		// Minimum execution time: 299_629_000 picoseconds.
+		Weight::from_parts(150_915_187, 27383)
+			// Standard Error: 25_604
+			.saturating_add(Weight::from_parts(20_859_844, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().reads((80_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
-			.saturating_add(RocksDbWeight::get().writes((80_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 216096).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 2700).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)
@@ -3156,20 +3113,20 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:1602 w:1602)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1479 + r * (20514 ±0)`
-		//  Estimated: `26429 + r * (498656 ±1)`
-		// Minimum execution time: 297_501_000 picoseconds.
-		Weight::from_parts(298_400_000, 26429)
-			// Standard Error: 9_372_890
-			.saturating_add(Weight::from_parts(22_507_984_433, 0).saturating_mul(r.into()))
+		//  Measured:  `1670 + r * (288 ±0)`
+		//  Estimated: `27813 + r * (6391 ±0)`
+		// Minimum execution time: 299_578_000 picoseconds.
+		Weight::from_parts(300_036_000, 27813)
+			// Standard Error: 102_709
+			.saturating_add(Weight::from_parts(283_767_316, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().reads((160_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((160_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 498656).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 6391).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)
@@ -3181,48 +3138,48 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:1537 w:1537)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_delegate_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + r * (69030 ±0)`
-		//  Estimated: `21755 + r * (647542 ±560)`
-		// Minimum execution time: 297_432_000 picoseconds.
-		Weight::from_parts(298_220_000, 21755)
-			// Standard Error: 9_420_834
-			.saturating_add(Weight::from_parts(22_261_152_353, 0).saturating_mul(r.into()))
+		//  Measured:  `0 + r * (935 ±0)`
+		//  Estimated: `22235 + r * (8322 ±10)`
+		// Minimum execution time: 298_943_000 picoseconds.
+		Weight::from_parts(299_619_000, 22235)
+			// Standard Error: 117_493
+			.saturating_add(Weight::from_parts(280_555_517, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((150_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((75_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 647542).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 8322).saturating_mul(r.into()))
 	}
-	/// Storage: System Account (r:82 w:81)
+	/// Storage: System Account (r:3 w:2)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
-	/// Storage: Contracts ContractInfoOf (r:81 w:81)
+	/// Storage: Contracts ContractInfoOf (r:2 w:2)
 	/// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured)
 	/// Storage: Contracts CodeStorage (r:2 w:0)
 	/// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured)
 	/// Storage: Timestamp Now (r:1 w:0)
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
-	/// Storage: System EventTopics (r:82 w:82)
+	/// Storage: System EventTopics (r:3 w:3)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[0, 1]`.
-	/// The range of component `c` is `[0, 1024]`.
-	fn seal_call_per_transfer_clone_kb(t: u32, c: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `21581 + t * (14318 ±0)`
-		//  Estimated: `524200 + t * (272065 ±0)`
-		// Minimum execution time: 11_799_802_000 picoseconds.
-		Weight::from_parts(10_575_328_547, 524200)
-			// Standard Error: 11_952_810
-			.saturating_add(Weight::from_parts(1_603_077_083, 0).saturating_mul(t.into()))
-			// Standard Error: 17_922
-			.saturating_add(Weight::from_parts(9_876_752, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(167_u64))
-			.saturating_add(RocksDbWeight::get().reads((81_u64).saturating_mul(t.into())))
-			.saturating_add(RocksDbWeight::get().writes(163_u64))
-			.saturating_add(RocksDbWeight::get().writes((81_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 272065).saturating_mul(t.into()))
+	/// The range of component `c` is `[0, 1048576]`.
+	fn seal_call_per_transfer_clone_byte(t: u32, c: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1314 + t * (268 ±0)`
+		//  Estimated: `31815 + t * (6290 ±0)`
+		// Minimum execution time: 453_013_000 picoseconds.
+		Weight::from_parts(442_536_283, 31815)
+			// Standard Error: 1_339_541
+			.saturating_add(Weight::from_parts(17_062_445, 0).saturating_mul(t.into()))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(604, 0).saturating_mul(c.into()))
+			.saturating_add(RocksDbWeight::get().reads(9_u64))
+			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(t.into())))
+			.saturating_add(RocksDbWeight::get().writes(5_u64))
+			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(t.into())))
+			.saturating_add(Weight::from_parts(0, 6290).saturating_mul(t.into()))
 	}
 	/// Storage: System Account (r:3202 w:3202)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -3238,24 +3195,24 @@ impl WeightInfo for () {
 	/// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured)
 	/// Storage: System EventTopics (r:1602 w:1602)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_instantiate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1646 + r * (20288 ±0)`
-		//  Estimated: `32625 + r * (1330150 ±2)`
-		// Minimum execution time: 298_155_000 picoseconds.
-		Weight::from_parts(299_212_000, 32625)
-			// Standard Error: 32_410_313
-			.saturating_add(Weight::from_parts(30_417_025_178, 0).saturating_mul(r.into()))
+		//  Measured:  `1988 + r * (319 ±0)`
+		//  Estimated: `34745 + r * (17090 ±0)`
+		// Minimum execution time: 300_123_000 picoseconds.
+		Weight::from_parts(300_406_000, 34745)
+			// Standard Error: 420_997
+			.saturating_add(Weight::from_parts(382_704_025, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(8_u64))
-			.saturating_add(RocksDbWeight::get().reads((480_u64).saturating_mul(r.into())))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
-			.saturating_add(RocksDbWeight::get().writes((400_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 1330150).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
+			.saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 17090).saturating_mul(r.into()))
 	}
-	/// Storage: System Account (r:162 w:162)
+	/// Storage: System Account (r:4 w:4)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
-	/// Storage: Contracts ContractInfoOf (r:81 w:81)
+	/// Storage: Contracts ContractInfoOf (r:2 w:2)
 	/// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured)
 	/// Storage: Contracts CodeStorage (r:2 w:0)
 	/// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured)
@@ -3265,28 +3222,28 @@ impl WeightInfo for () {
 	/// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: Contracts OwnerInfoOf (r:1 w:1)
 	/// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured)
-	/// Storage: System EventTopics (r:82 w:82)
+	/// Storage: System EventTopics (r:3 w:3)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[0, 1]`.
-	/// The range of component `i` is `[0, 960]`.
-	/// The range of component `s` is `[0, 960]`.
-	fn seal_instantiate_per_transfer_input_salt_kb(t: u32, i: u32, s: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `5625 + t * (1 ±0)`
-		//  Estimated: `856795 + t * (2471 ±3)`
-		// Minimum execution time: 105_914_928_000 picoseconds.
-		Weight::from_parts(13_229_760_432, 856795)
-			// Standard Error: 96_394_437
-			.saturating_add(Weight::from_parts(398_413_888, 0).saturating_mul(t.into()))
-			// Standard Error: 157_192
-			.saturating_add(Weight::from_parts(97_104_978, 0).saturating_mul(i.into()))
-			// Standard Error: 157_192
-			.saturating_add(Weight::from_parts(97_146_130, 0).saturating_mul(s.into()))
-			.saturating_add(RocksDbWeight::get().reads(329_u64))
+	/// The range of component `i` is `[0, 983040]`.
+	/// The range of component `s` is `[0, 983040]`.
+	fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `1231 + t * (219 ±0)`
+		//  Estimated: `43797 + t * (3812 ±2)`
+		// Minimum execution time: 1_636_322_000 picoseconds.
+		Weight::from_parts(360_859_331, 43797)
+			// Standard Error: 4_816_923
+			.saturating_add(Weight::from_parts(109_179_023, 0).saturating_mul(t.into()))
+			// Standard Error: 7
+			.saturating_add(Weight::from_parts(1_180, 0).saturating_mul(i.into()))
+			// Standard Error: 7
+			.saturating_add(Weight::from_parts(1_344, 0).saturating_mul(s.into()))
+			.saturating_add(RocksDbWeight::get().reads(13_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into())))
-			.saturating_add(RocksDbWeight::get().writes(326_u64))
+			.saturating_add(RocksDbWeight::get().writes(10_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2471).saturating_mul(t.into()))
+			.saturating_add(Weight::from_parts(0, 3812).saturating_mul(t.into()))
 	}
 	/// Storage: System Account (r:1 w:0)
 	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured)
@@ -3298,18 +3255,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_sha2_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `775 + r * (642 ±0)`
-		//  Estimated: `21695 + r * (3210 ±0)`
-		// Minimum execution time: 294_309_000 picoseconds.
-		Weight::from_parts(296_241_318, 21695)
-			// Standard Error: 127_872
-			.saturating_add(Weight::from_parts(45_806_281, 0).saturating_mul(r.into()))
+		//  Measured:  `873 + r * (8 ±0)`
+		//  Estimated: `22190 + r * (40 ±0)`
+		// Minimum execution time: 297_521_000 picoseconds.
+		Weight::from_parts(303_523_260, 22190)
+			// Standard Error: 1_162
+			.saturating_add(Weight::from_parts(542_201, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3210).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -3321,15 +3278,15 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1577`
-		//  Estimated: `25630`
-		// Minimum execution time: 341_248_000 picoseconds.
-		Weight::from_parts(341_607_000, 25630)
-			// Standard Error: 66_687
-			.saturating_add(Weight::from_parts(322_250_398, 0).saturating_mul(n.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:  `881`
+		//  Estimated: `22225`
+		// Minimum execution time: 299_877_000 picoseconds.
+		Weight::from_parts(293_538_014, 22225)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(3_967, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -3343,18 +3300,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_keccak_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (642 ±0)`
-		//  Estimated: `21705 + r * (3210 ±0)`
-		// Minimum execution time: 293_810_000 picoseconds.
-		Weight::from_parts(296_719_171, 21705)
-			// Standard Error: 450_807
-			.saturating_add(Weight::from_parts(61_627_228, 0).saturating_mul(r.into()))
+		//  Measured:  `875 + r * (8 ±0)`
+		//  Estimated: `22205 + r * (40 ±0)`
+		// Minimum execution time: 297_672_000 picoseconds.
+		Weight::from_parts(299_933_312, 22205)
+			// Standard Error: 1_138
+			.saturating_add(Weight::from_parts(713_189, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3210).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -3366,15 +3323,15 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1579`
-		//  Estimated: `25675`
-		// Minimum execution time: 354_550_000 picoseconds.
-		Weight::from_parts(355_136_000, 25675)
-			// Standard Error: 61_761
-			.saturating_add(Weight::from_parts(257_021_566, 0).saturating_mul(n.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:  `883`
+		//  Estimated: `22245`
+		// Minimum execution time: 299_048_000 picoseconds.
+		Weight::from_parts(293_055_982, 22245)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(3_179, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -3388,18 +3345,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_256(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (642 ±0)`
-		//  Estimated: `21705 + r * (3210 ±0)`
-		// Minimum execution time: 293_369_000 picoseconds.
-		Weight::from_parts(295_990_893, 21705)
-			// Standard Error: 431_269
-			.saturating_add(Weight::from_parts(32_213_406, 0).saturating_mul(r.into()))
+		//  Measured:  `875 + r * (8 ±0)`
+		//  Estimated: `22220 + r * (40 ±0)`
+		// Minimum execution time: 301_991_000 picoseconds.
+		Weight::from_parts(300_027_441, 22220)
+			// Standard Error: 981
+			.saturating_add(Weight::from_parts(391_319, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3210).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -3411,15 +3368,15 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1579`
-		//  Estimated: `25650`
-		// Minimum execution time: 326_595_000 picoseconds.
-		Weight::from_parts(327_188_000, 25650)
-			// Standard Error: 53_385
-			.saturating_add(Weight::from_parts(74_046_074, 0).saturating_mul(n.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:  `883`
+		//  Estimated: `22265`
+		// Minimum execution time: 296_522_000 picoseconds.
+		Weight::from_parts(296_121_638, 22265)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(916, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -3433,18 +3390,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_hash_blake2_128(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `777 + r * (679 ±0)`
-		//  Estimated: `21705 + r * (3395 ±0)`
-		// Minimum execution time: 292_388_000 picoseconds.
-		Weight::from_parts(295_090_179, 21705)
-			// Standard Error: 170_487
-			.saturating_add(Weight::from_parts(32_577_820, 0).saturating_mul(r.into()))
+		//  Measured:  `875 + r * (8 ±0)`
+		//  Estimated: `22225 + r * (40 ±0)`
+		// Minimum execution time: 296_228_000 picoseconds.
+		Weight::from_parts(301_472_299, 22225)
+			// Standard Error: 875
+			.saturating_add(Weight::from_parts(381_027, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 3395).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 40).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)
@@ -3456,15 +3413,15 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `n` is `[0, 1024]`.
-	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1579`
-		//  Estimated: `25695`
-		// Minimum execution time: 326_862_000 picoseconds.
-		Weight::from_parts(327_449_000, 25695)
-			// Standard Error: 54_539
-			.saturating_add(Weight::from_parts(74_042_337, 0).saturating_mul(n.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:  `883`
+		//  Estimated: `22235`
+		// Minimum execution time: 296_644_000 picoseconds.
+		Weight::from_parts(289_879_744, 22235)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(925, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -3478,18 +3435,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_ecdsa_recover(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `821 + r * (6083 ±0)`
-		//  Estimated: `21925 + r * (30415 ±0)`
-		// Minimum execution time: 295_597_000 picoseconds.
-		Weight::from_parts(298_267_200, 21925)
-			// Standard Error: 699_824
-			.saturating_add(Weight::from_parts(3_021_734_700, 0).saturating_mul(r.into()))
+		//  Measured:  `800 + r * (78 ±0)`
+		//  Estimated: `21845 + r * (390 ±0)`
+		// Minimum execution time: 297_804_000 picoseconds.
+		Weight::from_parts(471_994_534, 21845)
+			// Standard Error: 9_479
+			.saturating_add(Weight::from_parts(36_886_028, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 30415).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 390).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)
@@ -3501,18 +3458,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `790 + r * (3362 ±0)`
-		//  Estimated: `21770 + r * (16810 ±0)`
-		// Minimum execution time: 295_539_000 picoseconds.
-		Weight::from_parts(297_844_822, 21770)
-			// Standard Error: 490_532
-			.saturating_add(Weight::from_parts(747_592_977, 0).saturating_mul(r.into()))
+		//  Measured:  `645 + r * (44 ±0)`
+		//  Estimated: `21110 + r * (220 ±0)`
+		// Minimum execution time: 298_623_000 picoseconds.
+		Weight::from_parts(322_192_102, 21110)
+			// Standard Error: 3_207
+			.saturating_add(Weight::from_parts(9_243_653, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 16810).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 220).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)
@@ -3526,20 +3483,20 @@ impl WeightInfo for () {
 	/// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured)
 	/// Storage: System EventTopics (r:1538 w:1538)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_set_code_hash(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + r * (74020 ±0)`
-		//  Estimated: `69192 + r * (913289 ±821)`
-		// Minimum execution time: 295_164_000 picoseconds.
-		Weight::from_parts(296_597_000, 69192)
-			// Standard Error: 3_646_577
-			.saturating_add(Weight::from_parts(1_725_796_807, 0).saturating_mul(r.into()))
+		//  Measured:  `0 + r * (1030 ±0)`
+		//  Estimated: `30592 + r * (11919 ±7)`
+		// Minimum execution time: 298_574_000 picoseconds.
+		Weight::from_parts(299_383_000, 30592)
+			// Standard Error: 44_061
+			.saturating_add(Weight::from_parts(21_625_366, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((225_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(RocksDbWeight::get().writes((150_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 913289).saturating_mul(r.into()))
+			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into())))
+			.saturating_add(Weight::from_parts(0, 11919).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)
@@ -3551,18 +3508,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_reentrance_count(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `773 + r * (240 ±0)`
-		//  Estimated: `21685 + r * (1200 ±0)`
-		// Minimum execution time: 296_287_000 picoseconds.
-		Weight::from_parts(300_696_694, 21685)
-			// Standard Error: 27_891
-			.saturating_add(Weight::from_parts(10_943_994, 0).saturating_mul(r.into()))
+		//  Measured:  `869 + r * (3 ±0)`
+		//  Estimated: `22215 + r * (15 ±0)`
+		// Minimum execution time: 297_014_000 picoseconds.
+		Weight::from_parts(301_226_615, 22215)
+			// Standard Error: 439
+			.saturating_add(Weight::from_parts(143_017, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 1200).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 15).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)
@@ -3574,18 +3531,18 @@ impl WeightInfo for () {
 	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_account_reentrance_count(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2006 + r * (3154 ±0)`
-		//  Estimated: `26435 + r * (15875 ±2)`
-		// Minimum execution time: 298_000_000 picoseconds.
-		Weight::from_parts(328_282_119, 26435)
-			// Standard Error: 104_874
-			.saturating_add(Weight::from_parts(18_428_267, 0).saturating_mul(r.into()))
+		//  Measured:  `2072 + r * (39 ±0)`
+		//  Estimated: `27645 + r * (200 ±0)`
+		// Minimum execution time: 299_074_000 picoseconds.
+		Weight::from_parts(336_979_016, 27645)
+			// Standard Error: 1_163
+			.saturating_add(Weight::from_parts(227_998, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
-			.saturating_add(Weight::from_parts(0, 15875).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 200).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)
@@ -3599,537 +3556,525 @@ impl WeightInfo for () {
 	/// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured)
 	/// Storage: System EventTopics (r:2 w:2)
 	/// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured)
-	/// The range of component `r` is `[0, 20]`.
+	/// The range of component `r` is `[0, 1600]`.
 	fn seal_instantiation_nonce(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `776 + r * (240 ±0)`
-		//  Estimated: `23962 + r * (1440 ±0)`
-		// Minimum execution time: 295_104_000 picoseconds.
-		Weight::from_parts(299_334_585, 23962)
-			// Standard Error: 25_840
-			.saturating_add(Weight::from_parts(9_744_866, 0).saturating_mul(r.into()))
+		//  Measured:  `872 + r * (3 ±0)`
+		//  Estimated: `24580 + r * (18 ±0)`
+		// Minimum execution time: 296_959_000 picoseconds.
+		Weight::from_parts(303_796_839, 24580)
+			// Standard Error: 534
+			.saturating_add(Weight::from_parts(118_978, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
-			.saturating_add(Weight::from_parts(0, 1440).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 18).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64const(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_132_000 picoseconds.
-		Weight::from_parts(1_100_159, 0)
-			// Standard Error: 10_131
-			.saturating_add(Weight::from_parts(436_462, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_020_000 picoseconds.
+		Weight::from_parts(1_355_107, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(4_110, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64load(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_368_000 picoseconds.
-		Weight::from_parts(1_974_308, 0)
-			// Standard Error: 811
-			.saturating_add(Weight::from_parts(1_079_620, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_224_000 picoseconds.
+		Weight::from_parts(1_819_284, 0)
+			// Standard Error: 10
+			.saturating_add(Weight::from_parts(10_803, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64store(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_354_000 picoseconds.
-		Weight::from_parts(2_057_834, 0)
-			// Standard Error: 4_277
-			.saturating_add(Weight::from_parts(1_008_797, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_216_000 picoseconds.
+		Weight::from_parts(1_795_011, 0)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(10_000, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_select(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_218_000 picoseconds.
-		Weight::from_parts(1_594_528, 0)
-			// Standard Error: 723
-			.saturating_add(Weight::from_parts(1_147_486, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_127_000 picoseconds.
+		Weight::from_parts(1_491_730, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(11_471, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_if(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_156_000 picoseconds.
-		Weight::from_parts(1_460_611, 0)
-			// Standard Error: 419
-			.saturating_add(Weight::from_parts(1_314_741, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_044_000 picoseconds.
+		Weight::from_parts(2_330_852, 0)
+			// Standard Error: 69
+			.saturating_add(Weight::from_parts(12_866, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_br(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_166_000 picoseconds.
-		Weight::from_parts(1_454_460, 0)
-			// Standard Error: 493
-			.saturating_add(Weight::from_parts(642_481, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_067_000 picoseconds.
+		Weight::from_parts(1_399_626, 0)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(6_430, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_br_if(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_144_000 picoseconds.
-		Weight::from_parts(1_410_515, 0)
-			// Standard Error: 894
-			.saturating_add(Weight::from_parts(958_765, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_087_000 picoseconds.
+		Weight::from_parts(1_463_592, 0)
+			// Standard Error: 12
+			.saturating_add(Weight::from_parts(9_707, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_br_table(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_190_000 picoseconds.
-		Weight::from_parts(1_143_236, 0)
-			// Standard Error: 2_773
-			.saturating_add(Weight::from_parts(1_164_764, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_110_000 picoseconds.
+		Weight::from_parts(1_058_258, 0)
+			// Standard Error: 22
+			.saturating_add(Weight::from_parts(11_713, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `e` is `[1, 256]`.
-	fn instr_br_table_per_entry(e: u32, ) -> Weight {
+	fn instr_br_table_per_entry(_e: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_993_000 picoseconds.
-		Weight::from_parts(3_270_525, 0)
-			// Standard Error: 65
-			.saturating_add(Weight::from_parts(4_418, 0).saturating_mul(e.into()))
+		// Minimum execution time: 1_189_000 picoseconds.
+		Weight::from_parts(1_416_188, 0)
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_call(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_163_000 picoseconds.
-		Weight::from_parts(1_999_458, 0)
-			// Standard Error: 1_418
-			.saturating_add(Weight::from_parts(2_371_979, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_201_000 picoseconds.
+		Weight::from_parts(3_375_851, 0)
+			// Standard Error: 96
+			.saturating_add(Weight::from_parts(22_970, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_call_indirect(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_288_000 picoseconds.
-		Weight::from_parts(2_340_227, 0)
-			// Standard Error: 3_234
-			.saturating_add(Weight::from_parts(3_038_523, 0).saturating_mul(r.into()))
-	}
-	/// The range of component `p` is `[0, 128]`.
-	fn instr_call_indirect_per_param(p: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 5_270_000 picoseconds.
-		Weight::from_parts(6_360_011, 0)
-			// Standard Error: 2_585
-			.saturating_add(Weight::from_parts(226_149, 0).saturating_mul(p.into()))
+		// Minimum execution time: 1_286_000 picoseconds.
+		Weight::from_parts(2_817_725, 0)
+			// Standard Error: 55
+			.saturating_add(Weight::from_parts(29_437, 0).saturating_mul(r.into()))
 	}
 	/// The range of component `l` is `[0, 1024]`.
 	fn instr_call_per_local(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_580_000 picoseconds.
-		Weight::from_parts(5_183_658, 0)
-			// Standard Error: 80
-			.saturating_add(Weight::from_parts(46_038, 0).saturating_mul(l.into()))
+		// Minimum execution time: 1_319_000 picoseconds.
+		Weight::from_parts(1_636_286, 0)
+			// Standard Error: 31
+			.saturating_add(Weight::from_parts(1_240, 0).saturating_mul(l.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_local_get(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_559_000 picoseconds.
-		Weight::from_parts(2_846_350, 0)
-			// Standard Error: 2_809
-			.saturating_add(Weight::from_parts(462_084, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_507_000 picoseconds.
+		Weight::from_parts(2_785_119, 0)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(4_601, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_local_set(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_530_000 picoseconds.
-		Weight::from_parts(2_835_072, 0)
-			// Standard Error: 479
-			.saturating_add(Weight::from_parts(483_451, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_494_000 picoseconds.
+		Weight::from_parts(2_948_015, 0)
+			// Standard Error: 14
+			.saturating_add(Weight::from_parts(4_788, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_local_tee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_510_000 picoseconds.
-		Weight::from_parts(2_740_081, 0)
-			// Standard Error: 901
-			.saturating_add(Weight::from_parts(664_354, 0).saturating_mul(r.into()))
+		// Minimum execution time: 2_443_000 picoseconds.
+		Weight::from_parts(3_065_273, 0)
+			// Standard Error: 15
+			.saturating_add(Weight::from_parts(6_489, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_global_get(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_295_000 picoseconds.
-		Weight::from_parts(1_798_174, 0)
-			// Standard Error: 464
-			.saturating_add(Weight::from_parts(896_289, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_214_000 picoseconds.
+		Weight::from_parts(1_634_049, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_960, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_global_set(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_287_000 picoseconds.
-		Weight::from_parts(1_636_548, 0)
-			// Standard Error: 658
-			.saturating_add(Weight::from_parts(923_295, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_180_000 picoseconds.
+		Weight::from_parts(1_555_599, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_205, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_memory_current(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_353_000 picoseconds.
-		Weight::from_parts(1_672_309, 0)
-			// Standard Error: 403
-			.saturating_add(Weight::from_parts(818_273, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_223_000 picoseconds.
+		Weight::from_parts(1_626_002, 0)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(8_181, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 1]`.
+	/// The range of component `r` is `[0, 16]`.
 	fn instr_memory_grow(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_180_000 picoseconds.
-		Weight::from_parts(1_304_714, 0)
-			// Standard Error: 88_180
-			.saturating_add(Weight::from_parts(183_952_985, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_148_000 picoseconds.
+		Weight::from_parts(307_155, 0)
+			// Standard Error: 138_541
+			.saturating_add(Weight::from_parts(13_291_570, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64clz(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_158_000 picoseconds.
-		Weight::from_parts(1_800_065, 0)
-			// Standard Error: 2_104
-			.saturating_add(Weight::from_parts(625_410, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_079_000 picoseconds.
+		Weight::from_parts(1_372_409, 0)
+			// Standard Error: 50
+			.saturating_add(Weight::from_parts(6_427, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ctz(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_208_000 picoseconds.
-		Weight::from_parts(1_483_908, 0)
-			// Standard Error: 319
-			.saturating_add(Weight::from_parts(635_095, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_116_000 picoseconds.
+		Weight::from_parts(1_415_180, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_353, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64popcnt(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_164_000 picoseconds.
-		Weight::from_parts(1_506_871, 0)
-			// Standard Error: 264
-			.saturating_add(Weight::from_parts(633_660, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_058_000 picoseconds.
+		Weight::from_parts(1_314_206, 0)
+			// Standard Error: 35
+			.saturating_add(Weight::from_parts(6_431, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64eqz(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_141_000 picoseconds.
-		Weight::from_parts(1_467_219, 0)
-			// Standard Error: 191
-			.saturating_add(Weight::from_parts(651_156, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_059_000 picoseconds.
+		Weight::from_parts(1_455_331, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_507, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64extendsi32(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_170_000 picoseconds.
-		Weight::from_parts(1_474_718, 0)
-			// Standard Error: 224
-			.saturating_add(Weight::from_parts(617_317, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_057_000 picoseconds.
+		Weight::from_parts(1_421_085, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_177, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64extendui32(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_195_000 picoseconds.
-		Weight::from_parts(1_501_421, 0)
-			// Standard Error: 221
-			.saturating_add(Weight::from_parts(616_559, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_079_000 picoseconds.
+		Weight::from_parts(1_429_275, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(6_175, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i32wrapi64(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_172_000 picoseconds.
-		Weight::from_parts(1_482_402, 0)
-			// Standard Error: 2_163
-			.saturating_add(Weight::from_parts(619_230, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_065_000 picoseconds.
+		Weight::from_parts(1_403_813, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(6_192, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64eq(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_149_000 picoseconds.
-		Weight::from_parts(2_021_801, 0)
-			// Standard Error: 20_804
-			.saturating_add(Weight::from_parts(913_888, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_061_000 picoseconds.
+		Weight::from_parts(1_421_984, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_094, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ne(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_187_000 picoseconds.
-		Weight::from_parts(1_358_437, 0)
-			// Standard Error: 1_946
-			.saturating_add(Weight::from_parts(916_378, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_075_000 picoseconds.
+		Weight::from_parts(1_431_453, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(9_084, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64lts(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_175_000 picoseconds.
-		Weight::from_parts(1_527_336, 0)
-			// Standard Error: 243
-			.saturating_add(Weight::from_parts(907_580, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_100_000 picoseconds.
+		Weight::from_parts(1_452_384, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(9_081, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ltu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_220_000 picoseconds.
-		Weight::from_parts(1_530_715, 0)
-			// Standard Error: 224
-			.saturating_add(Weight::from_parts(906_096, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_090_000 picoseconds.
+		Weight::from_parts(1_466_416, 0)
+			// Standard Error: 17
+			.saturating_add(Weight::from_parts(9_091, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64gts(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_107_000 picoseconds.
-		Weight::from_parts(1_496_553, 0)
-			// Standard Error: 299
-			.saturating_add(Weight::from_parts(907_963, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_056_000 picoseconds.
+		Weight::from_parts(1_676_091, 0)
+			// Standard Error: 47
+			.saturating_add(Weight::from_parts(9_082, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64gtu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_153_000 picoseconds.
-		Weight::from_parts(1_482_710, 0)
-			// Standard Error: 182
-			.saturating_add(Weight::from_parts(918_439, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_053_000 picoseconds.
+		Weight::from_parts(1_232_790, 0)
+			// Standard Error: 43
+			.saturating_add(Weight::from_parts(9_329, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64les(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_142_000 picoseconds.
-		Weight::from_parts(1_522_114, 0)
-			// Standard Error: 297
-			.saturating_add(Weight::from_parts(906_633, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_091_000 picoseconds.
+		Weight::from_parts(1_476_212, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_074, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64leu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_119_000 picoseconds.
-		Weight::from_parts(2_199_831, 0)
-			// Standard Error: 4_234
-			.saturating_add(Weight::from_parts(898_161, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_083_000 picoseconds.
+		Weight::from_parts(1_484_966, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(9_184, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64ges(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_163_000 picoseconds.
-		Weight::from_parts(1_489_404, 0)
-			// Standard Error: 416
-			.saturating_add(Weight::from_parts(908_450, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_089_000 picoseconds.
+		Weight::from_parts(1_516_766, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_063, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64geu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_204_000 picoseconds.
-		Weight::from_parts(2_266_296, 0)
-			// Standard Error: 13_013
-			.saturating_add(Weight::from_parts(899_225, 0).saturating_mul(r.into()))
+		// Minimum execution time: 996_000 picoseconds.
+		Weight::from_parts(1_460_638, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(9_076, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64add(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_160_000 picoseconds.
-		Weight::from_parts(1_470_799, 0)
-			// Standard Error: 422
-			.saturating_add(Weight::from_parts(897_325, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_095_000 picoseconds.
+		Weight::from_parts(1_448_412, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_977, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64sub(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_125_000 picoseconds.
-		Weight::from_parts(1_521_508, 0)
-			// Standard Error: 594
-			.saturating_add(Weight::from_parts(886_145, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_071_000 picoseconds.
+		Weight::from_parts(1_459_165, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(8_852, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64mul(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_139_000 picoseconds.
-		Weight::from_parts(1_490_535, 0)
-			// Standard Error: 211
-			.saturating_add(Weight::from_parts(884_929, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_082_000 picoseconds.
+		Weight::from_parts(1_450_718, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_860, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64divs(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_180_000 picoseconds.
-		Weight::from_parts(2_221_481, 0)
-			// Standard Error: 9_884
-			.saturating_add(Weight::from_parts(1_507_511, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_065_000 picoseconds.
+		Weight::from_parts(1_436_871, 0)
+			// Standard Error: 9
+			.saturating_add(Weight::from_parts(15_241, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64divu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_131_000 picoseconds.
-		Weight::from_parts(1_498_652, 0)
-			// Standard Error: 531
-			.saturating_add(Weight::from_parts(1_451_498, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_065_000 picoseconds.
+		Weight::from_parts(1_423_806, 0)
+			// Standard Error: 17
+			.saturating_add(Weight::from_parts(14_706, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64rems(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_145_000 picoseconds.
-		Weight::from_parts(1_504_118, 0)
-			// Standard Error: 439
-			.saturating_add(Weight::from_parts(1_521_895, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_059_000 picoseconds.
+		Weight::from_parts(1_735_816, 0)
+			// Standard Error: 66
+			.saturating_add(Weight::from_parts(15_230, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64remu(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_124_000 picoseconds.
-		Weight::from_parts(1_497_209, 0)
-			// Standard Error: 198
-			.saturating_add(Weight::from_parts(1_449_843, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_076_000 picoseconds.
+		Weight::from_parts(1_451_290, 0)
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(14_530, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64and(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_169_000 picoseconds.
-		Weight::from_parts(1_534_491, 0)
-			// Standard Error: 283
-			.saturating_add(Weight::from_parts(894_703, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_079_000 picoseconds.
+		Weight::from_parts(1_457_537, 0)
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(8_963, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64or(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_178_000 picoseconds.
-		Weight::from_parts(1_485_473, 0)
-			// Standard Error: 552
-			.saturating_add(Weight::from_parts(897_878, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_032_000 picoseconds.
+		Weight::from_parts(1_475_315, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(8_956, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64xor(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_214_000 picoseconds.
-		Weight::from_parts(1_580_999, 0)
-			// Standard Error: 358
-			.saturating_add(Weight::from_parts(894_207, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_056_000 picoseconds.
+		Weight::from_parts(1_450_071, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(8_960, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64shl(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_176_000 picoseconds.
-		Weight::from_parts(1_490_470, 0)
-			// Standard Error: 738
-			.saturating_add(Weight::from_parts(904_900, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_116_000 picoseconds.
+		Weight::from_parts(1_429_705, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(9_027, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64shrs(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_197_000 picoseconds.
-		Weight::from_parts(1_519_703, 0)
-			// Standard Error: 336
-			.saturating_add(Weight::from_parts(901_277, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_059_000 picoseconds.
+		Weight::from_parts(1_429_307, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_048, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64shru(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_166_000 picoseconds.
-		Weight::from_parts(1_507_499, 0)
-			// Standard Error: 298
-			.saturating_add(Weight::from_parts(901_153, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_093_000 picoseconds.
+		Weight::from_parts(1_411_827, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_528, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64rotl(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_158_000 picoseconds.
-		Weight::from_parts(1_491_176, 0)
-			// Standard Error: 341
-			.saturating_add(Weight::from_parts(901_880, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_115_000 picoseconds.
+		Weight::from_parts(1_441_025, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_043, 0).saturating_mul(r.into()))
 	}
-	/// The range of component `r` is `[0, 50]`.
+	/// The range of component `r` is `[0, 5000]`.
 	fn instr_i64rotr(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_207_000 picoseconds.
-		Weight::from_parts(1_477_261, 0)
-			// Standard Error: 287
-			.saturating_add(Weight::from_parts(902_622, 0).saturating_mul(r.into()))
+		// Minimum execution time: 1_077_000 picoseconds.
+		Weight::from_parts(1_480_666, 0)
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(9_031, 0).saturating_mul(r.into()))
 	}
 }