diff --git a/Cargo.lock b/Cargo.lock index 2a06b1f993e59..8c11e469f7818 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6263,7 +6263,6 @@ dependencies = [ "sp-std", "wasm-instrument 0.4.0", "wasmi", - "wasmparser-nostd", "wat", ] diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml index e784321c388a0..3d88c3831375b 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -21,16 +21,15 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features = ] } scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } log = { version = "0.4", default-features = false } -wasm-instrument = { version = "0.4", default-features = false } serde = { version = "1", optional = true, features = ["derive"] } smallvec = { version = "1", default-features = false, features = [ "const_generics", ] } wasmi = { version = "0.30", default-features = false } -wasmparser = { package = "wasmparser-nostd", version = "0.100", default-features = false } impl-trait-for-tuples = "0.2" -# Only used in benchmarking to generate random contract code +# Only used in benchmarking to generate contract code +wasm-instrument = { version = "0.4", optional = true, default-features = false } rand = { version = "0.8", optional = true, default-features = false } rand_pcg = { version = "0.3", optional = true } @@ -81,12 +80,12 @@ std = [ "pallet-contracts-proc-macro/full", "log/std", "rand/std", - "wasmparser/std", "environmental/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", "rand", "rand_pcg", + "wasm-instrument", ] try-runtime = ["frame-support/try-runtime"] diff --git a/frame/contracts/fixtures/dummy.wat b/frame/contracts/fixtures/dummy.wat index 0aeefbcb7ebfe..a6435e49df222 100644 --- a/frame/contracts/fixtures/dummy.wat +++ b/frame/contracts/fixtures/dummy.wat @@ -1,5 +1,6 @@ ;; A valid contract which does nothing at all (module + (import "env" "memory" (memory 1 1)) (func (export "deploy")) (func (export "call")) ) diff --git a/frame/contracts/fixtures/float_instruction.wat b/frame/contracts/fixtures/float_instruction.wat index c19b5c12cdcec..efa6b9de52de6 100644 --- a/frame/contracts/fixtures/float_instruction.wat +++ b/frame/contracts/fixtures/float_instruction.wat @@ -1,5 +1,6 @@ ;; Module that contains a float instruction which is illegal in deterministic mode (module + (import "env" "memory" (memory 1 1)) (func (export "call") f32.const 1 drop diff --git a/frame/contracts/fixtures/invalid_contract.wat b/frame/contracts/fixtures/invalid_contract_no_call.wat similarity index 68% rename from frame/contracts/fixtures/invalid_contract.wat rename to frame/contracts/fixtures/invalid_contract_no_call.wat index 085569000c559..34f7c99ba85e4 100644 --- a/frame/contracts/fixtures/invalid_contract.wat +++ b/frame/contracts/fixtures/invalid_contract_no_call.wat @@ -1,4 +1,5 @@ ;; Valid module but missing the call function (module + (import "env" "memory" (memory 1 1)) (func (export "deploy")) ) diff --git a/frame/contracts/fixtures/invalid_contract_no_memory.wat b/frame/contracts/fixtures/invalid_contract_no_memory.wat new file mode 100644 index 0000000000000..0aeefbcb7ebfe --- /dev/null +++ b/frame/contracts/fixtures/invalid_contract_no_memory.wat @@ -0,0 +1,5 @@ +;; A valid contract which does nothing at all +(module + (func (export "deploy")) + (func (export "call")) +) diff --git a/frame/contracts/fixtures/run_out_of_gas.wat b/frame/contracts/fixtures/run_out_of_gas.wat index 52ee92539fd52..fe53e92c4fa84 100644 --- a/frame/contracts/fixtures/run_out_of_gas.wat +++ b/frame/contracts/fixtures/run_out_of_gas.wat @@ -1,4 +1,5 @@ (module + (import "env" "memory" (memory 1 1)) (func (export "call") (loop $inf (br $inf)) ;; just run out of gas (unreachable) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 027c17c1d69fe..2f50611b41c21 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -122,7 +122,7 @@ impl From for WasmModule { // internal functions start at that offset. let func_offset = u32::try_from(def.imported_functions.len()).unwrap(); - // Every contract must export "deploy" and "call" functions + // Every contract must export "deploy" and "call" functions. let mut contract = builder::module() // deploy function (first internal function) .function() @@ -163,15 +163,16 @@ impl From for WasmModule { } // Grant access to linear memory. - if let Some(memory) = &def.memory { - contract = contract - .import() - .module("env") - .field("memory") - .external() - .memory(memory.min_pages, Some(memory.max_pages)) - .build(); - } + // Every contract module is required to have an imported memory. + // If no memory is specified in the passed ModuleDefenition, then + // default to (1, 1). + let (init, max) = if let Some(memory) = &def.memory { + (memory.min_pages, Some(memory.max_pages)) + } else { + (1, Some(1)) + }; + + contract = contract.import().path("env", "memory").external().memory(init, max).build(); // Import supervisor functions. They start with idx 0. for func in def.imported_functions { diff --git a/frame/contracts/src/benchmarking/sandbox.rs b/frame/contracts/src/benchmarking/sandbox.rs index b323c92079bd5..34974b02ea0c4 100644 --- a/frame/contracts/src/benchmarking/sandbox.rs +++ b/frame/contracts/src/benchmarking/sandbox.rs @@ -19,7 +19,9 @@ /// ! sandbox to execute the Wasm code. This is because we do not need the full /// ! environment that provides the seal interface as imported functions. use super::{code::WasmModule, Config}; -use crate::wasm::{AllowDeprecatedInterface, AllowUnstableInterface, Environment, WasmBlob}; +use crate::wasm::{ + AllowDeprecatedInterface, AllowUnstableInterface, Determinism, Environment, WasmBlob, +}; use sp_core::Get; use wasmi::{errors::LinkerError, Func, Linker, StackLimits, Store}; @@ -44,6 +46,7 @@ impl From<&WasmModule> for Sandbox { &module.code, (), &::Schedule::get(), + Determinism::Relaxed, StackLimits::default(), // We are testing with an empty environment anyways AllowDeprecatedInterface::No, diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index e855eb8917f43..bf6fd6309c822 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -885,6 +885,8 @@ pub mod pallet { CodeTooLarge, /// No code could be found at the supplied code hash. CodeNotFound, + /// No code info could be found at the supplied code hash. + CodeInfoNotFound, /// A buffer outside of sandbox memory was passed to a contract API function. OutOfBounds, /// Input passed to a contract API function failed to decode as expected type. diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 1347e83ac9a5c..2e9d1176213ee 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -2055,7 +2055,7 @@ fn disabled_chain_extension_errors_on_call() { TestExtension::disable(); assert_err_ignore_postinfo!( Contracts::call(RuntimeOrigin::signed(ALICE), addr.clone(), 0, GAS_LIMIT, None, vec![],), - Error::::NoChainExtension, + Error::::CodeRejected, ); }); } @@ -4419,10 +4419,10 @@ fn code_rejected_error_works() { assert_err!(result.result, >::CodeRejected); assert_eq!( std::str::from_utf8(&result.debug_message).unwrap(), - "Validation of new code failed!" + "Can't load the module into wasmi!" ); - let (wasm, _) = compile_module::("invalid_contract").unwrap(); + let (wasm, _) = compile_module::("invalid_contract_no_call").unwrap(); assert_noop!( Contracts::upload_code( RuntimeOrigin::signed(ALICE), @@ -4449,6 +4449,34 @@ fn code_rejected_error_works() { std::str::from_utf8(&result.debug_message).unwrap(), "call function isn't exported" ); + + let (wasm, _) = compile_module::("invalid_contract_no_memory").unwrap(); + assert_noop!( + Contracts::upload_code( + RuntimeOrigin::signed(ALICE), + wasm.clone(), + None, + Determinism::Enforced + ), + >::CodeRejected, + ); + + let result = Contracts::bare_instantiate( + ALICE, + 0, + GAS_LIMIT, + None, + Code::Upload(wasm), + vec![], + vec![], + DebugInfo::UnsafeDebug, + CollectEvents::Skip, + ); + assert_err!(result.result, >::CodeRejected); + assert_eq!( + std::str::from_utf8(&result.debug_message).unwrap(), + "No memory import found in the module" + ); }); } @@ -5117,6 +5145,7 @@ fn cannot_instantiate_indeterministic_code() { None, Determinism::Relaxed, )); + assert_err_ignore_postinfo!( Contracts::instantiate( RuntimeOrigin::signed(ALICE), diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 6eca21336b48b..04f1ecfb5a6f3 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -38,7 +38,7 @@ pub use crate::wasm::{ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, gas::{GasMeter, Token}, - wasm::prepare::IMPORT_MODULE_MEMORY, + wasm::prepare::LoadedModule, weights::WeightInfo, AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeInfoOf, CodeVec, Config, Error, Event, Pallet, PristineCode, Schedule, Weight, LOG_TARGET, @@ -52,10 +52,8 @@ use frame_support::{ use sp_core::Get; use sp_runtime::RuntimeDebug; use sp_std::prelude::*; -use wasmi::{ - Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, - MemoryType, Module, StackLimits, Store, -}; +use wasmi::{Instance, Linker, Memory, MemoryType, StackLimits, Store}; + const BYTES_PER_PAGE: usize = 64 * 1024; /// Validated Wasm module ready for execution. @@ -204,26 +202,16 @@ impl WasmBlob { code: &[u8], host_state: H, schedule: &Schedule, + determinism: Determinism, stack_limits: StackLimits, allow_deprecated: AllowDeprecatedInterface, ) -> Result<(Store, Memory, Instance), &'static str> where E: Environment, { - let mut config = WasmiConfig::default(); - config - .set_stack_limits(stack_limits) - .wasm_multi_value(false) - .wasm_mutable_global(false) - .wasm_sign_extension(false) - .wasm_saturating_float_to_int(false) - .consume_fuel(true) - .fuel_consumption_mode(FuelConsumptionMode::Eager); - - let engine = Engine::new(&config); - let module = Module::new(&engine, code.clone()).map_err(|_| "can't decode Wasm module")?; - let mut store = Store::new(&engine, host_state); - let mut linker = Linker::new(&engine); + let contract = LoadedModule::new::(&code, determinism, Some(stack_limits))?; + let mut store = Store::new(&contract.engine, host_state); + let mut linker = Linker::new(&contract.engine); E::define( &mut store, &mut linker, @@ -235,8 +223,9 @@ impl WasmBlob { allow_deprecated, ) .map_err(|_| "can't define host functions to Linker")?; + // Query wasmi for memory limits specified in the module's import entry. - let memory_limits = Self::get_memory_limits(module.imports(), schedule)?; + let memory_limits = contract.scan_imports::(schedule)?; // Here we allocate this memory in the _store_. It allocates _inital_ value, but allows it // to grow up to maximum number of memory pages, if neccesary. let qed = "We checked the limits versus our Schedule, @@ -247,12 +236,13 @@ impl WasmBlob { MemoryType::new(memory_limits.0, Some(memory_limits.1)).expect(qed), ) .expect(qed); + linker .define("env", "memory", memory) .expect("We just created the Linker. It has no definitions with this name; qed"); let instance = linker - .instantiate(&mut store, &module) + .instantiate(&mut store, &contract.module) .map_err(|_| "can't instantiate module with provided definitions")? .ensure_no_start(&mut store) .map_err(|_| "start function is forbidden but found in the module")?; @@ -260,50 +250,6 @@ impl WasmBlob { Ok((store, memory, instance)) } - /// Query wasmi for memory limits specified for the import in Wasm module. - fn get_memory_limits( - imports: wasmi::ModuleImportsIter, - schedule: &Schedule, - ) -> Result<(u32, u32), &'static str> { - let mut mem_type = None; - for import in imports { - match *import.ty() { - ExternType::Memory(mt) => { - if import.module() != IMPORT_MODULE_MEMORY { - return Err("Invalid module for imported memory") - } - if import.name() != "memory" { - return Err("Memory import must have the field name 'memory'") - } - mem_type = Some(mt); - break - }, - _ => continue, - } - } - // We don't need to check here if module memory limits satisfy the schedule, - // as this was already done during the code uploading. - // If none memory imported then set its limits to (0,0). - // Any access to it will then lead to out of bounds trap. - let (initial, maximum) = mem_type.map_or(Default::default(), |mt| { - ( - mt.initial_pages().to_bytes().unwrap_or(0).saturating_div(BYTES_PER_PAGE) as u32, - mt.maximum_pages().map_or(schedule.limits.memory_pages, |p| { - p.to_bytes().unwrap_or(0).saturating_div(BYTES_PER_PAGE) as u32 - }), - ) - }); - if initial > maximum { - return Err( - "Requested initial number of memory pages should not exceed the requested maximum", - ) - } - if maximum > schedule.limits.memory_pages { - return Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule.") - } - Ok((initial, maximum)) - } - /// Getter method for the code_info. pub fn code_info(&self) -> &CodeInfo { &self.code_info @@ -469,6 +415,7 @@ impl Executable for WasmBlob { code, runtime, &schedule, + self.code_info.determinism, StackLimits::default(), match function { ExportedFunction::Call => AllowDeprecatedInterface::Yes, @@ -3314,6 +3261,8 @@ mod tests { const CODE: &str = r#" (module (import "seal0" "instantiation_nonce" (func $nonce (result i64))) + (import "env" "memory" (memory 1 1)) + (func $assert (param i32) (block $ok (br_if $ok @@ -3344,6 +3293,8 @@ mod tests { const CANNOT_DEPLOY_UNSTABLE: &str = r#" (module (import "seal0" "reentrance_count" (func $reentrance_count (result i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) ) @@ -3364,6 +3315,8 @@ mod tests { const CODE_RANDOM_0: &str = r#" (module (import "seal0" "seal_random" (func $seal_random (param i32 i32 i32 i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) ) @@ -3371,6 +3324,8 @@ mod tests { const CODE_RANDOM_1: &str = r#" (module (import "seal1" "seal_random" (func $seal_random (param i32 i32 i32 i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) ) @@ -3378,6 +3333,8 @@ mod tests { const CODE_RANDOM_2: &str = r#" (module (import "seal0" "random" (func $seal_random (param i32 i32 i32 i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) ) @@ -3385,6 +3342,8 @@ mod tests { const CODE_RANDOM_3: &str = r#" (module (import "seal1" "random" (func $seal_random (param i32 i32 i32 i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) ) diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index ee267cd0bc30c..5647d5458e659 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -22,18 +22,20 @@ use crate::{ chain_extension::ChainExtension, storage::meter::Diff, - wasm::{runtime::AllowDeprecatedInterface, CodeInfo, Determinism, Environment, WasmBlob}, + wasm::{ + runtime::AllowDeprecatedInterface, CodeInfo, Determinism, Environment, WasmBlob, + BYTES_PER_PAGE, + }, AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, }; use codec::MaxEncodedLen; use sp_runtime::{traits::Hash, DispatchError}; #[cfg(any(test, feature = "runtime-benchmarks"))] use sp_std::prelude::Vec; -use wasm_instrument::parity_wasm::elements::{ - self, External, Internal, MemoryType, Type, ValueType, +use wasmi::{ + core::ValueType as WasmiValueType, Config as WasmiConfig, Engine, ExternType, + FuelConsumptionMode, Module, StackLimits, }; -use wasmi::StackLimits; -use wasmparser::{Validator, WasmFeatures}; /// Imported memory must be located inside this module. The reason for hardcoding is that current /// compiler toolchains might not support specifying other modules than "env" for memory imports. @@ -54,108 +56,50 @@ pub enum TryInstantiate { Skip, } -/// The inner deserialized module is valid (this is guaranteed by `new` method). -pub struct ContractModule(elements::Module); - -impl ContractModule { - /// Creates a new instance of `ContractModule`. - /// - /// Returns `Err` if the `code` couldn't be decoded or - /// if it contains an invalid module. - pub fn new(code: &[u8]) -> Result { - let module = elements::deserialize_buffer(code).map_err(|_| "Can't decode Wasm code")?; - - // Return a `ContractModule` instance with - // __valid__ module. - Ok(ContractModule(module)) - } +/// The inner deserialized module is valid and contains only allowed WebAssembly features. +/// This is checked by loading it into wasmi interpreter `engine`. +pub struct LoadedModule { + pub module: Module, + pub engine: Engine, +} - /// Ensures that module doesn't declare internal memories. +impl LoadedModule { + /// Creates a new instance of `LoadedModule`. /// - /// In this runtime we only allow wasm module to import memory from the environment. - /// Memory section contains declarations of internal linear memories, so if we find one - /// we reject such a module. - fn ensure_no_internal_memory(&self) -> Result<(), &'static str> { - if self.0.memory_section().map_or(false, |ms| ms.entries().len() > 0) { - return Err("module declares internal memory") - } - Ok(()) - } - - /// Ensures that tables declared in the module are not too big. - fn ensure_table_size_limit(&self, limit: u32) -> Result<(), &'static str> { - if let Some(table_section) = self.0.table_section() { - // In Wasm MVP spec, there may be at most one table declared. Double check this - // explicitly just in case the Wasm version changes. - if table_section.entries().len() > 1 { - return Err("multiple tables declared") - } - if let Some(table_type) = table_section.entries().first() { - // Check the table's initial size as there is no instruction or environment function - // capable of growing the table. - if table_type.limits().initial() > limit { - return Err("table exceeds maximum size allowed") - } - } - } - Ok(()) - } - - /// Ensure that any `br_table` instruction adheres to its immediate value limit. - fn ensure_br_table_size_limit(&self, limit: u32) -> Result<(), &'static str> { - let code_section = if let Some(type_section) = self.0.code_section() { - type_section - } else { - return Ok(()) - }; - for instr in code_section.bodies().iter().flat_map(|body| body.code().elements()) { - use self::elements::Instruction::BrTable; - if let BrTable(table) = instr { - if table.table.len() > limit as usize { - return Err("BrTable's immediate value is too big.") - } - } - } - Ok(()) - } - - fn ensure_global_variable_limit(&self, limit: u32) -> Result<(), &'static str> { - if let Some(global_section) = self.0.global_section() { - if global_section.entries().len() > limit as usize { - return Err("module declares too many globals") - } - } - Ok(()) - } - - fn ensure_local_variable_limit(&self, limit: u32) -> Result<(), &'static str> { - if let Some(code_section) = self.0.code_section() { - for func_body in code_section.bodies() { - let locals_count: u32 = - func_body.locals().iter().map(|val_type| val_type.count()).sum(); - if locals_count > limit { - return Err("single function declares too many locals") - } - } + /// The inner Wasm module is checked not to have restricted WebAssembly proposals. + /// Returns `Err` if the `code` cannot be deserialized or if it contains an invalid module. + pub fn new( + code: &[u8], + determinism: Determinism, + stack_limits: Option, + ) -> Result { + // NOTE: wasmi does not support unstable WebAssembly features. The module is implicitly + // checked for not having those ones when creating `wasmi::Module` below. + let mut config = WasmiConfig::default(); + config + .wasm_multi_value(false) + .wasm_mutable_global(false) + .wasm_sign_extension(false) + .wasm_bulk_memory(false) + .wasm_reference_types(false) + .wasm_tail_call(false) + .wasm_extended_const(false) + .wasm_saturating_float_to_int(false) + .floats(matches!(determinism, Determinism::Relaxed)) + .consume_fuel(true) + .fuel_consumption_mode(FuelConsumptionMode::Eager); + + if let Some(stack_limits) = stack_limits { + config.set_stack_limits(stack_limits); } - Ok(()) - } - /// Ensure that no function exists that has more parameters than allowed. - fn ensure_parameter_limit(&self, limit: u32) -> Result<(), &'static str> { - let type_section = if let Some(type_section) = self.0.type_section() { - type_section - } else { - return Ok(()) - }; - - for Type::Function(func) in type_section.types() { - if func.params().len() > limit as usize { - return Err("Use of a function type with too many parameters.") - } - } + let engine = Engine::new(&config); + let module = + Module::new(&engine, code.clone()).map_err(|_| "Can't load the module into wasmi!")?; - Ok(()) + // Return a `LoadedModule` instance with + // __valid__ module. + Ok(LoadedModule { module, engine }) } /// Check that the module has required exported functions. For now @@ -168,60 +112,32 @@ impl ContractModule { fn scan_exports(&self) -> Result<(), &'static str> { let mut deploy_found = false; let mut call_found = false; - - let module = &self.0; - - let types = module.type_section().map(|ts| ts.types()).unwrap_or(&[]); - let export_entries = module.export_section().map(|is| is.entries()).unwrap_or(&[]); - let func_entries = module.function_section().map(|fs| fs.entries()).unwrap_or(&[]); - - // Function index space consists of imported function following by - // declared functions. Calculate the total number of imported functions so - // we can use it to convert indexes from function space to declared function space. - let fn_space_offset = module - .import_section() - .map(|is| is.entries()) - .unwrap_or(&[]) - .iter() - .filter(|entry| matches!(*entry.external(), External::Function(_))) - .count(); - - for export in export_entries { - match export.field() { - "call" => call_found = true, - "deploy" => deploy_found = true, - _ => return Err("unknown export: expecting only deploy and call functions"), - } - - // Then check the export kind. "call" and "deploy" are - // functions. - let fn_idx = match export.internal() { - Internal::Function(ref fn_idx) => *fn_idx, - _ => return Err("expected a function"), - }; - - // convert index from function index space to declared index space. - let fn_idx = match fn_idx.checked_sub(fn_space_offset as u32) { - Some(fn_idx) => fn_idx, - None => { - // Underflow here means fn_idx points to imported function which we don't allow! - return Err("entry point points to an imported function") + let module = &self.module; + let exports = module.exports(); + + for export in exports { + match export.ty() { + ExternType::Func(ft) => { + match export.name() { + "call" => call_found = true, + "deploy" => deploy_found = true, + _ => + return Err( + "unknown function export: expecting only deploy and call functions", + ), + } + // Check the signature. + // Both "call" and "deploy" have the () -> () function type. + // We still support () -> (i32) for backwards compatibility. + if !(ft.params().is_empty() && + (ft.results().is_empty() || ft.results() == [WasmiValueType::I32])) + { + return Err("entry point has wrong signature") + } }, - }; - - // Then check the signature. - // Both "call" and "deploy" has a () -> () function type. - // We still support () -> (i32) for backwards compatibility. - let func_ty_idx = func_entries - .get(fn_idx as usize) - .ok_or("export refers to non-existent function")? - .type_ref(); - let Type::Function(ref func_ty) = - types.get(func_ty_idx as usize).ok_or("function has a non-existent type")?; - if !(func_ty.params().is_empty() && - (func_ty.results().is_empty() || func_ty.results() == [ValueType::I32])) - { - return Err("entry point has wrong signature") + ExternType::Memory(_) => return Err("memory export is forbidden"), + ExternType::Global(_) => return Err("global export is forbidden"), + ExternType::Table(_) => return Err("table export is forbidden"), } } @@ -237,71 +153,86 @@ impl ContractModule { /// Scan an import section if any. /// - /// This makes sure that the import section looks as we expect it from a contract - /// and enforces and returns the memory type declared by the contract if any. - pub fn scan_imports(&self) -> Result, &'static str> { - let module = &self.0; - let import_entries = module.import_section().map(|is| is.entries()).unwrap_or(&[]); - let mut imported_mem_type = None; - - for import in import_entries { - match *import.external() { - External::Table(_) => return Err("Cannot import tables"), - External::Global(_) => return Err("Cannot import globals"), - External::Function(_) => { + /// This makes sure that: + /// - The import section looks as we expect it from a contract. + /// - The limits of the memory type declared by the contract comply with the Schedule. + /// + /// Returns the checked memory limits back to caller. + /// + /// This method fails if: + /// + /// - Memory import not found in the module. + /// - Tables or globals found among imports. + /// - `call_chain_extension` host function is imported, while chain extensions are disabled. + /// + /// NOTE that only single memory instance is allowed for contract modules, which is enforced by + /// this check combined with multi_memory proposal gets disabled in the engine. + pub fn scan_imports( + &self, + schedule: &Schedule, + ) -> Result<(u32, u32), &'static str> { + let module = &self.module; + let imports = module.imports(); + let mut memory_limits = None; + + for import in imports { + match *import.ty() { + ExternType::Table(_) => return Err("Cannot import tables"), + ExternType::Global(_) => return Err("Cannot import globals"), + ExternType::Func(_) => { + let _ = import.ty().func().ok_or("expected a function")?; + if !::ChainExtension::enabled() && - import.field().as_bytes() == b"seal_call_chain_extension" + import.name().as_bytes() == b"seal_call_chain_extension" || + import.name().as_bytes() == b"call_chain_extension" { - return Err("module uses chain extensions but chain extensions are disabled") + return Err("Module uses chain extensions but chain extensions are disabled") } }, - External::Memory(ref memory_type) => { - if import.module() != IMPORT_MODULE_MEMORY { + ExternType::Memory(mt) => { + if import.module().as_bytes() != IMPORT_MODULE_MEMORY.as_bytes() { return Err("Invalid module for imported memory") } - if import.field() != "memory" { + if import.name().as_bytes() != b"memory" { return Err("Memory import must have the field name 'memory'") } - if imported_mem_type.is_some() { + if memory_limits.is_some() { return Err("Multiple memory imports defined") } - imported_mem_type = Some(memory_type); + // Parse memory limits defaulting it to (0,0). + // Any access to it will then lead to out of bounds trap. + let (initial, maximum) = ( + mt.initial_pages().to_bytes().unwrap_or(0).saturating_div(BYTES_PER_PAGE) + as u32, + mt.maximum_pages().map_or(schedule.limits.memory_pages, |p| { + p.to_bytes().unwrap_or(0).saturating_div(BYTES_PER_PAGE) as u32 + }), + ); + if initial > maximum { + return Err( + "Requested initial number of memory pages should not exceed the requested maximum", + ) + } + if maximum > schedule.limits.memory_pages { + return Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule") + } + + memory_limits = Some((initial, maximum)); continue }, } } - Ok(imported_mem_type) - } -} -#[cfg(any(test, feature = "runtime-benchmarks"))] -fn get_memory_limits( - module: Option<&MemoryType>, - schedule: &Schedule, -) -> Result<(u32, u32), &'static str> { - if let Some(memory_type) = module { - // Inspect the module to extract the initial and maximum page count. - let limits = memory_type.limits(); - match (limits.initial(), limits.maximum()) { - (initial, Some(maximum)) if initial > maximum => - Err("Requested initial number of memory pages should not exceed the requested maximum"), - (_, Some(maximum)) if maximum > schedule.limits.memory_pages => - Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule."), - (initial, Some(maximum)) => Ok((initial, maximum)), - (initial, None) => { - Ok((initial, schedule.limits.memory_pages)) - }, - } - } else { - // None memory imported in the Wasm module, - // any access to it will lead to out of bounds trap. - Ok((0, 0)) + memory_limits.ok_or("No memory import found in the module") } } /// Check that given `code` satisfies constraints required for the contract Wasm module. +/// This includes two groups of checks: /// -/// On success it returns back the code. +/// 1. General engine-side validation makes sure the module is consistent and does not contain +/// forbidden WebAssembly features. +/// 2. Additional checks which are specific to smart contracts eligible for this pallet. fn validate( code: &[u8], schedule: &Schedule, @@ -312,54 +243,17 @@ where E: Environment<()>, T: Config, { - // Do not enable any features here. Any additional feature needs to be carefully - // checked for potential security issues. For example, enabling multi value could lead - // to a DoS vector: It breaks our assumption that branch instructions are of constant time. - // Depending on the implementation they can linearly depend on the amount of values returned - // from a block. - Validator::new_with_features(WasmFeatures { - relaxed_simd: false, - threads: false, - tail_call: false, - multi_memory: false, - exceptions: false, - memory64: false, - extended_const: false, - component_model: false, - // This is not our only defense: All instructions explicitly need to have weights assigned - // or the deployment will fail. We have none assigned for float instructions. - floats: matches!(determinism, Determinism::Relaxed), - mutable_global: false, - saturating_float_to_int: false, - sign_extension: false, - bulk_memory: false, - multi_value: false, - reference_types: false, - simd: false, - memory_control: false, - }) - .validate_all(code) - .map_err(|err| { - log::debug!(target: LOG_TARGET, "{}", err); - (Error::::CodeRejected.into(), "Validation of new code failed!") - })?; - (|| { - let contract_module = ContractModule::new(code)?; + // We check that the module is generally valid, + // and does not have restricted WebAssembly features, here. + let contract_module = LoadedModule::new::(code, determinism, None)?; + // The we check that module satisfies constraints the pallet puts on contracts. contract_module.scan_exports()?; - contract_module.scan_imports::()?; - contract_module.ensure_no_internal_memory()?; - contract_module.ensure_table_size_limit(schedule.limits.table_size)?; - contract_module.ensure_global_variable_limit(schedule.limits.globals)?; - contract_module.ensure_local_variable_limit(schedule.limits.locals)?; - contract_module.ensure_parameter_limit(schedule.limits.parameters)?; - contract_module.ensure_br_table_size_limit(schedule.limits.br_table_size)?; - // Extract memory limits from the module. - // This also checks that module's memory import satisfies the schedule. + contract_module.scan_imports::(schedule)?; Ok(()) })() .map_err(|msg: &str| { - log::debug!(target: LOG_TARGET, "New code rejected: {}", msg); + log::debug!(target: LOG_TARGET, "New code rejected on validation: {}", msg); (Error::::CodeRejected.into(), msg) })?; @@ -375,6 +269,7 @@ where &code, (), schedule, + determinism, stack_limits, AllowDeprecatedInterface::No, ) @@ -383,13 +278,15 @@ where (Error::::CodeRejected.into(), "New code rejected on wasmi instantiation!") })?; } + Ok(()) } /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: /// -/// - The module doesn't define an internal memory instance. -/// - Imported memory (if any) doesn't reserve more memory than permitted by the `schedule`. +/// - The module doesn't export any memory. +/// - The module does imports memory, which limits lay within the limits permitted by the +/// `schedule`. /// - All imported functions from the external environment match defined by `env` module. /// /// Also constructs contract `code_info` by calculating the storage deposit. @@ -411,7 +308,6 @@ where let deposit = Diff { bytes_added, items_added: 2, ..Default::default() } .update_contract::(None) .charge_or_zero(); - let code_info = CodeInfo { owner, deposit, determinism, refcount: 0 }; let code_hash = T::Hashing::hash(&code); @@ -427,23 +323,24 @@ where pub mod benchmarking { use super::*; - /// Prepare function that does not perform most checks on the passed in code. + /// Prepare function that does not perform export section checks on the passed in code. pub fn prepare( code: Vec, schedule: &Schedule, owner: AccountIdOf, ) -> Result, DispatchError> { - let contract_module = ContractModule::new(&code)?; - let _ = get_memory_limits(contract_module.scan_imports::()?, schedule)?; - let code_hash = T::Hashing::hash(&code); - let code = code.try_into().map_err(|_| >::CodeTooLarge)?; + let determinism = Determinism::Enforced; + let contract_module = LoadedModule::new::(&code, determinism, None)?; + let _ = contract_module.scan_imports::(schedule)?; + let code: CodeVec = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { owner, // this is a helper function for benchmarking which skips deposit collection deposit: Default::default(), refcount: 0, - determinism: Determinism::Enforced, + determinism, }; + let code_hash = T::Hashing::hash(&code); Ok(WasmBlob { code, code_info, code_hash }) } @@ -540,108 +437,9 @@ mod tests { ) (func (export "deploy")) )"#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); - mod functions { - use super::*; - - prepare_test!( - param_number_valid, - r#" - (module - (func (export "call")) - (func (export "deploy")) - (func (param i32 i32 i32)) - ) - "#, - Ok(_) - ); - - prepare_test!( - param_number_invalid, - r#" - (module - (func (export "call")) - (func (export "deploy")) - (func (param i32 i32 i32 i32)) - (func (param i32)) - ) - "#, - Err("Use of a function type with too many parameters.") - ); - } - - mod globals { - use super::*; - - prepare_test!( - global_number_valid, - r#" - (module - (global i64 (i64.const 0)) - (global i64 (i64.const 0)) - (global i64 (i64.const 0)) - (func (export "call")) - (func (export "deploy")) - ) - "#, - Ok(_) - ); - - prepare_test!( - global_number_too_high, - r#" - (module - (global i64 (i64.const 0)) - (global i64 (i64.const 0)) - (global i64 (i64.const 0)) - (global i64 (i64.const 0)) - (func (export "call")) - (func (export "deploy")) - ) - "#, - Err("module declares too many globals") - ); - } - - mod locals { - use super::*; - - prepare_test!( - local_number_valid, - r#" - (module - (func - (local i32) - (local i32) - (local i32) - ) - (func (export "call")) - (func (export "deploy")) - ) - "#, - Ok(_) - ); - - prepare_test!( - local_number_too_high, - r#" - (module - (func - (local i32) - (local i32) - (local i32) - (local i32) - ) - (func (export "call")) - (func (export "deploy")) - ) - "#, - Err("single function declares too many locals") - ); - } - mod memories { use super::*; @@ -668,7 +466,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("module declares internal memory") + Err("No memory import found in the module") ); prepare_test!( @@ -680,7 +478,7 @@ mod tests { (func (export "call")) (func (export "deploy")) )"#, - Ok(_) + Err("No memory import found in the module") ); prepare_test!( @@ -693,7 +491,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -719,7 +517,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("New code rejected on wasmi instantiation!") + Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule") ); prepare_test!( @@ -746,7 +544,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -775,75 +573,6 @@ mod tests { ); } - mod tables { - use super::*; - - prepare_test!( - no_tables, - r#" - (module - (func (export "call")) - (func (export "deploy")) - ) - "#, - Ok(_) - ); - - prepare_test!( - table_valid_size, - r#" - (module - (table 3 funcref) - - (func (export "call")) - (func (export "deploy")) - ) - "#, - Ok(_) - ); - - prepare_test!( - table_too_big, - r#" - (module - (table 4 funcref) - - (func (export "call")) - (func (export "deploy")) - )"#, - Err("table exceeds maximum size allowed") - ); - - prepare_test!( - br_table_valid_size, - r#" - (module - (func (export "call")) - (func (export "deploy")) - (func - i32.const 0 - br_table 0 0 0 0 - ) - ) - "#, - Ok(_) - ); - - prepare_test!( - br_table_too_big, - r#" - (module - (func (export "call")) - (func (export "deploy")) - (func - i32.const 0 - br_table 0 0 0 0 0 - ) - )"#, - Err("BrTable's immediate value is too big.") - ); - } - mod imports { use super::*; @@ -852,6 +581,7 @@ mod tests { r#" (module (import "seal0" "nop" (func (param i64))) + (import "env" "memory" (memory 1 1)) (func (export "call")) (func (export "deploy")) @@ -874,7 +604,7 @@ mod tests { Err("Invalid module for imported memory") ); - // memory is in "env" and not in some arbitrary module + // Memory is in "env" and not in some arbitrary module prepare_test!( memory_not_in_arbitrary_module, r#" @@ -893,6 +623,8 @@ mod tests { r#" (module (import "seal1" "nop" (func (param i32))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) @@ -906,6 +638,7 @@ mod tests { r#" (module (import "seal0" "input" (func (param i64))) + (import "env" "memory" (memory 1 1)) (func (export "call")) (func (export "deploy")) @@ -924,6 +657,21 @@ mod tests { (func (export "deploy")) ) "#, + Err("No memory import found in the module") + ); + + // Try to import function from not a "seal*" module. + prepare_test!( + try_import_from_wrong_module, + r#" + (module + (import "env" "panic" (func)) + (import "env" "memory" (memory 1 1)) + + (func (export "call")) + (func (export "deploy")) + ) + "#, Err("New code rejected on wasmi instantiation!") ); } @@ -935,6 +683,7 @@ mod tests { it_works, r#" (module + (import "env" "memory" (memory 1 1)) (func (export "call")) (func (export "deploy")) ) @@ -942,6 +691,17 @@ mod tests { Ok(_) ); + prepare_test!( + omit_memory, + r#" + (module + (func (export "call")) + (func (export "deploy")) + ) + "#, + Err("No memory import found in the module") + ); + prepare_test!( omit_deploy, r#" @@ -963,21 +723,23 @@ mod tests { ); // Try to use imported function as an entry point. + // This is allowed. prepare_test!( try_sneak_export_as_entrypoint, r#" (module (import "seal0" "panic" (func)) + (import "env" "memory" (memory 1 1)) (func (export "deploy")) (export "call" (func 0)) ) "#, - Err("entry point points to an imported function") + Ok(_) ); - // Try to use imported function as an entry point. + // Try to use global as an entry point. prepare_test!( try_sneak_export_as_global, r#" @@ -986,7 +748,7 @@ mod tests { (global (export "call") i32 (i32.const 0)) ) "#, - Err("expected a function") + Err("global export is forbidden") ); prepare_test!( @@ -1009,7 +771,7 @@ mod tests { (func (export "whatevs")) ) "#, - Err("unknown export: expecting only deploy and call functions") + Err("unknown function export: expecting only deploy and call functions") ); prepare_test!( @@ -1021,7 +783,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -1033,7 +795,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -1045,7 +807,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -1057,7 +819,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module into wasmi!") ); } } diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index 691e3a25840c2..fccc17a0a79ad 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,7 +18,7 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-07-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner-xerhrdyb-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 @@ -137,8 +137,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_489_000 picoseconds. - Weight::from_parts(2_592_000, 1627) + // Minimum execution time: 2_546_000 picoseconds. + Weight::from_parts(2_671_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -148,10 +148,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `451 + k * (69 ±0)` // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_888_000 picoseconds. - Weight::from_parts(13_135_000, 441) - // Standard Error: 1_171 - .saturating_add(Weight::from_parts(1_260_794, 0).saturating_mul(k.into())) + // Minimum execution time: 13_398_000 picoseconds. + Weight::from_parts(13_771_000, 441) + // Standard Error: 1_033 + .saturating_add(Weight::from_parts(1_231_963, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into()))) .saturating_add(T::DbWeight::get().writes(2_u64)) @@ -165,10 +165,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_447_000 picoseconds. - Weight::from_parts(9_221_722, 6149) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_323, 0).saturating_mul(c.into())) + // Minimum execution time: 8_335_000 picoseconds. + Weight::from_parts(9_172_574, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_388, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -179,10 +179,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) fn v10_migration_step() -> Weight { // Proof Size summary in bytes: - // Measured: `548` - // Estimated: `6488` - // Minimum execution time: 17_966_000 picoseconds. - Weight::from_parts(18_805_000, 6488) + // Measured: `510` + // Estimated: `6450` + // Minimum execution time: 17_087_000 picoseconds. + Weight::from_parts(17_840_000, 6450) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -195,10 +195,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_848_000 picoseconds. - Weight::from_parts(3_964_000, 3635) - // Standard Error: 691 - .saturating_add(Weight::from_parts(1_143_905, 0).saturating_mul(k.into())) + // Minimum execution time: 4_016_000 picoseconds. + Weight::from_parts(655_916, 3635) + // Standard Error: 1_202 + .saturating_add(Weight::from_parts(1_158_002, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) @@ -217,10 +217,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `325 + c * (1 ±0)` // Estimated: `6263 + c * (1 ±0)` - // Minimum execution time: 16_532_000 picoseconds. - Weight::from_parts(16_729_380, 6263) - // Standard Error: 1 - .saturating_add(Weight::from_parts(427, 0).saturating_mul(c.into())) + // Minimum execution time: 17_500_000 picoseconds. + Weight::from_parts(17_675_710, 6263) + // Standard Error: 0 + .saturating_add(Weight::from_parts(488, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -231,8 +231,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_251_000 picoseconds. - Weight::from_parts(3_424_000, 1627) + // Minimum execution time: 3_278_000 picoseconds. + Weight::from_parts(3_501_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -244,8 +244,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_564_000 picoseconds. - Weight::from_parts(13_051_000, 3631) + // Minimum execution time: 12_489_000 picoseconds. + Weight::from_parts(12_850_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -255,8 +255,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 4_784_000 picoseconds. - Weight::from_parts(4_986_000, 3607) + // Minimum execution time: 4_788_000 picoseconds. + Weight::from_parts(5_099_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -267,8 +267,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 6_671_000 picoseconds. - Weight::from_parts(7_024_000, 3632) + // Minimum execution time: 6_850_000 picoseconds. + Weight::from_parts(7_146_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -279,8 +279,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 6_937_000 picoseconds. - Weight::from_parts(7_314_000, 3607) + // Minimum execution time: 7_078_000 picoseconds. + Weight::from_parts(7_452_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -303,10 +303,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `786` // Estimated: `6735 + c * (1 ±0)` - // Minimum execution time: 304_327_000 picoseconds. - Weight::from_parts(309_862_986, 6735) - // Standard Error: 54 - .saturating_add(Weight::from_parts(36_804, 0).saturating_mul(c.into())) + // Minimum execution time: 366_103_000 picoseconds. + Weight::from_parts(335_256_535, 6735) + // Standard Error: 81 + .saturating_add(Weight::from_parts(38_395, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -334,14 +334,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_890_645_000 picoseconds. - Weight::from_parts(1_054_159_392, 8745) - // Standard Error: 297 - .saturating_add(Weight::from_parts(63_742, 0).saturating_mul(c.into())) - // Standard Error: 35 - .saturating_add(Weight::from_parts(1_426, 0).saturating_mul(i.into())) - // Standard Error: 35 - .saturating_add(Weight::from_parts(1_849, 0).saturating_mul(s.into())) + // Minimum execution time: 4_289_681_000 picoseconds. + Weight::from_parts(331_057_751, 8745) + // Standard Error: 206 + .saturating_add(Weight::from_parts(76_366, 0).saturating_mul(c.into())) + // Standard Error: 24 + .saturating_add(Weight::from_parts(1_938, 0).saturating_mul(i.into())) + // Standard Error: 24 + .saturating_add(Weight::from_parts(2_026, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(9_u64)) } @@ -365,14 +365,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: `503` - // Estimated: `6429` - // Minimum execution time: 2_018_386_000 picoseconds. - Weight::from_parts(257_988_354, 6429) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_924, 0).saturating_mul(i.into())) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_804, 0).saturating_mul(s.into())) + // Measured: `523` + // Estimated: `6513` + // Minimum execution time: 2_122_622_000 picoseconds. + Weight::from_parts(348_487_014, 6513) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_944, 0).saturating_mul(i.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_816, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -392,10 +392,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: `838` - // Estimated: `6778` - // Minimum execution time: 192_981_000 picoseconds. - Weight::from_parts(200_484_000, 6778) + // Measured: `820` + // Estimated: `6760` + // Minimum execution time: 209_114_000 picoseconds. + Weight::from_parts(216_139_000, 6760) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -412,10 +412,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 270_290_000 picoseconds. - Weight::from_parts(249_794_836, 3607) - // Standard Error: 136 - .saturating_add(Weight::from_parts(66_222, 0).saturating_mul(c.into())) + // Minimum execution time: 323_131_000 picoseconds. + Weight::from_parts(331_460_802, 3607) + // Standard Error: 104 + .saturating_add(Weight::from_parts(73_534, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -431,8 +431,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3720` - // Minimum execution time: 34_086_000 picoseconds. - Weight::from_parts(34_893_000, 3720) + // Minimum execution time: 34_960_000 picoseconds. + Weight::from_parts(36_057_000, 3720) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -448,8 +448,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `575` // Estimated: `8990` - // Minimum execution time: 37_215_000 picoseconds. - Weight::from_parts(38_875_000, 8990) + // Minimum execution time: 37_375_000 picoseconds. + Weight::from_parts(38_310_000, 8990) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -472,10 +472,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (6 ±0)` // Estimated: `6801 + r * (6 ±0)` - // Minimum execution time: 272_512_000 picoseconds. - Weight::from_parts(292_275_248, 6801) - // Standard Error: 816 - .saturating_add(Weight::from_parts(344_261, 0).saturating_mul(r.into())) + // Minimum execution time: 332_418_000 picoseconds. + Weight::from_parts(344_417_681, 6801) + // Standard Error: 840 + .saturating_add(Weight::from_parts(349_564, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -499,10 +499,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `918 + r * (240 ±0)` // Estimated: `6822 + r * (2715 ±0)` - // Minimum execution time: 272_910_000 picoseconds. - Weight::from_parts(126_963_357, 6822) - // Standard Error: 10_020 - .saturating_add(Weight::from_parts(3_805_261, 0).saturating_mul(r.into())) + // Minimum execution time: 336_949_000 picoseconds. + Weight::from_parts(172_018_300, 6822) + // Standard Error: 6_859 + .saturating_add(Weight::from_parts(3_732_788, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -527,10 +527,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `910 + r * (244 ±0)` // Estimated: `6826 + r * (2719 ±0)` - // Minimum execution time: 275_605_000 picoseconds. - Weight::from_parts(116_757_903, 6826) - // Standard Error: 9_537 - .saturating_add(Weight::from_parts(4_645_380, 0).saturating_mul(r.into())) + // Minimum execution time: 331_580_000 picoseconds. + Weight::from_parts(166_444_295, 6826) + // Standard Error: 6_323 + .saturating_add(Weight::from_parts(4_651_680, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -555,10 +555,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `867 + r * (6 ±0)` // Estimated: `6809 + r * (6 ±0)` - // Minimum execution time: 273_998_000 picoseconds. - Weight::from_parts(284_693_047, 6809) - // Standard Error: 774 - .saturating_add(Weight::from_parts(431_720, 0).saturating_mul(r.into())) + // Minimum execution time: 332_922_000 picoseconds. + Weight::from_parts(347_945_106, 6809) + // Standard Error: 503 + .saturating_add(Weight::from_parts(420_506, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -582,10 +582,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 279_621_000 picoseconds. - Weight::from_parts(286_171_188, 6802) - // Standard Error: 431 - .saturating_add(Weight::from_parts(183_093, 0).saturating_mul(r.into())) + // Minimum execution time: 331_926_000 picoseconds. + Weight::from_parts(342_482_786, 6802) + // Standard Error: 382 + .saturating_add(Weight::from_parts(185_631, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) @@ -607,10 +607,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `747 + r * (3 ±0)` // Estimated: `6687 + r * (3 ±0)` - // Minimum execution time: 259_882_000 picoseconds. - Weight::from_parts(275_221_455, 6687) - // Standard Error: 373 - .saturating_add(Weight::from_parts(160_615, 0).saturating_mul(r.into())) + // Minimum execution time: 317_584_000 picoseconds. + Weight::from_parts(335_305_634, 6687) + // Standard Error: 413 + .saturating_add(Weight::from_parts(160_105, 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, 3).saturating_mul(r.into())) @@ -634,10 +634,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 257_771_000 picoseconds. - Weight::from_parts(286_698_304, 6803) - // Standard Error: 974 - .saturating_add(Weight::from_parts(345_777, 0).saturating_mul(r.into())) + // Minimum execution time: 329_683_000 picoseconds. + Weight::from_parts(350_664_785, 6803) + // Standard Error: 1_164 + .saturating_add(Weight::from_parts(342_540, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -661,10 +661,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857 + r * (6 ±0)` // Estimated: `6798 + r * (6 ±0)` - // Minimum execution time: 275_924_000 picoseconds. - Weight::from_parts(292_084_788, 6798) - // Standard Error: 1_946 - .saturating_add(Weight::from_parts(543_595, 0).saturating_mul(r.into())) + // Minimum execution time: 337_992_000 picoseconds. + Weight::from_parts(349_845_008, 6798) + // Standard Error: 2_273 + .saturating_add(Weight::from_parts(544_647, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -688,10 +688,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1001 + r * (6 ±0)` // Estimated: `6925 + r * (6 ±0)` - // Minimum execution time: 275_657_000 picoseconds. - Weight::from_parts(290_421_668, 6925) - // Standard Error: 2_153 - .saturating_add(Weight::from_parts(1_583_388, 0).saturating_mul(r.into())) + // Minimum execution time: 333_494_000 picoseconds. + Weight::from_parts(346_208_587, 6925) + // Standard Error: 2_719 + .saturating_add(Weight::from_parts(1_609_679, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -715,10 +715,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 276_367_000 picoseconds. - Weight::from_parts(287_733_897, 6820) - // Standard Error: 946 - .saturating_add(Weight::from_parts(338_966, 0).saturating_mul(r.into())) + // Minimum execution time: 333_877_000 picoseconds. + Weight::from_parts(345_594_741, 6820) + // Standard Error: 645 + .saturating_add(Weight::from_parts(338_480, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -742,10 +742,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 277_266_000 picoseconds. - Weight::from_parts(291_007_793, 6818) - // Standard Error: 694 - .saturating_add(Weight::from_parts(338_777, 0).saturating_mul(r.into())) + // Minimum execution time: 332_219_000 picoseconds. + Weight::from_parts(344_126_186, 6818) + // Standard Error: 511 + .saturating_add(Weight::from_parts(338_886, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -769,10 +769,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866 + r * (6 ±0)` // Estimated: `6816 + r * (6 ±0)` - // Minimum execution time: 273_733_000 picoseconds. - Weight::from_parts(286_843_659, 6816) - // Standard Error: 677 - .saturating_add(Weight::from_parts(334_973, 0).saturating_mul(r.into())) + // Minimum execution time: 335_740_000 picoseconds. + Weight::from_parts(347_465_239, 6816) + // Standard Error: 821 + .saturating_add(Weight::from_parts(332_457, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -796,10 +796,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857 + r * (6 ±0)` // Estimated: `6802 + r * (6 ±0)` - // Minimum execution time: 274_990_000 picoseconds. - Weight::from_parts(289_331_002, 6802) - // Standard Error: 1_377 - .saturating_add(Weight::from_parts(337_816, 0).saturating_mul(r.into())) + // Minimum execution time: 332_370_000 picoseconds. + Weight::from_parts(347_892_383, 6802) + // Standard Error: 551 + .saturating_add(Weight::from_parts(326_597, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -825,10 +825,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `931 + r * (14 ±0)` // Estimated: `6864 + r * (14 ±0)` - // Minimum execution time: 272_562_000 picoseconds. - Weight::from_parts(294_251_468, 6864) - // Standard Error: 3_230 - .saturating_add(Weight::from_parts(1_410_191, 0).saturating_mul(r.into())) + // Minimum execution time: 334_272_000 picoseconds. + Weight::from_parts(356_868_168, 6864) + // Standard Error: 2_385 + .saturating_add(Weight::from_parts(1_446_019, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 14).saturating_mul(r.into())) @@ -852,10 +852,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 280_635_000 picoseconds. - Weight::from_parts(287_918_595, 6803) - // Standard Error: 695 - .saturating_add(Weight::from_parts(289_762, 0).saturating_mul(r.into())) + // Minimum execution time: 331_916_000 picoseconds. + Weight::from_parts(343_895_372, 6803) + // Standard Error: 484 + .saturating_add(Weight::from_parts(296_685, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -879,10 +879,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `863` // Estimated: `6803` - // Minimum execution time: 280_743_000 picoseconds. - Weight::from_parts(227_444_594, 6803) - // Standard Error: 23 - .saturating_add(Weight::from_parts(1_030, 0).saturating_mul(n.into())) + // Minimum execution time: 338_879_000 picoseconds. + Weight::from_parts(295_207_774, 6803) + // Standard Error: 22 + .saturating_add(Weight::from_parts(1_098, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -905,10 +905,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `847 + r * (45 ±0)` // Estimated: `6787 + r * (45 ±0)` - // Minimum execution time: 250_827_000 picoseconds. - Weight::from_parts(279_351_093, 6787) - // Standard Error: 876_511 - .saturating_add(Weight::from_parts(92_006, 0).saturating_mul(r.into())) + // Minimum execution time: 327_574_000 picoseconds. + Weight::from_parts(338_834_161, 6787) + // Standard Error: 865_283 + .saturating_add(Weight::from_parts(3_500_538, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 45).saturating_mul(r.into())) @@ -932,10 +932,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857` // Estimated: `6810` - // Minimum execution time: 272_085_000 picoseconds. - Weight::from_parts(284_343_813, 6810) - // Standard Error: 1 - .saturating_add(Weight::from_parts(329, 0).saturating_mul(n.into())) + // Minimum execution time: 334_360_000 picoseconds. + Weight::from_parts(343_561_211, 6810) + // Standard Error: 0 + .saturating_add(Weight::from_parts(448, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -962,10 +962,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `889 + r * (300 ±0)` // Estimated: `6829 + r * (7725 ±0)` - // Minimum execution time: 255_731_000 picoseconds. - Weight::from_parts(282_377_122, 6829) - // Standard Error: 911_459 - .saturating_add(Weight::from_parts(130_693_677, 0).saturating_mul(r.into())) + // Minimum execution time: 331_544_000 picoseconds. + Weight::from_parts(343_944_959, 6829) + // Standard Error: 861_931 + .saturating_add(Weight::from_parts(128_736_840, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -993,10 +993,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `938 + r * (10 ±0)` // Estimated: `6879 + r * (10 ±0)` - // Minimum execution time: 267_767_000 picoseconds. - Weight::from_parts(277_950_288, 6879) - // Standard Error: 3_787 - .saturating_add(Weight::from_parts(1_971_448, 0).saturating_mul(r.into())) + // Minimum execution time: 335_545_000 picoseconds. + Weight::from_parts(362_097_658, 6879) + // Standard Error: 3_732 + .saturating_add(Weight::from_parts(1_954_016, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 10).saturating_mul(r.into())) @@ -1020,10 +1020,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857 + r * (10 ±0)` // Estimated: `6802 + r * (10 ±0)` - // Minimum execution time: 270_791_000 picoseconds. - Weight::from_parts(275_451_505, 6802) - // Standard Error: 5_954 - .saturating_add(Weight::from_parts(3_860_605, 0).saturating_mul(r.into())) + // Minimum execution time: 334_465_000 picoseconds. + Weight::from_parts(347_040_544, 6802) + // Standard Error: 3_209 + .saturating_add(Weight::from_parts(3_867_402, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 10).saturating_mul(r.into())) @@ -1048,12 +1048,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `876 + t * (32 ±0)` // Estimated: `6823 + t * (2508 ±0)` - // Minimum execution time: 274_766_000 picoseconds. - Weight::from_parts(291_476_869, 6823) - // Standard Error: 104_473 - .saturating_add(Weight::from_parts(3_104_443, 0).saturating_mul(t.into())) - // Standard Error: 29 - .saturating_add(Weight::from_parts(698, 0).saturating_mul(n.into())) + // Minimum execution time: 353_043_000 picoseconds. + Weight::from_parts(350_570_845, 6823) + // Standard Error: 90_604 + .saturating_add(Weight::from_parts(3_376_302, 0).saturating_mul(t.into())) + // Standard Error: 25 + .saturating_add(Weight::from_parts(920, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1079,10 +1079,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `856 + r * (7 ±0)` // Estimated: `6800 + r * (7 ±0)` - // Minimum execution time: 169_748_000 picoseconds. - Weight::from_parts(180_313_117, 6800) - // Standard Error: 454 - .saturating_add(Weight::from_parts(245_983, 0).saturating_mul(r.into())) + // Minimum execution time: 174_100_000 picoseconds. + Weight::from_parts(185_023_142, 6800) + // Standard Error: 377 + .saturating_add(Weight::from_parts(244_850, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 7).saturating_mul(r.into())) @@ -1106,10 +1106,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `125807` // Estimated: `131749` - // Minimum execution time: 415_021_000 picoseconds. - Weight::from_parts(390_542_412, 131749) - // Standard Error: 12 - .saturating_add(Weight::from_parts(1_061, 0).saturating_mul(i.into())) + // Minimum execution time: 499_963_000 picoseconds. + Weight::from_parts(472_468_910, 131749) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_151, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1120,10 +1120,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `924 + r * (292 ±0)` // Estimated: `922 + r * (293 ±0)` - // Minimum execution time: 273_094_000 picoseconds. - Weight::from_parts(210_515_595, 922) - // Standard Error: 12_565 - .saturating_add(Weight::from_parts(7_037_698, 0).saturating_mul(r.into())) + // Minimum execution time: 334_917_000 picoseconds. + Weight::from_parts(231_957_251, 922) + // Standard Error: 11_080 + .saturating_add(Weight::from_parts(7_071_706, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1137,10 +1137,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1383` // Estimated: `1359` - // Minimum execution time: 288_990_000 picoseconds. - Weight::from_parts(339_177_945, 1359) - // Standard Error: 67 - .saturating_add(Weight::from_parts(496, 0).saturating_mul(n.into())) + // Minimum execution time: 351_914_000 picoseconds. + Weight::from_parts(395_438_997, 1359) + // Standard Error: 55 + .saturating_add(Weight::from_parts(935, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -1151,10 +1151,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1246 + n * (1 ±0)` // Estimated: `1246 + n * (1 ±0)` - // Minimum execution time: 279_998_000 picoseconds. - Weight::from_parts(302_247_796, 1246) + // Minimum execution time: 350_334_000 picoseconds. + Weight::from_parts(360_616_821, 1246) // Standard Error: 32 - .saturating_add(Weight::from_parts(156, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(441, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1166,10 +1166,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `920 + r * (288 ±0)` // Estimated: `924 + r * (289 ±0)` - // Minimum execution time: 272_959_000 picoseconds. - Weight::from_parts(182_351_901, 924) - // Standard Error: 14_269 - .saturating_add(Weight::from_parts(6_959_823, 0).saturating_mul(r.into())) + // Minimum execution time: 337_287_000 picoseconds. + Weight::from_parts(228_593_823, 924) + // Standard Error: 12_420 + .saturating_add(Weight::from_parts(6_871_018, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1183,10 +1183,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1242 + n * (1 ±0)` // Estimated: `1242 + n * (1 ±0)` - // Minimum execution time: 281_078_000 picoseconds. - Weight::from_parts(303_340_005, 1242) - // Standard Error: 32 - .saturating_add(Weight::from_parts(75, 0).saturating_mul(n.into())) + // Minimum execution time: 348_450_000 picoseconds. + Weight::from_parts(359_145_658, 1242) + // Standard Error: 31 + .saturating_add(Weight::from_parts(309, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1198,10 +1198,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `914 + r * (296 ±0)` // Estimated: `919 + r * (297 ±0)` - // Minimum execution time: 272_204_000 picoseconds. - Weight::from_parts(181_840_247, 919) - // Standard Error: 12_990 - .saturating_add(Weight::from_parts(5_803_235, 0).saturating_mul(r.into())) + // Minimum execution time: 337_918_000 picoseconds. + Weight::from_parts(252_634_761, 919) + // Standard Error: 10_301 + .saturating_add(Weight::from_parts(5_658_982, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1214,10 +1214,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1258 + n * (1 ±0)` // Estimated: `1258 + n * (1 ±0)` - // Minimum execution time: 285_806_000 picoseconds. - Weight::from_parts(299_198_348, 1258) - // Standard Error: 35 - .saturating_add(Weight::from_parts(1_087, 0).saturating_mul(n.into())) + // Minimum execution time: 349_865_000 picoseconds. + Weight::from_parts(364_637_455, 1258) + // Standard Error: 43 + .saturating_add(Weight::from_parts(627, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1229,10 +1229,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `935 + r * (288 ±0)` // Estimated: `936 + r * (289 ±0)` - // Minimum execution time: 266_945_000 picoseconds. - Weight::from_parts(204_591_050, 936) - // Standard Error: 10_852 - .saturating_add(Weight::from_parts(5_489_051, 0).saturating_mul(r.into())) + // Minimum execution time: 334_501_000 picoseconds. + Weight::from_parts(256_737_953, 936) + // Standard Error: 8_494 + .saturating_add(Weight::from_parts(5_452_683, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1245,10 +1245,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1245 + n * (1 ±0)` // Estimated: `1245 + n * (1 ±0)` - // Minimum execution time: 269_827_000 picoseconds. - Weight::from_parts(294_861_647, 1245) - // Standard Error: 36 - .saturating_add(Weight::from_parts(385, 0).saturating_mul(n.into())) + // Minimum execution time: 349_107_000 picoseconds. + Weight::from_parts(359_995_568, 1245) + // Standard Error: 30 + .saturating_add(Weight::from_parts(109, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1260,10 +1260,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `908 + r * (296 ±0)` // Estimated: `915 + r * (297 ±0)` - // Minimum execution time: 270_903_000 picoseconds. - Weight::from_parts(179_016_061, 915) - // Standard Error: 13_815 - .saturating_add(Weight::from_parts(7_103_586, 0).saturating_mul(r.into())) + // Minimum execution time: 333_339_000 picoseconds. + Weight::from_parts(235_980_883, 915) + // Standard Error: 11_633 + .saturating_add(Weight::from_parts(7_018_977, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1277,10 +1277,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1259 + n * (1 ±0)` // Estimated: `1259 + n * (1 ±0)` - // Minimum execution time: 285_233_000 picoseconds. - Weight::from_parts(307_266_872, 1259) - // Standard Error: 42 - .saturating_add(Weight::from_parts(340, 0).saturating_mul(n.into())) + // Minimum execution time: 353_005_000 picoseconds. + Weight::from_parts(364_276_314, 1259) + // Standard Error: 30 + .saturating_add(Weight::from_parts(759, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1304,10 +1304,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1452 + r * (45 ±0)` // Estimated: `7349 + r * (2520 ±0)` - // Minimum execution time: 272_760_000 picoseconds. - Weight::from_parts(169_488_533, 7349) - // Standard Error: 29_765 - .saturating_add(Weight::from_parts(39_376_406, 0).saturating_mul(r.into())) + // Minimum execution time: 333_452_000 picoseconds. + Weight::from_parts(142_147_982, 7349) + // Standard Error: 36_619 + .saturating_add(Weight::from_parts(39_660_249, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4_u64)) @@ -1333,10 +1333,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1296 + r * (276 ±0)` // Estimated: `9481 + r * (2752 ±0)` - // Minimum execution time: 272_684_000 picoseconds. - Weight::from_parts(277_233_000, 9481) - // Standard Error: 118_314 - .saturating_add(Weight::from_parts(248_277_789, 0).saturating_mul(r.into())) + // Minimum execution time: 337_964_000 picoseconds. + Weight::from_parts(343_202_000, 9481) + // Standard Error: 105_016 + .saturating_add(Weight::from_parts(309_034_946, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(11_u64)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4_u64)) @@ -1361,11 +1361,11 @@ impl WeightInfo for SubstrateWeight { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (572 ±0)` - // Estimated: `6806 + r * (2633 ±3)` - // Minimum execution time: 273_037_000 picoseconds. - Weight::from_parts(278_708_000, 6806) - // Standard Error: 148_237 - .saturating_add(Weight::from_parts(246_429_899, 0).saturating_mul(r.into())) + // Estimated: `6806 + r * (2633 ±10)` + // Minimum execution time: 333_861_000 picoseconds. + Weight::from_parts(337_550_000, 6806) + // Standard Error: 139_004 + .saturating_add(Weight::from_parts(306_928_468, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1390,19 +1390,19 @@ impl WeightInfo for SubstrateWeight { /// 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: `1308 + t * (204 ±0)` - // Estimated: `12198 + t * (5154 ±0)` - // Minimum execution time: 458_571_000 picoseconds. - Weight::from_parts(82_434_924, 12198) - // Standard Error: 12_112_923 - .saturating_add(Weight::from_parts(375_570_955, 0).saturating_mul(t.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(1_064, 0).saturating_mul(c.into())) + // Measured: `1328 + t * (310 ±0)` + // Estimated: `12218 + t * (5260 ±0)` + // Minimum execution time: 538_804_000 picoseconds. + Weight::from_parts(153_868_010, 12218) + // Standard Error: 11_323_037 + .saturating_add(Weight::from_parts(350_086_502, 0).saturating_mul(t.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_099, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(13_u64)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(t.into()))) .saturating_add(T::DbWeight::get().writes(6_u64)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(t.into()))) - .saturating_add(Weight::from_parts(0, 5154).saturating_mul(t.into())) + .saturating_add(Weight::from_parts(0, 5260).saturating_mul(t.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1425,10 +1425,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1383 + r * (251 ±0)` // Estimated: `7207 + r * (5202 ±0)` - // Minimum execution time: 660_700_000 picoseconds. - Weight::from_parts(675_097_000, 7207) - // Standard Error: 364_345 - .saturating_add(Weight::from_parts(400_003_245, 0).saturating_mul(r.into())) + // Minimum execution time: 778_214_000 picoseconds. + Weight::from_parts(786_870_000, 7207) + // Standard Error: 332_116 + .saturating_add(Weight::from_parts(457_145_100, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(6_u64)) @@ -1456,21 +1456,19 @@ impl WeightInfo for SubstrateWeight { /// 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: `1131 + t * (187 ±0)` - // Estimated: `9552 + t * (2634 ±2)` - // Minimum execution time: 2_327_206_000 picoseconds. - Weight::from_parts(1_365_575_361, 9552) - // Standard Error: 16_883_593 - .saturating_add(Weight::from_parts(15_130_866, 0).saturating_mul(t.into())) - // Standard Error: 26 - .saturating_add(Weight::from_parts(1_119, 0).saturating_mul(i.into())) - // Standard Error: 26 - .saturating_add(Weight::from_parts(1_189, 0).saturating_mul(s.into())) + // Measured: `1232 + t * (156 ±0)` + // Estimated: `9662 + t * (2578 ±2)` + // Minimum execution time: 2_540_848_000 picoseconds. + Weight::from_parts(1_403_859_093, 9662) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_194, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_277, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(15_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into()))) .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, 2634).saturating_mul(t.into())) + .saturating_add(Weight::from_parts(0, 2578).saturating_mul(t.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1491,10 +1489,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `856 + r * (8 ±0)` // Estimated: `6797 + r * (8 ±0)` - // Minimum execution time: 271_594_000 picoseconds. - Weight::from_parts(290_678_500, 6797) - // Standard Error: 954 - .saturating_add(Weight::from_parts(401_376, 0).saturating_mul(r.into())) + // Minimum execution time: 332_530_000 picoseconds. + Weight::from_parts(344_690_108, 6797) + // Standard Error: 475 + .saturating_add(Weight::from_parts(414_505, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -1518,10 +1516,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `864` // Estimated: `6804` - // Minimum execution time: 269_343_000 picoseconds. - Weight::from_parts(267_274_896, 6804) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_120, 0).saturating_mul(n.into())) + // Minimum execution time: 333_818_000 picoseconds. + Weight::from_parts(326_455_409, 6804) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1544,10 +1542,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6800 + r * (8 ±0)` - // Minimum execution time: 269_201_000 picoseconds. - Weight::from_parts(282_958_755, 6800) - // Standard Error: 1_051 - .saturating_add(Weight::from_parts(826_056, 0).saturating_mul(r.into())) + // Minimum execution time: 332_527_000 picoseconds. + Weight::from_parts(340_624_458, 6800) + // Standard Error: 702 + .saturating_add(Weight::from_parts(830_440, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -1571,10 +1569,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6808` - // Minimum execution time: 268_620_000 picoseconds. - Weight::from_parts(291_085_767, 6808) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_364, 0).saturating_mul(n.into())) + // Minimum execution time: 337_558_000 picoseconds. + Weight::from_parts(345_319_444, 6808) + // Standard Error: 1 + .saturating_add(Weight::from_parts(3_443, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1597,10 +1595,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6803 + r * (8 ±0)` - // Minimum execution time: 268_594_000 picoseconds. - Weight::from_parts(285_367_992, 6803) - // Standard Error: 715 - .saturating_add(Weight::from_parts(465_706, 0).saturating_mul(r.into())) + // Minimum execution time: 333_576_000 picoseconds. + Weight::from_parts(342_567_918, 6803) + // Standard Error: 517 + .saturating_add(Weight::from_parts(469_999, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -1624,10 +1622,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6812` - // Minimum execution time: 267_616_000 picoseconds. - Weight::from_parts(271_719_406, 6812) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_225, 0).saturating_mul(n.into())) + // Minimum execution time: 333_643_000 picoseconds. + Weight::from_parts(332_234_962, 6812) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_299, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1650,10 +1648,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6804 + r * (8 ±0)` - // Minimum execution time: 270_531_000 picoseconds. - Weight::from_parts(283_734_748, 6804) - // Standard Error: 652 - .saturating_add(Weight::from_parts(464_718, 0).saturating_mul(r.into())) + // Minimum execution time: 335_949_000 picoseconds. + Weight::from_parts(339_586_300, 6804) + // Standard Error: 712 + .saturating_add(Weight::from_parts(475_318, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -1677,10 +1675,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 273_440_000 picoseconds. - Weight::from_parts(273_385_519, 6806) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_221, 0).saturating_mul(n.into())) + // Minimum execution time: 331_102_000 picoseconds. + Weight::from_parts(335_444_569, 6806) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_292, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1703,10 +1701,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `991 + n * (1 ±0)` // Estimated: `6928 + n * (1 ±0)` - // Minimum execution time: 347_494_000 picoseconds. - Weight::from_parts(359_555_666, 6928) - // Standard Error: 19 - .saturating_add(Weight::from_parts(6_073, 0).saturating_mul(n.into())) + // Minimum execution time: 399_687_000 picoseconds. + Weight::from_parts(412_562_252, 6928) + // Standard Error: 11 + .saturating_add(Weight::from_parts(6_107, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1728,12 +1726,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_sr25519_verify(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `804 + r * (112 ±0)` + // Measured: `806 + r * (112 ±0)` // Estimated: `6745 + r * (112 ±0)` - // Minimum execution time: 271_899_000 picoseconds. - Weight::from_parts(341_998_900, 6745) - // Standard Error: 16_017 - .saturating_add(Weight::from_parts(56_033_707, 0).saturating_mul(r.into())) + // Minimum execution time: 340_992_000 picoseconds. + Weight::from_parts(385_744_518, 6745) + // Standard Error: 10_987 + .saturating_add(Weight::from_parts(56_047_105, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 112).saturating_mul(r.into())) @@ -1757,10 +1755,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `900 + r * (76 ±0)` // Estimated: `6795 + r * (77 ±0)` - // Minimum execution time: 275_662_000 picoseconds. - Weight::from_parts(351_585_440, 6795) - // Standard Error: 20_452 - .saturating_add(Weight::from_parts(46_289_357, 0).saturating_mul(r.into())) + // Minimum execution time: 335_366_000 picoseconds. + Weight::from_parts(395_811_523, 6795) + // Standard Error: 14_268 + .saturating_add(Weight::from_parts(46_194_718, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 77).saturating_mul(r.into())) @@ -1784,10 +1782,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `871 + r * (42 ±0)` // Estimated: `6810 + r * (42 ±0)` - // Minimum execution time: 275_543_000 picoseconds. - Weight::from_parts(329_759_758, 6810) - // Standard Error: 17_863 - .saturating_add(Weight::from_parts(38_645_318, 0).saturating_mul(r.into())) + // Minimum execution time: 333_708_000 picoseconds. + Weight::from_parts(375_822_414, 6810) + // Standard Error: 15_535 + .saturating_add(Weight::from_parts(38_534_300, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 42).saturating_mul(r.into())) @@ -1811,10 +1809,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0 + r * (961 ±0)` // Estimated: `6801 + r * (3087 ±7)` - // Minimum execution time: 274_328_000 picoseconds. - Weight::from_parts(281_508_000, 6801) - // Standard Error: 57_665 - .saturating_add(Weight::from_parts(25_993_241, 0).saturating_mul(r.into())) + // Minimum execution time: 329_668_000 picoseconds. + Weight::from_parts(337_256_000, 6801) + // Standard Error: 64_733 + .saturating_add(Weight::from_parts(25_506_246, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) @@ -1840,10 +1838,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `852 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 273_587_000 picoseconds. - Weight::from_parts(284_346_594, 6802) - // Standard Error: 388 - .saturating_add(Weight::from_parts(178_567, 0).saturating_mul(r.into())) + // Minimum execution time: 332_021_000 picoseconds. + Weight::from_parts(343_753_442, 6802) + // Standard Error: 406 + .saturating_add(Weight::from_parts(178_908, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) @@ -1867,10 +1865,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `2092 + r * (39 ±0)` // Estimated: `7919 + r * (40 ±0)` - // Minimum execution time: 262_400_000 picoseconds. - Weight::from_parts(376_113_011, 7919) - // Standard Error: 2_401 - .saturating_add(Weight::from_parts(309_059, 0).saturating_mul(r.into())) + // Minimum execution time: 334_122_000 picoseconds. + Weight::from_parts(410_992_486, 7919) + // Standard Error: 1_583 + .saturating_add(Weight::from_parts(316_027, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 40).saturating_mul(r.into())) @@ -1896,10 +1894,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `855 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 259_797_000 picoseconds. - Weight::from_parts(285_980_763, 6802) - // Standard Error: 507 - .saturating_add(Weight::from_parts(159_269, 0).saturating_mul(r.into())) + // Minimum execution time: 331_093_000 picoseconds. + Weight::from_parts(345_663_437, 6802) + // Standard Error: 374 + .saturating_add(Weight::from_parts(157_207, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) @@ -1909,10 +1907,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_253_000 picoseconds. - Weight::from_parts(1_113_896, 0) - // Standard Error: 25 - .saturating_add(Weight::from_parts(10_680, 0).saturating_mul(r.into())) + // Minimum execution time: 1_483_000 picoseconds. + Weight::from_parts(1_672_465, 0) + // Standard Error: 24 + .saturating_add(Weight::from_parts(10_591, 0).saturating_mul(r.into())) } } @@ -1924,8 +1922,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_489_000 picoseconds. - Weight::from_parts(2_592_000, 1627) + // Minimum execution time: 2_546_000 picoseconds. + Weight::from_parts(2_671_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1935,10 +1933,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `451 + k * (69 ±0)` // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_888_000 picoseconds. - Weight::from_parts(13_135_000, 441) - // Standard Error: 1_171 - .saturating_add(Weight::from_parts(1_260_794, 0).saturating_mul(k.into())) + // Minimum execution time: 13_398_000 picoseconds. + Weight::from_parts(13_771_000, 441) + // Standard Error: 1_033 + .saturating_add(Weight::from_parts(1_231_963, 0).saturating_mul(k.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into()))) .saturating_add(RocksDbWeight::get().writes(2_u64)) @@ -1952,10 +1950,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_447_000 picoseconds. - Weight::from_parts(9_221_722, 6149) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_323, 0).saturating_mul(c.into())) + // Minimum execution time: 8_335_000 picoseconds. + Weight::from_parts(9_172_574, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_388, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -1966,10 +1964,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) fn v10_migration_step() -> Weight { // Proof Size summary in bytes: - // Measured: `548` - // Estimated: `6488` - // Minimum execution time: 17_966_000 picoseconds. - Weight::from_parts(18_805_000, 6488) + // Measured: `510` + // Estimated: `6450` + // Minimum execution time: 17_087_000 picoseconds. + Weight::from_parts(17_840_000, 6450) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1982,10 +1980,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_848_000 picoseconds. - Weight::from_parts(3_964_000, 3635) - // Standard Error: 691 - .saturating_add(Weight::from_parts(1_143_905, 0).saturating_mul(k.into())) + // Minimum execution time: 4_016_000 picoseconds. + Weight::from_parts(655_916, 3635) + // Standard Error: 1_202 + .saturating_add(Weight::from_parts(1_158_002, 0).saturating_mul(k.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) @@ -2004,10 +2002,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `325 + c * (1 ±0)` // Estimated: `6263 + c * (1 ±0)` - // Minimum execution time: 16_532_000 picoseconds. - Weight::from_parts(16_729_380, 6263) - // Standard Error: 1 - .saturating_add(Weight::from_parts(427, 0).saturating_mul(c.into())) + // Minimum execution time: 17_500_000 picoseconds. + Weight::from_parts(17_675_710, 6263) + // Standard Error: 0 + .saturating_add(Weight::from_parts(488, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -2018,8 +2016,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_251_000 picoseconds. - Weight::from_parts(3_424_000, 1627) + // Minimum execution time: 3_278_000 picoseconds. + Weight::from_parts(3_501_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2031,8 +2029,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_564_000 picoseconds. - Weight::from_parts(13_051_000, 3631) + // Minimum execution time: 12_489_000 picoseconds. + Weight::from_parts(12_850_000, 3631) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -2042,8 +2040,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 4_784_000 picoseconds. - Weight::from_parts(4_986_000, 3607) + // Minimum execution time: 4_788_000 picoseconds. + Weight::from_parts(5_099_000, 3607) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2054,8 +2052,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 6_671_000 picoseconds. - Weight::from_parts(7_024_000, 3632) + // Minimum execution time: 6_850_000 picoseconds. + Weight::from_parts(7_146_000, 3632) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2066,8 +2064,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 6_937_000 picoseconds. - Weight::from_parts(7_314_000, 3607) + // Minimum execution time: 7_078_000 picoseconds. + Weight::from_parts(7_452_000, 3607) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2090,10 +2088,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `786` // Estimated: `6735 + c * (1 ±0)` - // Minimum execution time: 304_327_000 picoseconds. - Weight::from_parts(309_862_986, 6735) - // Standard Error: 54 - .saturating_add(Weight::from_parts(36_804, 0).saturating_mul(c.into())) + // Minimum execution time: 366_103_000 picoseconds. + Weight::from_parts(335_256_535, 6735) + // Standard Error: 81 + .saturating_add(Weight::from_parts(38_395, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -2121,14 +2119,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_890_645_000 picoseconds. - Weight::from_parts(1_054_159_392, 8745) - // Standard Error: 297 - .saturating_add(Weight::from_parts(63_742, 0).saturating_mul(c.into())) - // Standard Error: 35 - .saturating_add(Weight::from_parts(1_426, 0).saturating_mul(i.into())) - // Standard Error: 35 - .saturating_add(Weight::from_parts(1_849, 0).saturating_mul(s.into())) + // Minimum execution time: 4_289_681_000 picoseconds. + Weight::from_parts(331_057_751, 8745) + // Standard Error: 206 + .saturating_add(Weight::from_parts(76_366, 0).saturating_mul(c.into())) + // Standard Error: 24 + .saturating_add(Weight::from_parts(1_938, 0).saturating_mul(i.into())) + // Standard Error: 24 + .saturating_add(Weight::from_parts(2_026, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(9_u64)) } @@ -2152,14 +2150,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: `503` - // Estimated: `6429` - // Minimum execution time: 2_018_386_000 picoseconds. - Weight::from_parts(257_988_354, 6429) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_924, 0).saturating_mul(i.into())) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_804, 0).saturating_mul(s.into())) + // Measured: `523` + // Estimated: `6513` + // Minimum execution time: 2_122_622_000 picoseconds. + Weight::from_parts(348_487_014, 6513) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_944, 0).saturating_mul(i.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_816, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -2179,10 +2177,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: `838` - // Estimated: `6778` - // Minimum execution time: 192_981_000 picoseconds. - Weight::from_parts(200_484_000, 6778) + // Measured: `820` + // Estimated: `6760` + // Minimum execution time: 209_114_000 picoseconds. + Weight::from_parts(216_139_000, 6760) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -2199,10 +2197,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 270_290_000 picoseconds. - Weight::from_parts(249_794_836, 3607) - // Standard Error: 136 - .saturating_add(Weight::from_parts(66_222, 0).saturating_mul(c.into())) + // Minimum execution time: 323_131_000 picoseconds. + Weight::from_parts(331_460_802, 3607) + // Standard Error: 104 + .saturating_add(Weight::from_parts(73_534, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2218,8 +2216,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3720` - // Minimum execution time: 34_086_000 picoseconds. - Weight::from_parts(34_893_000, 3720) + // Minimum execution time: 34_960_000 picoseconds. + Weight::from_parts(36_057_000, 3720) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2235,8 +2233,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `575` // Estimated: `8990` - // Minimum execution time: 37_215_000 picoseconds. - Weight::from_parts(38_875_000, 8990) + // Minimum execution time: 37_375_000 picoseconds. + Weight::from_parts(38_310_000, 8990) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2259,10 +2257,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (6 ±0)` // Estimated: `6801 + r * (6 ±0)` - // Minimum execution time: 272_512_000 picoseconds. - Weight::from_parts(292_275_248, 6801) - // Standard Error: 816 - .saturating_add(Weight::from_parts(344_261, 0).saturating_mul(r.into())) + // Minimum execution time: 332_418_000 picoseconds. + Weight::from_parts(344_417_681, 6801) + // Standard Error: 840 + .saturating_add(Weight::from_parts(349_564, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2286,10 +2284,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `918 + r * (240 ±0)` // Estimated: `6822 + r * (2715 ±0)` - // Minimum execution time: 272_910_000 picoseconds. - Weight::from_parts(126_963_357, 6822) - // Standard Error: 10_020 - .saturating_add(Weight::from_parts(3_805_261, 0).saturating_mul(r.into())) + // Minimum execution time: 336_949_000 picoseconds. + Weight::from_parts(172_018_300, 6822) + // Standard Error: 6_859 + .saturating_add(Weight::from_parts(3_732_788, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -2314,10 +2312,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `910 + r * (244 ±0)` // Estimated: `6826 + r * (2719 ±0)` - // Minimum execution time: 275_605_000 picoseconds. - Weight::from_parts(116_757_903, 6826) - // Standard Error: 9_537 - .saturating_add(Weight::from_parts(4_645_380, 0).saturating_mul(r.into())) + // Minimum execution time: 331_580_000 picoseconds. + Weight::from_parts(166_444_295, 6826) + // Standard Error: 6_323 + .saturating_add(Weight::from_parts(4_651_680, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -2342,10 +2340,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `867 + r * (6 ±0)` // Estimated: `6809 + r * (6 ±0)` - // Minimum execution time: 273_998_000 picoseconds. - Weight::from_parts(284_693_047, 6809) - // Standard Error: 774 - .saturating_add(Weight::from_parts(431_720, 0).saturating_mul(r.into())) + // Minimum execution time: 332_922_000 picoseconds. + Weight::from_parts(347_945_106, 6809) + // Standard Error: 503 + .saturating_add(Weight::from_parts(420_506, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2369,10 +2367,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 279_621_000 picoseconds. - Weight::from_parts(286_171_188, 6802) - // Standard Error: 431 - .saturating_add(Weight::from_parts(183_093, 0).saturating_mul(r.into())) + // Minimum execution time: 331_926_000 picoseconds. + Weight::from_parts(342_482_786, 6802) + // Standard Error: 382 + .saturating_add(Weight::from_parts(185_631, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) @@ -2394,10 +2392,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `747 + r * (3 ±0)` // Estimated: `6687 + r * (3 ±0)` - // Minimum execution time: 259_882_000 picoseconds. - Weight::from_parts(275_221_455, 6687) - // Standard Error: 373 - .saturating_add(Weight::from_parts(160_615, 0).saturating_mul(r.into())) + // Minimum execution time: 317_584_000 picoseconds. + Weight::from_parts(335_305_634, 6687) + // Standard Error: 413 + .saturating_add(Weight::from_parts(160_105, 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, 3).saturating_mul(r.into())) @@ -2421,10 +2419,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 257_771_000 picoseconds. - Weight::from_parts(286_698_304, 6803) - // Standard Error: 974 - .saturating_add(Weight::from_parts(345_777, 0).saturating_mul(r.into())) + // Minimum execution time: 329_683_000 picoseconds. + Weight::from_parts(350_664_785, 6803) + // Standard Error: 1_164 + .saturating_add(Weight::from_parts(342_540, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2448,10 +2446,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (6 ±0)` // Estimated: `6798 + r * (6 ±0)` - // Minimum execution time: 275_924_000 picoseconds. - Weight::from_parts(292_084_788, 6798) - // Standard Error: 1_946 - .saturating_add(Weight::from_parts(543_595, 0).saturating_mul(r.into())) + // Minimum execution time: 337_992_000 picoseconds. + Weight::from_parts(349_845_008, 6798) + // Standard Error: 2_273 + .saturating_add(Weight::from_parts(544_647, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2475,10 +2473,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1001 + r * (6 ±0)` // Estimated: `6925 + r * (6 ±0)` - // Minimum execution time: 275_657_000 picoseconds. - Weight::from_parts(290_421_668, 6925) - // Standard Error: 2_153 - .saturating_add(Weight::from_parts(1_583_388, 0).saturating_mul(r.into())) + // Minimum execution time: 333_494_000 picoseconds. + Weight::from_parts(346_208_587, 6925) + // Standard Error: 2_719 + .saturating_add(Weight::from_parts(1_609_679, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2502,10 +2500,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 276_367_000 picoseconds. - Weight::from_parts(287_733_897, 6820) - // Standard Error: 946 - .saturating_add(Weight::from_parts(338_966, 0).saturating_mul(r.into())) + // Minimum execution time: 333_877_000 picoseconds. + Weight::from_parts(345_594_741, 6820) + // Standard Error: 645 + .saturating_add(Weight::from_parts(338_480, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2529,10 +2527,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 277_266_000 picoseconds. - Weight::from_parts(291_007_793, 6818) - // Standard Error: 694 - .saturating_add(Weight::from_parts(338_777, 0).saturating_mul(r.into())) + // Minimum execution time: 332_219_000 picoseconds. + Weight::from_parts(344_126_186, 6818) + // Standard Error: 511 + .saturating_add(Weight::from_parts(338_886, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2556,10 +2554,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866 + r * (6 ±0)` // Estimated: `6816 + r * (6 ±0)` - // Minimum execution time: 273_733_000 picoseconds. - Weight::from_parts(286_843_659, 6816) - // Standard Error: 677 - .saturating_add(Weight::from_parts(334_973, 0).saturating_mul(r.into())) + // Minimum execution time: 335_740_000 picoseconds. + Weight::from_parts(347_465_239, 6816) + // Standard Error: 821 + .saturating_add(Weight::from_parts(332_457, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2583,10 +2581,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (6 ±0)` // Estimated: `6802 + r * (6 ±0)` - // Minimum execution time: 274_990_000 picoseconds. - Weight::from_parts(289_331_002, 6802) - // Standard Error: 1_377 - .saturating_add(Weight::from_parts(337_816, 0).saturating_mul(r.into())) + // Minimum execution time: 332_370_000 picoseconds. + Weight::from_parts(347_892_383, 6802) + // Standard Error: 551 + .saturating_add(Weight::from_parts(326_597, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2612,10 +2610,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `931 + r * (14 ±0)` // Estimated: `6864 + r * (14 ±0)` - // Minimum execution time: 272_562_000 picoseconds. - Weight::from_parts(294_251_468, 6864) - // Standard Error: 3_230 - .saturating_add(Weight::from_parts(1_410_191, 0).saturating_mul(r.into())) + // Minimum execution time: 334_272_000 picoseconds. + Weight::from_parts(356_868_168, 6864) + // Standard Error: 2_385 + .saturating_add(Weight::from_parts(1_446_019, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 14).saturating_mul(r.into())) @@ -2639,10 +2637,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 280_635_000 picoseconds. - Weight::from_parts(287_918_595, 6803) - // Standard Error: 695 - .saturating_add(Weight::from_parts(289_762, 0).saturating_mul(r.into())) + // Minimum execution time: 331_916_000 picoseconds. + Weight::from_parts(343_895_372, 6803) + // Standard Error: 484 + .saturating_add(Weight::from_parts(296_685, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 6).saturating_mul(r.into())) @@ -2666,10 +2664,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `863` // Estimated: `6803` - // Minimum execution time: 280_743_000 picoseconds. - Weight::from_parts(227_444_594, 6803) - // Standard Error: 23 - .saturating_add(Weight::from_parts(1_030, 0).saturating_mul(n.into())) + // Minimum execution time: 338_879_000 picoseconds. + Weight::from_parts(295_207_774, 6803) + // Standard Error: 22 + .saturating_add(Weight::from_parts(1_098, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2692,10 +2690,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `847 + r * (45 ±0)` // Estimated: `6787 + r * (45 ±0)` - // Minimum execution time: 250_827_000 picoseconds. - Weight::from_parts(279_351_093, 6787) - // Standard Error: 876_511 - .saturating_add(Weight::from_parts(92_006, 0).saturating_mul(r.into())) + // Minimum execution time: 327_574_000 picoseconds. + Weight::from_parts(338_834_161, 6787) + // Standard Error: 865_283 + .saturating_add(Weight::from_parts(3_500_538, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 45).saturating_mul(r.into())) @@ -2719,10 +2717,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857` // Estimated: `6810` - // Minimum execution time: 272_085_000 picoseconds. - Weight::from_parts(284_343_813, 6810) - // Standard Error: 1 - .saturating_add(Weight::from_parts(329, 0).saturating_mul(n.into())) + // Minimum execution time: 334_360_000 picoseconds. + Weight::from_parts(343_561_211, 6810) + // Standard Error: 0 + .saturating_add(Weight::from_parts(448, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2749,10 +2747,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `889 + r * (300 ±0)` // Estimated: `6829 + r * (7725 ±0)` - // Minimum execution time: 255_731_000 picoseconds. - Weight::from_parts(282_377_122, 6829) - // Standard Error: 911_459 - .saturating_add(Weight::from_parts(130_693_677, 0).saturating_mul(r.into())) + // Minimum execution time: 331_544_000 picoseconds. + Weight::from_parts(343_944_959, 6829) + // Standard Error: 861_931 + .saturating_add(Weight::from_parts(128_736_840, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -2780,10 +2778,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `938 + r * (10 ±0)` // Estimated: `6879 + r * (10 ±0)` - // Minimum execution time: 267_767_000 picoseconds. - Weight::from_parts(277_950_288, 6879) - // Standard Error: 3_787 - .saturating_add(Weight::from_parts(1_971_448, 0).saturating_mul(r.into())) + // Minimum execution time: 335_545_000 picoseconds. + Weight::from_parts(362_097_658, 6879) + // Standard Error: 3_732 + .saturating_add(Weight::from_parts(1_954_016, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 10).saturating_mul(r.into())) @@ -2807,10 +2805,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (10 ±0)` // Estimated: `6802 + r * (10 ±0)` - // Minimum execution time: 270_791_000 picoseconds. - Weight::from_parts(275_451_505, 6802) - // Standard Error: 5_954 - .saturating_add(Weight::from_parts(3_860_605, 0).saturating_mul(r.into())) + // Minimum execution time: 334_465_000 picoseconds. + Weight::from_parts(347_040_544, 6802) + // Standard Error: 3_209 + .saturating_add(Weight::from_parts(3_867_402, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 10).saturating_mul(r.into())) @@ -2835,12 +2833,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `876 + t * (32 ±0)` // Estimated: `6823 + t * (2508 ±0)` - // Minimum execution time: 274_766_000 picoseconds. - Weight::from_parts(291_476_869, 6823) - // Standard Error: 104_473 - .saturating_add(Weight::from_parts(3_104_443, 0).saturating_mul(t.into())) - // Standard Error: 29 - .saturating_add(Weight::from_parts(698, 0).saturating_mul(n.into())) + // Minimum execution time: 353_043_000 picoseconds. + Weight::from_parts(350_570_845, 6823) + // Standard Error: 90_604 + .saturating_add(Weight::from_parts(3_376_302, 0).saturating_mul(t.into())) + // Standard Error: 25 + .saturating_add(Weight::from_parts(920, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -2866,10 +2864,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `856 + r * (7 ±0)` // Estimated: `6800 + r * (7 ±0)` - // Minimum execution time: 169_748_000 picoseconds. - Weight::from_parts(180_313_117, 6800) - // Standard Error: 454 - .saturating_add(Weight::from_parts(245_983, 0).saturating_mul(r.into())) + // Minimum execution time: 174_100_000 picoseconds. + Weight::from_parts(185_023_142, 6800) + // Standard Error: 377 + .saturating_add(Weight::from_parts(244_850, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 7).saturating_mul(r.into())) @@ -2893,10 +2891,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `125807` // Estimated: `131749` - // Minimum execution time: 415_021_000 picoseconds. - Weight::from_parts(390_542_412, 131749) - // Standard Error: 12 - .saturating_add(Weight::from_parts(1_061, 0).saturating_mul(i.into())) + // Minimum execution time: 499_963_000 picoseconds. + Weight::from_parts(472_468_910, 131749) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_151, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2907,10 +2905,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `924 + r * (292 ±0)` // Estimated: `922 + r * (293 ±0)` - // Minimum execution time: 273_094_000 picoseconds. - Weight::from_parts(210_515_595, 922) - // Standard Error: 12_565 - .saturating_add(Weight::from_parts(7_037_698, 0).saturating_mul(r.into())) + // Minimum execution time: 334_917_000 picoseconds. + Weight::from_parts(231_957_251, 922) + // Standard Error: 11_080 + .saturating_add(Weight::from_parts(7_071_706, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -2924,10 +2922,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1383` // Estimated: `1359` - // Minimum execution time: 288_990_000 picoseconds. - Weight::from_parts(339_177_945, 1359) - // Standard Error: 67 - .saturating_add(Weight::from_parts(496, 0).saturating_mul(n.into())) + // Minimum execution time: 351_914_000 picoseconds. + Weight::from_parts(395_438_997, 1359) + // Standard Error: 55 + .saturating_add(Weight::from_parts(935, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2938,10 +2936,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1246 + n * (1 ±0)` // Estimated: `1246 + n * (1 ±0)` - // Minimum execution time: 279_998_000 picoseconds. - Weight::from_parts(302_247_796, 1246) + // Minimum execution time: 350_334_000 picoseconds. + Weight::from_parts(360_616_821, 1246) // Standard Error: 32 - .saturating_add(Weight::from_parts(156, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(441, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -2953,10 +2951,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `920 + r * (288 ±0)` // Estimated: `924 + r * (289 ±0)` - // Minimum execution time: 272_959_000 picoseconds. - Weight::from_parts(182_351_901, 924) - // Standard Error: 14_269 - .saturating_add(Weight::from_parts(6_959_823, 0).saturating_mul(r.into())) + // Minimum execution time: 337_287_000 picoseconds. + Weight::from_parts(228_593_823, 924) + // Standard Error: 12_420 + .saturating_add(Weight::from_parts(6_871_018, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -2970,10 +2968,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1242 + n * (1 ±0)` // Estimated: `1242 + n * (1 ±0)` - // Minimum execution time: 281_078_000 picoseconds. - Weight::from_parts(303_340_005, 1242) - // Standard Error: 32 - .saturating_add(Weight::from_parts(75, 0).saturating_mul(n.into())) + // Minimum execution time: 348_450_000 picoseconds. + Weight::from_parts(359_145_658, 1242) + // Standard Error: 31 + .saturating_add(Weight::from_parts(309, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -2985,10 +2983,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `914 + r * (296 ±0)` // Estimated: `919 + r * (297 ±0)` - // Minimum execution time: 272_204_000 picoseconds. - Weight::from_parts(181_840_247, 919) - // Standard Error: 12_990 - .saturating_add(Weight::from_parts(5_803_235, 0).saturating_mul(r.into())) + // Minimum execution time: 337_918_000 picoseconds. + Weight::from_parts(252_634_761, 919) + // Standard Error: 10_301 + .saturating_add(Weight::from_parts(5_658_982, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -3001,10 +2999,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1258 + n * (1 ±0)` // Estimated: `1258 + n * (1 ±0)` - // Minimum execution time: 285_806_000 picoseconds. - Weight::from_parts(299_198_348, 1258) - // Standard Error: 35 - .saturating_add(Weight::from_parts(1_087, 0).saturating_mul(n.into())) + // Minimum execution time: 349_865_000 picoseconds. + Weight::from_parts(364_637_455, 1258) + // Standard Error: 43 + .saturating_add(Weight::from_parts(627, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -3016,10 +3014,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `935 + r * (288 ±0)` // Estimated: `936 + r * (289 ±0)` - // Minimum execution time: 266_945_000 picoseconds. - Weight::from_parts(204_591_050, 936) - // Standard Error: 10_852 - .saturating_add(Weight::from_parts(5_489_051, 0).saturating_mul(r.into())) + // Minimum execution time: 334_501_000 picoseconds. + Weight::from_parts(256_737_953, 936) + // Standard Error: 8_494 + .saturating_add(Weight::from_parts(5_452_683, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -3032,10 +3030,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1245 + n * (1 ±0)` // Estimated: `1245 + n * (1 ±0)` - // Minimum execution time: 269_827_000 picoseconds. - Weight::from_parts(294_861_647, 1245) - // Standard Error: 36 - .saturating_add(Weight::from_parts(385, 0).saturating_mul(n.into())) + // Minimum execution time: 349_107_000 picoseconds. + Weight::from_parts(359_995_568, 1245) + // Standard Error: 30 + .saturating_add(Weight::from_parts(109, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -3047,10 +3045,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `908 + r * (296 ±0)` // Estimated: `915 + r * (297 ±0)` - // Minimum execution time: 270_903_000 picoseconds. - Weight::from_parts(179_016_061, 915) - // Standard Error: 13_815 - .saturating_add(Weight::from_parts(7_103_586, 0).saturating_mul(r.into())) + // Minimum execution time: 333_339_000 picoseconds. + Weight::from_parts(235_980_883, 915) + // Standard Error: 11_633 + .saturating_add(Weight::from_parts(7_018_977, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -3064,10 +3062,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1259 + n * (1 ±0)` // Estimated: `1259 + n * (1 ±0)` - // Minimum execution time: 285_233_000 picoseconds. - Weight::from_parts(307_266_872, 1259) - // Standard Error: 42 - .saturating_add(Weight::from_parts(340, 0).saturating_mul(n.into())) + // Minimum execution time: 353_005_000 picoseconds. + Weight::from_parts(364_276_314, 1259) + // Standard Error: 30 + .saturating_add(Weight::from_parts(759, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -3091,10 +3089,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1452 + r * (45 ±0)` // Estimated: `7349 + r * (2520 ±0)` - // Minimum execution time: 272_760_000 picoseconds. - Weight::from_parts(169_488_533, 7349) - // Standard Error: 29_765 - .saturating_add(Weight::from_parts(39_376_406, 0).saturating_mul(r.into())) + // Minimum execution time: 333_452_000 picoseconds. + Weight::from_parts(142_147_982, 7349) + // Standard Error: 36_619 + .saturating_add(Weight::from_parts(39_660_249, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(4_u64)) @@ -3120,10 +3118,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1296 + r * (276 ±0)` // Estimated: `9481 + r * (2752 ±0)` - // Minimum execution time: 272_684_000 picoseconds. - Weight::from_parts(277_233_000, 9481) - // Standard Error: 118_314 - .saturating_add(Weight::from_parts(248_277_789, 0).saturating_mul(r.into())) + // Minimum execution time: 337_964_000 picoseconds. + Weight::from_parts(343_202_000, 9481) + // Standard Error: 105_016 + .saturating_add(Weight::from_parts(309_034_946, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(11_u64)) .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(4_u64)) @@ -3148,11 +3146,11 @@ impl WeightInfo for () { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (572 ±0)` - // Estimated: `6806 + r * (2633 ±3)` - // Minimum execution time: 273_037_000 picoseconds. - Weight::from_parts(278_708_000, 6806) - // Standard Error: 148_237 - .saturating_add(Weight::from_parts(246_429_899, 0).saturating_mul(r.into())) + // Estimated: `6806 + r * (2633 ±10)` + // Minimum execution time: 333_861_000 picoseconds. + Weight::from_parts(337_550_000, 6806) + // Standard Error: 139_004 + .saturating_add(Weight::from_parts(306_928_468, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -3177,19 +3175,19 @@ impl WeightInfo for () { /// 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: `1308 + t * (204 ±0)` - // Estimated: `12198 + t * (5154 ±0)` - // Minimum execution time: 458_571_000 picoseconds. - Weight::from_parts(82_434_924, 12198) - // Standard Error: 12_112_923 - .saturating_add(Weight::from_parts(375_570_955, 0).saturating_mul(t.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(1_064, 0).saturating_mul(c.into())) + // Measured: `1328 + t * (310 ±0)` + // Estimated: `12218 + t * (5260 ±0)` + // Minimum execution time: 538_804_000 picoseconds. + Weight::from_parts(153_868_010, 12218) + // Standard Error: 11_323_037 + .saturating_add(Weight::from_parts(350_086_502, 0).saturating_mul(t.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_099, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(13_u64)) .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(t.into()))) .saturating_add(RocksDbWeight::get().writes(6_u64)) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(t.into()))) - .saturating_add(Weight::from_parts(0, 5154).saturating_mul(t.into())) + .saturating_add(Weight::from_parts(0, 5260).saturating_mul(t.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3212,10 +3210,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1383 + r * (251 ±0)` // Estimated: `7207 + r * (5202 ±0)` - // Minimum execution time: 660_700_000 picoseconds. - Weight::from_parts(675_097_000, 7207) - // Standard Error: 364_345 - .saturating_add(Weight::from_parts(400_003_245, 0).saturating_mul(r.into())) + // Minimum execution time: 778_214_000 picoseconds. + Weight::from_parts(786_870_000, 7207) + // Standard Error: 332_116 + .saturating_add(Weight::from_parts(457_145_100, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(6_u64)) @@ -3243,21 +3241,19 @@ impl WeightInfo for () { /// 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: `1131 + t * (187 ±0)` - // Estimated: `9552 + t * (2634 ±2)` - // Minimum execution time: 2_327_206_000 picoseconds. - Weight::from_parts(1_365_575_361, 9552) - // Standard Error: 16_883_593 - .saturating_add(Weight::from_parts(15_130_866, 0).saturating_mul(t.into())) - // Standard Error: 26 - .saturating_add(Weight::from_parts(1_119, 0).saturating_mul(i.into())) - // Standard Error: 26 - .saturating_add(Weight::from_parts(1_189, 0).saturating_mul(s.into())) + // Measured: `1232 + t * (156 ±0)` + // Estimated: `9662 + t * (2578 ±2)` + // Minimum execution time: 2_540_848_000 picoseconds. + Weight::from_parts(1_403_859_093, 9662) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_194, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_277, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(15_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(RocksDbWeight::get().writes(10_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into()))) - .saturating_add(Weight::from_parts(0, 2634).saturating_mul(t.into())) + .saturating_add(Weight::from_parts(0, 2578).saturating_mul(t.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3278,10 +3274,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `856 + r * (8 ±0)` // Estimated: `6797 + r * (8 ±0)` - // Minimum execution time: 271_594_000 picoseconds. - Weight::from_parts(290_678_500, 6797) - // Standard Error: 954 - .saturating_add(Weight::from_parts(401_376, 0).saturating_mul(r.into())) + // Minimum execution time: 332_530_000 picoseconds. + Weight::from_parts(344_690_108, 6797) + // Standard Error: 475 + .saturating_add(Weight::from_parts(414_505, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -3305,10 +3301,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `864` // Estimated: `6804` - // Minimum execution time: 269_343_000 picoseconds. - Weight::from_parts(267_274_896, 6804) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_120, 0).saturating_mul(n.into())) + // Minimum execution time: 333_818_000 picoseconds. + Weight::from_parts(326_455_409, 6804) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3331,10 +3327,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6800 + r * (8 ±0)` - // Minimum execution time: 269_201_000 picoseconds. - Weight::from_parts(282_958_755, 6800) - // Standard Error: 1_051 - .saturating_add(Weight::from_parts(826_056, 0).saturating_mul(r.into())) + // Minimum execution time: 332_527_000 picoseconds. + Weight::from_parts(340_624_458, 6800) + // Standard Error: 702 + .saturating_add(Weight::from_parts(830_440, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -3358,10 +3354,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6808` - // Minimum execution time: 268_620_000 picoseconds. - Weight::from_parts(291_085_767, 6808) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_364, 0).saturating_mul(n.into())) + // Minimum execution time: 337_558_000 picoseconds. + Weight::from_parts(345_319_444, 6808) + // Standard Error: 1 + .saturating_add(Weight::from_parts(3_443, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3384,10 +3380,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6803 + r * (8 ±0)` - // Minimum execution time: 268_594_000 picoseconds. - Weight::from_parts(285_367_992, 6803) - // Standard Error: 715 - .saturating_add(Weight::from_parts(465_706, 0).saturating_mul(r.into())) + // Minimum execution time: 333_576_000 picoseconds. + Weight::from_parts(342_567_918, 6803) + // Standard Error: 517 + .saturating_add(Weight::from_parts(469_999, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -3411,10 +3407,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6812` - // Minimum execution time: 267_616_000 picoseconds. - Weight::from_parts(271_719_406, 6812) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_225, 0).saturating_mul(n.into())) + // Minimum execution time: 333_643_000 picoseconds. + Weight::from_parts(332_234_962, 6812) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_299, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3437,10 +3433,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6804 + r * (8 ±0)` - // Minimum execution time: 270_531_000 picoseconds. - Weight::from_parts(283_734_748, 6804) - // Standard Error: 652 - .saturating_add(Weight::from_parts(464_718, 0).saturating_mul(r.into())) + // Minimum execution time: 335_949_000 picoseconds. + Weight::from_parts(339_586_300, 6804) + // Standard Error: 712 + .saturating_add(Weight::from_parts(475_318, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) @@ -3464,10 +3460,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 273_440_000 picoseconds. - Weight::from_parts(273_385_519, 6806) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_221, 0).saturating_mul(n.into())) + // Minimum execution time: 331_102_000 picoseconds. + Weight::from_parts(335_444_569, 6806) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_292, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3490,10 +3486,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `991 + n * (1 ±0)` // Estimated: `6928 + n * (1 ±0)` - // Minimum execution time: 347_494_000 picoseconds. - Weight::from_parts(359_555_666, 6928) - // Standard Error: 19 - .saturating_add(Weight::from_parts(6_073, 0).saturating_mul(n.into())) + // Minimum execution time: 399_687_000 picoseconds. + Weight::from_parts(412_562_252, 6928) + // Standard Error: 11 + .saturating_add(Weight::from_parts(6_107, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -3515,12 +3511,12 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 160]`. fn seal_sr25519_verify(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `804 + r * (112 ±0)` + // Measured: `806 + r * (112 ±0)` // Estimated: `6745 + r * (112 ±0)` - // Minimum execution time: 271_899_000 picoseconds. - Weight::from_parts(341_998_900, 6745) - // Standard Error: 16_017 - .saturating_add(Weight::from_parts(56_033_707, 0).saturating_mul(r.into())) + // Minimum execution time: 340_992_000 picoseconds. + Weight::from_parts(385_744_518, 6745) + // Standard Error: 10_987 + .saturating_add(Weight::from_parts(56_047_105, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 112).saturating_mul(r.into())) @@ -3544,10 +3540,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `900 + r * (76 ±0)` // Estimated: `6795 + r * (77 ±0)` - // Minimum execution time: 275_662_000 picoseconds. - Weight::from_parts(351_585_440, 6795) - // Standard Error: 20_452 - .saturating_add(Weight::from_parts(46_289_357, 0).saturating_mul(r.into())) + // Minimum execution time: 335_366_000 picoseconds. + Weight::from_parts(395_811_523, 6795) + // Standard Error: 14_268 + .saturating_add(Weight::from_parts(46_194_718, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 77).saturating_mul(r.into())) @@ -3571,10 +3567,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (42 ±0)` // Estimated: `6810 + r * (42 ±0)` - // Minimum execution time: 275_543_000 picoseconds. - Weight::from_parts(329_759_758, 6810) - // Standard Error: 17_863 - .saturating_add(Weight::from_parts(38_645_318, 0).saturating_mul(r.into())) + // Minimum execution time: 333_708_000 picoseconds. + Weight::from_parts(375_822_414, 6810) + // Standard Error: 15_535 + .saturating_add(Weight::from_parts(38_534_300, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 42).saturating_mul(r.into())) @@ -3598,10 +3594,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0 + r * (961 ±0)` // Estimated: `6801 + r * (3087 ±7)` - // Minimum execution time: 274_328_000 picoseconds. - Weight::from_parts(281_508_000, 6801) - // Standard Error: 57_665 - .saturating_add(Weight::from_parts(25_993_241, 0).saturating_mul(r.into())) + // Minimum execution time: 329_668_000 picoseconds. + Weight::from_parts(337_256_000, 6801) + // Standard Error: 64_733 + .saturating_add(Weight::from_parts(25_506_246, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) @@ -3627,10 +3623,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `852 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 273_587_000 picoseconds. - Weight::from_parts(284_346_594, 6802) - // Standard Error: 388 - .saturating_add(Weight::from_parts(178_567, 0).saturating_mul(r.into())) + // Minimum execution time: 332_021_000 picoseconds. + Weight::from_parts(343_753_442, 6802) + // Standard Error: 406 + .saturating_add(Weight::from_parts(178_908, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) @@ -3654,10 +3650,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `2092 + r * (39 ±0)` // Estimated: `7919 + r * (40 ±0)` - // Minimum execution time: 262_400_000 picoseconds. - Weight::from_parts(376_113_011, 7919) - // Standard Error: 2_401 - .saturating_add(Weight::from_parts(309_059, 0).saturating_mul(r.into())) + // Minimum execution time: 334_122_000 picoseconds. + Weight::from_parts(410_992_486, 7919) + // Standard Error: 1_583 + .saturating_add(Weight::from_parts(316_027, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 40).saturating_mul(r.into())) @@ -3683,10 +3679,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `855 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 259_797_000 picoseconds. - Weight::from_parts(285_980_763, 6802) - // Standard Error: 507 - .saturating_add(Weight::from_parts(159_269, 0).saturating_mul(r.into())) + // Minimum execution time: 331_093_000 picoseconds. + Weight::from_parts(345_663_437, 6802) + // Standard Error: 374 + .saturating_add(Weight::from_parts(157_207, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) @@ -3696,9 +3692,9 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_253_000 picoseconds. - Weight::from_parts(1_113_896, 0) - // Standard Error: 25 - .saturating_add(Weight::from_parts(10_680, 0).saturating_mul(r.into())) + // Minimum execution time: 1_483_000 picoseconds. + Weight::from_parts(1_672_465, 0) + // Standard Error: 24 + .saturating_add(Weight::from_parts(10_591, 0).saturating_mul(r.into())) } }