From aaa9a3631d29f757552ffcc8b97aa7091c0b27b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Thei=C3=9Fen?= Date: Thu, 16 Mar 2023 20:19:48 +0100 Subject: [PATCH] contracts: Simplify benchmarks (#13595) * Remove batching * Benchmark in bytes not kilobytes * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts * Add rationale for picking batch numbers --------- Co-authored-by: command-bot <> --- frame/contracts/src/benchmarking/code.rs | 2 +- frame/contracts/src/benchmarking/mod.rs | 789 +++-- frame/contracts/src/schedule.rs | 222 +- frame/contracts/src/wasm/prepare.rs | 2 +- frame/contracts/src/weights.rs | 3383 +++++++++++----------- 5 files changed, 2092 insertions(+), 2306 deletions(-) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index aa44cc3976a2c..96eb5e501d068 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -512,7 +512,7 @@ pub fn max_pages() -> u32 { fn inject_gas_metering(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/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index c18d9ffb4b584..873314981b7ed 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/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 { @@ -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::() * 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::::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::("account", n, 0)) .collect::>(); 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::("account", n, 0)) .collect::>(); 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::::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::::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::::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::::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::::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::::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::::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::::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::() * 64; - let pages = code::max_pages::(); - let buffer_size = pages * 64 * 1024 - 4; + seal_input_per_byte { + let n in 0 .. code::max_pages::() * 64 * 1024; + let buffer_size = code::max_pages::() * 64 * 1024 - 4; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::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::() * 64; + seal_return_per_byte { + let n in 0 .. code::max_pages::() * 64 * 1024; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::>().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::>().encode(); + let topics_len = topics.len(); let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::>(); @@ -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::>(); - let key_bytes = keys.iter().flatten().cloned().collect::>(); + let key = vec![0u8; max_key_len as usize]; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; let info = instance.info()?; - for key in keys { - info.write( - &VarSizedKey::::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::::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::>(); - let key_bytes = keys.iter().flatten().cloned().collect::>(); + let key = vec![0u8; max_key_len as usize]; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; let info = instance.info()?; - for key in keys { - info.write( - &VarSizedKey::::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::::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::>(); @@ -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::>(); - let key_bytes = keys.iter().flatten().cloned().collect::>(); + let key = vec![0u8; max_key_len as usize]; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; let info = instance.info()?; - for key in keys { - info.write( - &VarSizedKey::::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::::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::>(); @@ -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::>(); - let key_bytes = keys.iter().flatten().cloned().collect::>(); - let key_bytes_len = key_bytes.len(); + let key = vec![0u8; max_key_len as usize]; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; let info = instance.info()?; - for key in keys { - info.write( - &VarSizedKey::::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::::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.")?; >::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::>(); @@ -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::>(); - let key_bytes = keys.iter().flatten().cloned().collect::>(); + let key = vec![0u8; max_key_len as usize]; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; let info = instance.info()?; - for key in keys { - info.write( - &VarSizedKey::::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::::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.")?; >::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::>(); @@ -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::>(); - let key_bytes = keys.iter().flatten().cloned().collect::>(); - let key_bytes_len = key_bytes.len(); + let key = vec![0u8; max_key_len as usize]; let code = WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; let info = instance.info()?; - for key in keys { - info.write( - &VarSizedKey::::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::::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.")?; >::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::("receiver", i, 0)) .collect::>(); 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::::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::::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::, _>>()?; 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::::dummy_with_bytes(i); Contracts::::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::() * 64; - let callees = (0..API_BENCHMARK_BATCH_SIZE) - .map(|i| Contract::with_index(i + 1, >::dummy(), vec![])) - .collect::, _>>()?; - 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::>(); + let c in 0 .. code::max_pages::() * 64 * 1024; + let callee = Contract::with_index(5, >::dummy(), vec![])?; let value: BalanceOf = 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::::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::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), @@ -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::::new(code, vec![])?; - instance.set_balance((value + Pallet::::min_balance()) * (r * API_BENCHMARK_BATCH_SIZE + 1).into()); + instance.set_balance((value + Pallet::::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::() - 1) * 64; - let s in 0 .. (code::max_pages::() - 1) * 64; + let i in 0 .. (code::max_pages::() - 1) * 64 * 1024; + let s in 0 .. (code::max_pages::() - 1) * 64 * 1024; let callee_code = WasmModule::::dummy(); let hash = callee_code.hash; let hash_bytes = callee_code.hash.encode(); let hash_len = hash_bytes.len(); Contracts::::store_code_raw(callee_code.code, whitelisted_caller())?; - let salts = (0..API_BENCHMARK_BATCH_SIZE).map(|x| x.encode()).collect::>(); - let salt_len = salts.get(0).map(|x| x.len()).unwrap_or(0); - let salt_bytes = salts.iter().cloned().flatten().collect::>(); - let salts_len = salt_bytes.len(); - let value: BalanceOf = t.into(); + let value: BalanceOf = 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::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), 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::::new(code, vec![])?; - instance.set_balance((value + Pallet::::min_balance()) * (API_BENCHMARK_BATCH_SIZE + 1).into()); + instance.set_balance(value + (Pallet::::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::::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::() * 64; + seal_hash_sha2_256_per_byte { + let n in 0 .. code::max_pages::() * 64 * 1024; let instance = Contract::::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::::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::() * 64; + seal_hash_keccak_256_per_byte { + let n in 0 .. code::max_pages::() * 64 * 1024; let instance = Contract::::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::::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::() * 64; + seal_hash_blake2_256_per_byte { + let n in 0 .. code::max_pages::() * 64 * 1024; let instance = Contract::::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::::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::() * 64; + seal_hash_blake2_128_per_byte { + let n in 0 .. code::max_pages::() * 64 * 1024; let instance = Contract::::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::::dummy_with_bytes(i); Contracts::::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::::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::, _>>()?; 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::::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::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), - 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::() * 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::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), - 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::() * 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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::from(ModuleDefinition { memory: Some(ImportedMemory::max::()), - 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::().max_pages; + let r in 0 .. ImportedMemory::max::().max_pages; let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { memory: Some(ImportedMemory { min_pages: 0, - max_pages, + max_pages: ImportedMemory::max::().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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::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::::binary_instr( Instruction::I64Rotr, - r * INSTR_BENCHMARK_BATCH_SIZE, + r, )); }: { sbox.invoke(); diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index 71faf08c23d6a..796a7f6d3718d 100644 --- a/frame/contracts/src/schedule.rs +++ b/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 { 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 Default for InstructionWeights { fn default() -> Self { - let max_pages = Limits::default().memory_pages; Self { version: 4, fallback: 0, @@ -548,7 +493,6 @@ impl Default for InstructionWeights { 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 Default for InstructionWeights { 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 Default for InstructionWeights { impl Default for HostFnWeights { 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 Default for HostFnWeights { struct ScheduleRules<'a, T: Config> { schedule: &'a Schedule, - params: Vec, determinism: Determinism, } impl Schedule { - 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 { 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/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 3c69fc2a7940f..eed60891d66f4 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/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 { - 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/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index ae8638eb73431..b16f11eb7f50a 100644 --- a/frame/contracts/src/weights.rs +++ b/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 WeightInfo for SubstrateWeight { // 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { // 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { // 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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 WeightInfo for SubstrateWeight { /// 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())) } }