From eef15f1147fff7d5dcec1e5dff28845a5ae003b2 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 3 May 2023 16:42:29 +0300 Subject: [PATCH 01/70] upgrade to wasmi 0.29 --- Cargo.lock | 7 ++++--- frame/contracts/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 42ad1855248a0..a424b50e26752 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5999,7 +5999,7 @@ dependencies = [ "sp-runtime", "sp-std", "wasm-instrument 0.4.0", - "wasmi 0.28.0", + "wasmi 0.29.0", "wasmparser-nostd", "wat", ] @@ -12657,10 +12657,11 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e61a7006b0fdf24f6bbe8dcfdad5ca1b350de80061fb2827f31c82fbbb9565a" +checksum = "677160b1166881badada1137afc6457777126f328ae63a18058b504f546f0828" dependencies = [ + "smallvec", "spin 0.9.5", "wasmi_arena", "wasmi_core 0.12.0", diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml index edb6d294cfcd5..1b190459d0d42 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -26,7 +26,7 @@ serde = { version = "1", optional = true, features = ["derive"] } smallvec = { version = "1", default-features = false, features = [ "const_generics", ] } -wasmi = { version = "0.28", default-features = false } +wasmi = { version = "0.29", default-features = false } wasmparser = { package = "wasmparser-nostd", version = "0.100", default-features = false } impl-trait-for-tuples = "0.2" From dee28ff9c15dea9799e7226fa7d62c8cefa25df7 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 3 May 2023 17:20:54 +0300 Subject: [PATCH 02/70] prepare cleanup --- frame/contracts/src/wasm/prepare.rs | 76 ++++++++++++----------------- 1 file changed, 30 insertions(+), 46 deletions(-) diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 14fec834733eb..4f005b44bc3fd 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -31,7 +31,6 @@ use codec::{Encode, MaxEncodedLen}; use sp_runtime::{traits::Hash, DispatchError}; use sp_std::prelude::*; use wasm_instrument::{ - gas_metering, parity_wasm::elements::{self, External, Internal, MemoryType, Type, ValueType}, }; use wasmi::StackLimits; @@ -64,24 +63,21 @@ enum InstrumentReason { Reinstrument, } -struct ContractModule<'a, T: Config> { - /// A deserialized module. The module is valid (this is Guaranteed by `new` method). - module: elements::Module, - schedule: &'a Schedule, -} +/// The inner deserialized module is valid (this is Guaranteed by `new` method). +struct ContractModule(elements::Module); -impl<'a, T: Config> ContractModule<'a, T> { +impl ContractModule { /// Creates a new instance of `ContractModule`. /// /// Returns `Err` if the `original_code` couldn't be decoded or /// if it contains an invalid module. - fn new(original_code: &[u8], schedule: &'a Schedule) -> Result { + fn new(original_code: &[u8]) -> Result { let module = elements::deserialize_buffer(original_code).map_err(|_| "Can't decode wasm code")?; // Return a `ContractModule` instance with // __valid__ module. - Ok(ContractModule { module, schedule }) + Ok(ContractModule(module)) } /// Ensures that module doesn't declare internal memories. @@ -90,7 +86,7 @@ impl<'a, T: Config> ContractModule<'a, T> { /// 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.module.memory_section().map_or(false, |ms| ms.entries().len() > 0) { + if self.0.memory_section().map_or(false, |ms| ms.entries().len() > 0) { return Err("module declares internal memory") } Ok(()) @@ -98,7 +94,7 @@ impl<'a, T: Config> ContractModule<'a, T> { /// 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.module.table_section() { + 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 { @@ -117,7 +113,7 @@ impl<'a, T: Config> ContractModule<'a, T> { /// 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.module.code_section() { + let code_section = if let Some(type_section) = self.0.code_section() { type_section } else { return Ok(()) @@ -134,7 +130,7 @@ impl<'a, T: Config> ContractModule<'a, T> { } fn ensure_global_variable_limit(&self, limit: u32) -> Result<(), &'static str> { - if let Some(global_section) = self.module.global_section() { + if let Some(global_section) = self.0.global_section() { if global_section.entries().len() > limit as usize { return Err("module declares too many globals") } @@ -143,7 +139,7 @@ impl<'a, T: Config> ContractModule<'a, T> { } fn ensure_local_variable_limit(&self, limit: u32) -> Result<(), &'static str> { - if let Some(code_section) = self.module.code_section() { + 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(); @@ -157,7 +153,7 @@ impl<'a, T: Config> ContractModule<'a, T> { /// 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.module.type_section() { + let type_section = if let Some(type_section) = self.0.type_section() { type_section } else { return Ok(()) @@ -172,14 +168,6 @@ impl<'a, T: Config> ContractModule<'a, T> { Ok(()) } - fn inject_gas_metering(self, determinism: Determinism) -> Result { - let gas_rules = self.schedule.rules(determinism); - let backend = gas_metering::host_function::Injector::new("seal0", "gas"); - let contract_module = gas_metering::inject(self.module, backend, &gas_rules) - .map_err(|_| "gas instrumentation failed")?; - Ok(ContractModule { module: contract_module, schedule: self.schedule }) - } - /// Check that the module has required exported functions. For now /// these are just entrypoints: /// @@ -191,7 +179,7 @@ impl<'a, T: Config> ContractModule<'a, T> { let mut deploy_found = false; let mut call_found = false; - let module = &self.module; + 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(&[]); @@ -263,11 +251,11 @@ impl<'a, T: Config> ContractModule<'a, T> { /// and enforces and returns the memory type declared by the contract if any. /// /// `import_fn_banlist`: list of function names that are disallowed to be imported - fn scan_imports( + fn scan_imports( &self, import_fn_banlist: &[&[u8]], ) -> Result, &'static str> { - let module = &self.module; + let module = &self.0; let import_entries = module.import_section().map(|is| is.entries()).unwrap_or(&[]); let mut imported_mem_type = None; @@ -276,7 +264,7 @@ impl<'a, T: Config> ContractModule<'a, T> { External::Table(_) => return Err("Cannot import tables"), External::Global(_) => return Err("Cannot import globals"), External::Function(_) => { - if !T::ChainExtension::enabled() && + if !::ChainExtension::enabled() && import.field().as_bytes() == b"seal_call_chain_extension" { return Err("module uses chain extensions but chain extensions are disabled") @@ -305,7 +293,7 @@ impl<'a, T: Config> ContractModule<'a, T> { } fn into_wasm_code(self) -> Result, &'static str> { - elements::serialize(self.module).map_err(|_| "error serializing instrumented module") + elements::serialize(self.0).map_err(|_| "error serializing instrumented module") } } @@ -336,12 +324,12 @@ fn get_memory_limits( } } -/// Check and instrument the given `original_code`. +/// Check that given `code` satisfies constraints required for the contract Wasm module. /// -/// On success it returns the instrumented versions together with its `(initial, maximum)` -/// error requirement. The memory requirement was also validated against the `schedule`. -fn instrument( - original_code: &[u8], +/// On success it returns back the code together with its `(initial, maximum)` +/// memory limits. The memory requirement was also validated against the `schedule`. +fn validate( + code: &[u8], schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, @@ -377,14 +365,14 @@ where simd: false, memory_control: false, }) - .validate_all(original_code) + .validate_all(code) .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); (Error::::CodeRejected.into(), "validation of new code failed") })?; let (code, (initial, maximum)) = (|| { - let contract_module = ContractModule::new(original_code, schedule)?; + let contract_module = ContractModule::new(code)?; contract_module.scan_exports()?; contract_module.ensure_no_internal_memory()?; contract_module.ensure_table_size_limit(schedule.limits.table_size)?; @@ -393,12 +381,10 @@ where contract_module.ensure_parameter_limit(schedule.limits.parameters)?; contract_module.ensure_br_table_size_limit(schedule.limits.br_table_size)?; - // We disallow importing `gas` function here since it is treated as implementation detail. - let disallowed_imports = [b"gas".as_ref()]; let memory_limits = - get_memory_limits(contract_module.scan_imports(&disallowed_imports)?, schedule)?; + get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; - let code = contract_module.inject_gas_metering(determinism)?.into_wasm_code()?; + let code = contract_module.into_wasm_code()?; Ok((code, memory_limits)) })() @@ -434,8 +420,7 @@ where Ok((code, (initial, maximum))) } -/// Loads the given module given in `original_code`, performs some checks on it and -/// does some preprocessing. +/// Loads the given module given in `original_code` and performs some checks on it. /// /// The checks are: /// @@ -443,8 +428,6 @@ where /// - the module doesn't define an internal memory instance /// - imported memory (if any) doesn't reserve more memory than permitted by the `schedule` /// - all imported functions from the external environment matches defined by `env` module -/// -/// The preprocessing includes injecting code for gas metering and metering the height of stack. pub fn prepare( original_code: CodeVec, schedule: &Schedule, @@ -456,7 +439,8 @@ where E: Environment<()>, T: Config, { - let (code, (initial, maximum)) = instrument::( + // TODO: remove passing the code to the validator? + let (code, (initial, maximum)) = validate::( original_code.as_ref(), schedule, determinism, @@ -495,7 +479,7 @@ where /// Same as [`prepare`] but without constructing a new module. /// /// Used to update the code of an existing module to the newest [`Schedule`] version. -/// Stictly speaking is not necessary to check the existing code before reinstrumenting because +/// Strictly speaking is not necessary to check the existing code before reinstrumenting because /// it can't change in the meantime. However, since we recently switched the validation library /// we want to re-validate to weed out any bugs that were lurking in the old version. pub fn reinstrument( @@ -507,7 +491,7 @@ where E: Environment<()>, T: Config, { - instrument::( + validate::( original_code, schedule, determinism, From efeb0bd6b6ee763f8c292181a4b063a99b928920 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 3 May 2023 23:19:30 +0300 Subject: [PATCH 03/70] sync ref_time w engine from the stack frame --- frame/contracts/primitives/src/lib.rs | 2 ++ frame/contracts/src/exec.rs | 18 +++++++++++--- frame/contracts/src/gas.rs | 23 +++++++++++++++-- frame/contracts/src/wasm/code_cache.rs | 1 + frame/contracts/src/wasm/mod.rs | 13 ++++++++-- frame/contracts/src/wasm/prepare.rs | 8 +++--- frame/contracts/src/wasm/runtime.rs | 34 ++++++++++++++++++++++---- 7 files changed, 83 insertions(+), 16 deletions(-) diff --git a/frame/contracts/primitives/src/lib.rs b/frame/contracts/primitives/src/lib.rs index e73ceb031e184..0f94996bde910 100644 --- a/frame/contracts/primitives/src/lib.rs +++ b/frame/contracts/primitives/src/lib.rs @@ -113,6 +113,8 @@ pub struct ExecReturnValue { pub flags: ReturnFlags, /// Buffer passed along by `seal_return`. Empty when `seal_return` was never called. pub data: Vec, + /// Gas consumed during the execution. This is returned from the engine. + pub reftime_consumed: u64, } impl ExecReturnValue { diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index a81a633f740ab..8e20647e8cf55 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -325,7 +325,7 @@ pub trait Executable: Sized { /// Load the executable from storage. /// /// # Note - /// Charges size base load and instrumentation weight from the gas meter. + /// Charges size base load weight from the gas meter. fn from_storage( code_hash: CodeHash, schedule: &Schedule, @@ -345,6 +345,7 @@ pub trait Executable: Sized { fn remove_user(code_hash: CodeHash); /// Execute the specified exported function and return the result. + /// `reftime_limit` is passed to the execution engine to account for gas. /// /// When the specified function is `Constructor` the executable is stored and its /// refcount incremented. @@ -358,6 +359,7 @@ pub trait Executable: Sized { ext: &mut E, function: &ExportedFunction, input_data: Vec, + reftime_limit: u64, ) -> ExecResult; /// The code hash of the executable. @@ -706,6 +708,7 @@ where schedule, determinism, )?; + let stack = Self { origin, schedule, @@ -864,11 +867,20 @@ where // Every non delegate call or instantiate also optionally transfers the balance. self.initial_transfer()?; - // Call into the wasm blob. + // Take the ref_time part of the gas_left from the current frame. + let frame = self.top_frame(); + let reftime_left = frame.nested_gas.gas_left().ref_time(); + + // Call into the Wasm blob. + // We pass `reftime_left` into the execution engine to initialize its gas metering. let output = executable - .execute(self, &entry_point, input_data) + .execute(self, &entry_point, input_data, reftime_left) .map_err(|e| ExecError { error: e.error, origin: ErrorOrigin::Callee })?; + // Sync this frame's gas meter with the engine's one. + let frame = self.top_frame_mut(); + frame.nested_gas.sync_reftime(output.reftime_consumed)?; + // Avoid useless work that would be reverted anyways. if output.did_revert() { return Ok(output) diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index f6484fbcf4630..31f874c9169dd 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -181,17 +181,36 @@ impl GasMeter { self.gas_left = self.gas_left.saturating_add(adjustment).min(self.gas_limit); } + /// Update the `ref_time` component of the `gas_left` to bring it into line with + /// the Wasm engine gas meter. + /// + /// This is used for gas synchronizations with the engine both on enter and on exit + /// of every host function. + /// + /// Normally this would never fail, as engine should fail first when out of gas. + pub fn sync_reftime(&mut self, consumed: u64) -> Result<(), DispatchError> { + if !consumed.is_zero() { + let ref_time = self.gas_left.ref_time_mut(); + *ref_time = self + .gas_limit + .ref_time() + .checked_sub(consumed) + .ok_or_else(|| Error::::OutOfGas)?; + } + Ok(()) + } + /// Returns the amount of gas that is required to run the same call. /// /// This can be different from `gas_spent` because due to `adjust_gas` the amount of /// spent gas can temporarily drop and be refunded later. pub fn gas_required(&self) -> Weight { - self.gas_limit - self.gas_left_lowest() + self.gas_limit.saturating_sub(self.gas_left_lowest()) } /// Returns how much gas was spent pub fn gas_consumed(&self) -> Weight { - self.gas_limit - self.gas_left + self.gas_limit.saturating_sub(self.gas_left) } /// Returns how much gas left from the initial budget. diff --git a/frame/contracts/src/wasm/code_cache.rs b/frame/contracts/src/wasm/code_cache.rs index 7dbce367ca96b..fb6c848f4e85e 100644 --- a/frame/contracts/src/wasm/code_cache.rs +++ b/frame/contracts/src/wasm/code_cache.rs @@ -161,6 +161,7 @@ pub fn try_remove(origin: &T::AccountId, code_hash: CodeHash) -> D /// If the module was instrumented with a lower version of schedule than /// the current one given as an argument, then this function will perform /// re-instrumentation and update the cache in the storage. +// TODO this should ho to PreFabWasmMod without re-instrumentation. pub fn load( code_hash: CodeHash, schedule: &Schedule, diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 224c116946aa4..87e90881cc55b 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -221,7 +221,9 @@ impl PrefabWasmModule { .wasm_multi_value(false) .wasm_mutable_global(false) .wasm_sign_extension(false) - .wasm_saturating_float_to_int(false); + .wasm_saturating_float_to_int(false) + .consume_fuel(true); + let engine = Engine::new(&config); let module = Module::new(&engine, code)?; let mut store = Store::new(&engine, host_state); @@ -313,6 +315,7 @@ impl Executable for PrefabWasmModule { ext: &mut E, function: &ExportedFunction, input_data: Vec, + reftime_limit: u64, ) -> ExecResult { let runtime = Runtime::new(ext, input_data); let (mut store, memory, instance) = Self::instantiate::( @@ -331,6 +334,11 @@ impl Executable for PrefabWasmModule { })?; store.data_mut().set_memory(memory); + // Set fuel limit for the Wasm module execution. + store + .add_fuel(reftime_limit) + .expect("We've set up engine to fuel consuming mode; qed"); + let exported_func = instance .get_export(&store, function.identifier()) .and_then(|export| export.into_func()) @@ -345,8 +353,9 @@ impl Executable for PrefabWasmModule { } let result = exported_func.call(&mut store, &[], &mut []); + let reftime_consumed = store.fuel_consumed().unwrap_or_default(); - store.into_data().to_execution_result(result) + store.into_data().to_execution_result(result, reftime_consumed) } fn code_hash(&self) -> &CodeHash { diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 4f005b44bc3fd..304eff9055a16 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -30,8 +30,8 @@ use crate::{ use codec::{Encode, MaxEncodedLen}; use sp_runtime::{traits::Hash, DispatchError}; use sp_std::prelude::*; -use wasm_instrument::{ - parity_wasm::elements::{self, External, Internal, MemoryType, Type, ValueType}, +use wasm_instrument::parity_wasm::elements::{ + self, External, Internal, MemoryType, Type, ValueType, }; use wasmi::StackLimits; use wasmparser::{Validator, WasmFeatures}; @@ -381,8 +381,7 @@ where contract_module.ensure_parameter_limit(schedule.limits.parameters)?; contract_module.ensure_br_table_size_limit(schedule.limits.br_table_size)?; - let memory_limits = - get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; @@ -482,6 +481,7 @@ where /// Strictly speaking is not necessary to check the existing code before reinstrumenting because /// it can't change in the meantime. However, since we recently switched the validation library /// we want to re-validate to weed out any bugs that were lurking in the old version. +/// TODO remove this func pub fn reinstrument( original_code: &[u8], schedule: &Schedule, diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 330bf19d65232..1462391613128 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -484,24 +484,36 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { } /// Converts the sandbox result and the runtime state into the execution outcome. - pub fn to_execution_result(self, sandbox_result: Result<(), wasmi::Error>) -> ExecResult { + pub fn to_execution_result( + self, + sandbox_result: Result<(), wasmi::Error>, + reftime_consumed: u64, + ) -> ExecResult { use TrapReason::*; match sandbox_result { // Contract returned from main function -> no data was returned. - Ok(_) => Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), + Ok(_) => Ok(ExecReturnValue { + flags: ReturnFlags::empty(), + data: Vec::new(), + reftime_consumed, + }), // Contract either trapped or some host function aborted the execution. Err(wasmi::Error::Trap(trap)) => { // If we encoded a reason then it is some abort generated by a host function. // Otherwise the trap came from the contract. + // TODO add handling of wasmi OutOfGas error let reason: TrapReason = trap.downcast().ok_or(Error::::ContractTrapped)?; match reason { Return(ReturnData { flags, data }) => { let flags = ReturnFlags::from_bits(flags).ok_or(Error::::InvalidCallFlags)?; - Ok(ExecReturnValue { flags, data }) + Ok(ExecReturnValue { flags, data, reftime_consumed }) }, - Termination => - Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), + Termination => Ok(ExecReturnValue { + flags: ReturnFlags::empty(), + data: Vec::new(), + reftime_consumed, + }), SupervisorError(error) => return Err(error.into()), } }, @@ -539,6 +551,17 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { self.ext.gas_meter().adjust_gas(charged, token); } + /// Update `ref_time` weight left in the gas meter with the value from the engine's state. + pub fn pull_gas(&mut self, consumed: u64) -> Result<(), DispatchError> { + self.ext.gas_meter().sync_reftime(consumed) + } + + /// Update the engine gas meter with the `ref_time` weight left. + /// TODO this one should be generated in the proc_macro + pub fn push_gas(&mut self, consumed: u64) -> Result<(), DispatchError> { + self.ext.gas_meter().sync_reftime(consumed) + } + /// Read designated chunk from the sandbox memory. /// /// Returns `Err` if one of the following conditions occurs: @@ -1011,6 +1034,7 @@ pub mod env { /// It deals only with the *ref_time* Weight. /// /// - `amount`: How much gas is used. + /// TODO remove this host fn fn gas(ctx: _, _memory: _, amount: u64) -> Result<(), TrapReason> { ctx.charge_gas(RuntimeCosts::MeteringBlock(amount))?; Ok(()) From 4fdd5c8adc4e49f16a34aa551d77ae310c29b23b Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Thu, 4 May 2023 20:36:37 +0300 Subject: [PATCH 04/70] proc_macro: sync gas in host funcs save: compiles, only gas pushing left to macro WIP proc macro proc macro: done --- frame/contracts/proc-macro/src/lib.rs | 36 +++++++++++++++++++++------ frame/contracts/src/exec.rs | 7 ++++++ frame/contracts/src/gas.rs | 8 +++--- frame/contracts/src/wasm/runtime.rs | 11 -------- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index a6a8187bc8aaa..ebde75d3d816e 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -624,8 +624,8 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) let trace_fmt_str = format!("{}::{}({}) = {{:?}}\n", module, name, params_fmt_str); quote! { + let result = #body; if ::log::log_enabled!(target: "runtime::contracts::strace", ::log::Level::Trace) { - let result = #body; { use sp_std::fmt::Write; let mut w = sp_std::Writer::default(); @@ -633,10 +633,8 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) let msg = core::str::from_utf8(&w.inner()).unwrap_or_default(); ctx.ext().append_debug_buffer(msg); } - result - } else { - #body } + result } }; @@ -677,6 +675,25 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) } else { quote! { #[allow(unused_variables)] } }; + let sync_gas_before = if expand_blocks { + quote! { + let gas_before = { + let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); + __caller__.data_mut().ext.gas_meter().sync_reftime(engine_consumed).map_err(|e| TrapReason::from(e)).map_err(#map_err)? + }; + } + } else { + quote! { } + }; + let sync_gas_after = if expand_blocks { + quote! { + let gas_after = __caller__.data().ext.gas_meter_immut().gas_left().ref_time(); + let host_consumed = gas_before.saturating_sub(gas_after); + __caller__.consume_fuel(host_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#map_err)?; + } + } else { + quote! { } + }; quote! { // We need to allow all interfaces when runtime benchmarks are performed because @@ -688,10 +705,13 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) { #allow_unused linker.define(#module, #name, ::wasmi::Func::wrap(&mut*store, |mut __caller__: ::wasmi::Caller<#host_state>, #( #params, )*| -> #wasm_output { - let mut func = #inner; - func() - .map_err(#map_err) - .map(::core::convert::Into::into) + #sync_gas_before + let result = { + let mut func = #inner; + func().map_err(#map_err).map(::core::convert::Into::into) + }; + #sync_gas_after + result }))?; } } diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 8e20647e8cf55..6118fac6f4df3 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -266,6 +266,9 @@ pub trait Ext: sealing::Sealed { /// Get a mutable reference to the nested gas meter. fn gas_meter(&mut self) -> &mut GasMeter; + /// Get a mutable reference to the nested gas meter. + fn gas_meter_immut(&self) -> &GasMeter; + /// Append a string to the debug buffer. /// /// It is added as-is without any additional new line. @@ -1388,6 +1391,10 @@ where &mut self.top_frame_mut().nested_gas } + fn gas_meter_immut(&self) -> &GasMeter { + &self.top_frame().nested_gas + } + fn append_debug_buffer(&mut self, msg: &str) -> bool { if let Some(buffer) = &mut self.debug_message { buffer diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index 31f874c9169dd..cb3b79bccbc35 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -187,17 +187,19 @@ impl GasMeter { /// This is used for gas synchronizations with the engine both on enter and on exit /// of every host function. /// + /// Returns the updated `ref_time` value for the gas left in the meter. + /// TODO : add scaling /// Normally this would never fail, as engine should fail first when out of gas. - pub fn sync_reftime(&mut self, consumed: u64) -> Result<(), DispatchError> { + pub fn sync_reftime(&mut self, consumed: u64) -> Result { + let ref_time = self.gas_left.ref_time_mut(); if !consumed.is_zero() { - let ref_time = self.gas_left.ref_time_mut(); *ref_time = self .gas_limit .ref_time() .checked_sub(consumed) .ok_or_else(|| Error::::OutOfGas)?; } - Ok(()) + Ok(*ref_time) } /// Returns the amount of gas that is required to run the same call. diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 1462391613128..847c2bc2525f3 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -551,17 +551,6 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { self.ext.gas_meter().adjust_gas(charged, token); } - /// Update `ref_time` weight left in the gas meter with the value from the engine's state. - pub fn pull_gas(&mut self, consumed: u64) -> Result<(), DispatchError> { - self.ext.gas_meter().sync_reftime(consumed) - } - - /// Update the engine gas meter with the `ref_time` weight left. - /// TODO this one should be generated in the proc_macro - pub fn push_gas(&mut self, consumed: u64) -> Result<(), DispatchError> { - self.ext.gas_meter().sync_reftime(consumed) - } - /// Read designated chunk from the sandbox memory. /// /// Returns `Err` if one of the following conditions occurs: From cac61c69f11d63919d4781ca0d555d06dbe48873 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 5 May 2023 15:03:43 +0300 Subject: [PATCH 05/70] clean benchmarks & schedule: w_base = w_i64const --- frame/contracts/src/benchmarking/mod.rs | 768 +----------------------- frame/contracts/src/schedule.rs | 234 +------- frame/contracts/src/wasm/mod.rs | 3 +- 3 files changed, 7 insertions(+), 998 deletions(-) diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index 2c60c1501df7a..4444388623f23 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -2355,15 +2355,10 @@ benchmarks! { }: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![]) // We make the assumption that pushing a constant and dropping a value takes roughly - // the same amount of time. We follow that `t.load` and `drop` both have the weight - // of this benchmark / 2. We need to make this assumption because there is no way - // to measure them on their own using a valid wasm module. We need their individual - // values to derive the weight of individual instructions (by subtraction) from - // benchmarks that include those for parameter pushing and return type dropping. - // We call the weight of `t.load` and `drop`: `w_param`. + // the same amount of time. We call this weight `w_base`. // The weight that would result from the respective benchmark we call: `w_bench`. // - // w_i{32,64}const = w_drop = w_bench / 2 + // w_base = w_i{32,64}const = w_drop = w_bench / 2 #[pov_mode = Ignored] instr_i64const { let r in 0 .. INSTR_BENCHMARK_RUNS; @@ -2378,765 +2373,6 @@ benchmarks! { sbox.invoke(); } - // w_i{32,64}load = w_bench - 2 * w_param - #[pov_mode = Ignored] - instr_i64load { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - memory: Some(ImportedMemory::max::()), - call_body: Some(body::repeated_dyn(r, vec![ - RandomUnaligned(0, code::max_pages::() * 64 * 1024 - 8), - Regular(Instruction::I64Load(3, 0)), - Regular(Instruction::Drop), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_i{32,64}store{...} = w_bench - 2 * w_param - #[pov_mode = Ignored] - instr_i64store { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - memory: Some(ImportedMemory::max::()), - call_body: Some(body::repeated_dyn(r, vec![ - RandomUnaligned(0, code::max_pages::() * 64 * 1024 - 8), - RandomI64Repeated(1), - Regular(Instruction::I64Store(3, 0)), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_select = w_bench - 4 * w_param - #[pov_mode = Ignored] - instr_select { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - RandomI64Repeated(1), - RandomI64Repeated(1), - RandomI32(0, 2), - Regular(Instruction::Select), - Regular(Instruction::Drop), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_if = w_bench - 3 * w_param - #[pov_mode = Ignored] - instr_if { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - RandomI32(0, 2), - Regular(Instruction::If(BlockType::Value(ValueType::I64))), - RandomI64Repeated(1), - Regular(Instruction::Else), - RandomI64Repeated(1), - Regular(Instruction::End), - Regular(Instruction::Drop), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_br = w_bench - 2 * w_param - // Block instructions are not counted. - #[pov_mode = Ignored] - instr_br { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Br(1)), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_br_if = w_bench - 3 * w_param - // Block instructions are not counted. - #[pov_mode = Ignored] - instr_br_if { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::I32Const(1)), - Regular(Instruction::BrIf(1)), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_br_table = w_bench - 3 * w_param - // Block instructions are not counted. - #[pov_mode = Ignored] - instr_br_table { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let table = Box::new(BrTableData { - table: Box::new([1, 1, 1]), - default: 1, - }); - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Block(BlockType::NoResult)), - Regular(Instruction::Block(BlockType::NoResult)), - RandomI32(0, 4), - Regular(Instruction::BrTable(table)), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - RandomI64Repeated(1), - Regular(Instruction::Drop), - Regular(Instruction::End), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_br_table_per_entry = w_bench - #[pov_mode = Ignored] - instr_br_table_per_entry { - let e in 1 .. T::Schedule::get().limits.br_table_size; - let entry: Vec = [0, 1].iter() - .cloned() - .cycle() - .take((e / 2) as usize).collect(); - let table = Box::new(BrTableData { - table: entry.into_boxed_slice(), - default: 0, - }); - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::plain(vec![ - Instruction::Block(BlockType::NoResult), - Instruction::Block(BlockType::NoResult), - Instruction::Block(BlockType::NoResult), - Instruction::I32Const((e / 2) as i32), - Instruction::BrTable(table), - Instruction::I64Const(42), - Instruction::Drop, - Instruction::End, - Instruction::I64Const(42), - Instruction::Drop, - Instruction::End, - Instruction::I64Const(42), - Instruction::Drop, - Instruction::End, - Instruction::End, - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_call = w_bench - 2 * w_param - #[pov_mode = Ignored] - instr_call { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - // We need to make use of the stack here in order to trigger stack height - // instrumentation. - aux_body: Some(body::plain(vec![ - Instruction::I64Const(42), - Instruction::Drop, - Instruction::End, - ])), - call_body: Some(body::repeated(r, &[ - Instruction::Call(2), // call aux - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_call_indrect = w_bench - 3 * w_param - #[pov_mode = Ignored] - instr_call_indirect { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let num_elements = T::Schedule::get().limits.table_size; - use self::code::TableSegment; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - // We need to make use of the stack here in order to trigger stack height - // instrumentation. - aux_body: Some(body::plain(vec![ - Instruction::I64Const(42), - Instruction::Drop, - Instruction::End, - ])), - call_body: Some(body::repeated_dyn(r, vec![ - RandomI32(0, num_elements as i32), - Regular(Instruction::CallIndirect(0, 0)), // we only have one sig: 0 - ])), - table: Some(TableSegment { - num_elements, - function_index: 2, // aux - }), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_per_local = w_bench - #[pov_mode = Ignored] - instr_call_per_local { - let l in 0 .. T::Schedule::get().limits.locals; - let mut aux_body = body::plain(vec![ - Instruction::End, - ]); - body::inject_locals(&mut aux_body, l); - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - aux_body: Some(aux_body), - call_body: Some(body::plain(vec![ - Instruction::Call(2), // call aux - Instruction::End, - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_local_get = w_bench - 1 * w_param - #[pov_mode = Ignored] - instr_local_get { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let max_locals = T::Schedule::get().limits.locals; - let mut call_body = body::repeated_dyn(r, vec![ - RandomGetLocal(0, max_locals), - Regular(Instruction::Drop), - ]); - body::inject_locals(&mut call_body, max_locals); - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(call_body), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_local_set = w_bench - 1 * w_param - #[pov_mode = Ignored] - instr_local_set { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let max_locals = T::Schedule::get().limits.locals; - let mut call_body = body::repeated_dyn(r, vec![ - RandomI64Repeated(1), - RandomSetLocal(0, max_locals), - ]); - body::inject_locals(&mut call_body, max_locals); - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(call_body), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_local_tee = w_bench - 2 * w_param - #[pov_mode = Ignored] - instr_local_tee { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let max_locals = T::Schedule::get().limits.locals; - let mut call_body = body::repeated_dyn(r, vec![ - RandomI64Repeated(1), - RandomTeeLocal(0, max_locals), - Regular(Instruction::Drop), - ]); - body::inject_locals(&mut call_body, max_locals); - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(call_body), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_global_get = w_bench - 1 * w_param - #[pov_mode = Ignored] - instr_global_get { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let max_globals = T::Schedule::get().limits.globals; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - RandomGetGlobal(0, max_globals), - Regular(Instruction::Drop), - ])), - num_globals: max_globals, - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_global_set = w_bench - 1 * w_param - #[pov_mode = Ignored] - instr_global_set { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let max_globals = T::Schedule::get().limits.globals; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - RandomI64Repeated(1), - RandomSetGlobal(0, max_globals), - ])), - num_globals: max_globals, - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_memory_get = w_bench - 1 * w_param - #[pov_mode = Ignored] - instr_memory_current { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - memory: Some(ImportedMemory::max::()), - call_body: Some(body::repeated(r, &[ - Instruction::CurrentMemory(0), - Instruction::Drop - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // w_memory_grow = w_bench - 2 * w_param - // We can only allow allocate as much memory as it is allowed in a contract. - // Therefore the repeat count is limited by the maximum memory any contract can have. - // Using a contract with more memory will skew the benchmark because the runtime of grow - // depends on how much memory is already allocated. - #[pov_mode = Ignored] - instr_memory_grow { - let r in 0 .. ImportedMemory::max::().max_pages; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - memory: Some(ImportedMemory { - min_pages: 0, - max_pages: ImportedMemory::max::().max_pages, - }), - call_body: Some(body::repeated(r, &[ - Instruction::I32Const(1), - Instruction::GrowMemory(0), - Instruction::Drop, - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - // Unary numeric instructions. - // All use w = w_bench - 2 * w_param. - - #[pov_mode = Ignored] - instr_i64clz { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::unary_instr( - Instruction::I64Clz, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64ctz { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::unary_instr( - Instruction::I64Ctz, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64popcnt { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::unary_instr( - Instruction::I64Popcnt, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64eqz { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::unary_instr( - Instruction::I64Eqz, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64extendsi32 { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - RandomI32Repeated(1), - Regular(Instruction::I64ExtendSI32), - Regular(Instruction::Drop), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64extendui32 { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::from(ModuleDefinition { - call_body: Some(body::repeated_dyn(r, vec![ - RandomI32Repeated(1), - Regular(Instruction::I64ExtendUI32), - Regular(Instruction::Drop), - ])), - .. Default::default() - })); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i32wrapi64 { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::unary_instr( - Instruction::I32WrapI64, - r, - )); - }: { - sbox.invoke(); - } - - // Binary numeric instructions. - // All use w = w_bench - 3 * w_param. - - #[pov_mode = Ignored] - instr_i64eq { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Eq, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64ne { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Ne, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64lts { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64LtS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64ltu { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64LtU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64gts { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64GtS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64gtu { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64GtU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64les { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64LeS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64leu { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64LeU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64ges { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64GeS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64geu { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64GeU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64add { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Add, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64sub { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Sub, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64mul { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Mul, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64divs { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64DivS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64divu { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64DivU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64rems { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64RemS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64remu { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64RemU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64and { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64And, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64or { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Or, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64xor { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Xor, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64shl { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Shl, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64shrs { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64ShrS, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64shru { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64ShrU, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64rotl { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Rotl, - r, - )); - }: { - sbox.invoke(); - } - - #[pov_mode = Ignored] - instr_i64rotr { - let r in 0 .. INSTR_BENCHMARK_RUNS; - let mut sbox = Sandbox::from(&WasmModule::::binary_instr( - Instruction::I64Rotr, - r, - )); - }: { - sbox.invoke(); - } - // This is no benchmark. It merely exist to have an easy way to pretty print the currently // configured `Schedule` during benchmark development. // It can be outputted using the following command: diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index c6eedb155d6a4..0fd5a99fe2be0 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -160,81 +160,12 @@ impl Limits { /// individual values to derive (by subtraction) the weight of all other instructions /// that use them as supporting instructions. Supporting means mainly pushing arguments /// and dropping return values in order to maintain a valid module. +/// TODO update doc #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] #[derive(Clone, Encode, Decode, PartialEq, Eq, ScheduleDebug, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct InstructionWeights { - /// Version of the instruction weights. - /// - /// # Note - /// - /// Should be incremented whenever any instruction weight is changed. The - /// reason is that changes to instruction weights require a re-instrumentation - /// in order to apply the changes to an already deployed code. The re-instrumentation - /// is triggered by comparing the version of the current schedule with the version the code was - /// instrumented with. Changes usually happen when pallet_contracts is re-benchmarked. - /// - /// Changes to other parts of the schedule should not increment the version in - /// order to avoid unnecessary re-instrumentations. - pub version: u32, - /// Weight to be used for instructions which don't have benchmarks assigned. - /// - /// This weight is used whenever a code is uploaded with [`Determinism::Relaxed`] - /// and an instruction (usually a float instruction) is encountered. This weight is **not** - /// used if a contract is uploaded with [`Determinism::Enforced`]. If this field is set to - /// `0` (the default) only deterministic codes are allowed to be uploaded. - pub fallback: u32, - pub i64const: u32, - pub i64load: u32, - pub i64store: u32, - pub select: u32, - pub r#if: u32, - pub br: u32, - pub br_if: u32, - pub br_table: u32, - pub br_table_per_entry: u32, - pub call: u32, - pub call_indirect: u32, - pub call_per_local: u32, - pub local_get: u32, - pub local_set: u32, - pub local_tee: u32, - pub global_get: u32, - pub global_set: u32, - pub memory_current: u32, - pub memory_grow: u32, - pub i64clz: u32, - pub i64ctz: u32, - pub i64popcnt: u32, - pub i64eqz: u32, - pub i64extendsi32: u32, - pub i64extendui32: u32, - pub i32wrapi64: u32, - pub i64eq: u32, - pub i64ne: u32, - pub i64lts: u32, - pub i64ltu: u32, - pub i64gts: u32, - pub i64gtu: u32, - pub i64les: u32, - pub i64leu: u32, - pub i64ges: u32, - pub i64geu: u32, - pub i64add: u32, - pub i64sub: u32, - pub i64mul: u32, - pub i64divs: u32, - pub i64divu: u32, - pub i64rems: u32, - pub i64remu: u32, - pub i64and: u32, - pub i64or: u32, - pub i64xor: u32, - pub i64shl: u32, - pub i64shrs: u32, - pub i64shru: u32, - pub i64rotl: u32, - pub i64rotr: u32, + pub base: u32, /// The type parameter is used in the default implementation. #[codec(skip)] pub _phantom: PhantomData, @@ -494,59 +425,7 @@ impl Default for Limits { impl Default for InstructionWeights { fn default() -> Self { Self { - version: 4, - fallback: 0, - i64const: cost_instr!(instr_i64const, 1), - i64load: cost_instr!(instr_i64load, 2), - i64store: cost_instr!(instr_i64store, 2), - select: cost_instr!(instr_select, 4), - r#if: cost_instr!(instr_if, 3), - br: cost_instr!(instr_br, 2), - br_if: cost_instr!(instr_br_if, 3), - br_table: cost_instr!(instr_br_table, 3), - br_table_per_entry: cost_instr!(instr_br_table_per_entry, 0), - call: cost_instr!(instr_call, 2), - call_indirect: cost_instr!(instr_call_indirect, 3), - call_per_local: cost_instr!(instr_call_per_local, 0), - local_get: cost_instr!(instr_local_get, 1), - local_set: cost_instr!(instr_local_set, 1), - local_tee: cost_instr!(instr_local_tee, 2), - global_get: cost_instr!(instr_global_get, 1), - global_set: cost_instr!(instr_global_set, 1), - memory_current: cost_instr!(instr_memory_current, 1), - memory_grow: cost_instr!(instr_memory_grow, 1), - i64clz: cost_instr!(instr_i64clz, 2), - i64ctz: cost_instr!(instr_i64ctz, 2), - i64popcnt: cost_instr!(instr_i64popcnt, 2), - i64eqz: cost_instr!(instr_i64eqz, 2), - i64extendsi32: cost_instr!(instr_i64extendsi32, 2), - i64extendui32: cost_instr!(instr_i64extendui32, 2), - i32wrapi64: cost_instr!(instr_i32wrapi64, 2), - i64eq: cost_instr!(instr_i64eq, 3), - i64ne: cost_instr!(instr_i64ne, 3), - i64lts: cost_instr!(instr_i64lts, 3), - i64ltu: cost_instr!(instr_i64ltu, 3), - i64gts: cost_instr!(instr_i64gts, 3), - i64gtu: cost_instr!(instr_i64gtu, 3), - i64les: cost_instr!(instr_i64les, 3), - i64leu: cost_instr!(instr_i64leu, 3), - i64ges: cost_instr!(instr_i64ges, 3), - i64geu: cost_instr!(instr_i64geu, 3), - i64add: cost_instr!(instr_i64add, 3), - i64sub: cost_instr!(instr_i64sub, 3), - i64mul: cost_instr!(instr_i64mul, 3), - i64divs: cost_instr!(instr_i64divs, 3), - i64divu: cost_instr!(instr_i64divu, 3), - i64rems: cost_instr!(instr_i64rems, 3), - i64remu: cost_instr!(instr_i64remu, 3), - i64and: cost_instr!(instr_i64and, 3), - i64or: cost_instr!(instr_i64or, 3), - i64xor: cost_instr!(instr_i64xor, 3), - i64shl: cost_instr!(instr_i64shl, 3), - i64shrs: cost_instr!(instr_i64shrs, 3), - i64shru: cost_instr!(instr_i64shru, 3), - i64rotl: cost_instr!(instr_i64rotl, 3), - i64rotr: cost_instr!(instr_i64rotr, 3), + base: cost_instr!(instr_i64const, 1), _phantom: PhantomData, } } @@ -642,113 +521,6 @@ impl Default for HostFnWeights { } } -struct ScheduleRules<'a, T: Config> { - schedule: &'a Schedule, - determinism: Determinism, -} - -impl Schedule { - pub(crate) fn rules(&self, determinism: Determinism) -> impl gas_metering::Rules + '_ { - ScheduleRules { schedule: self, determinism } - } -} - -impl<'a, T: Config> gas_metering::Rules for ScheduleRules<'a, T> { - fn instruction_cost(&self, instruction: &elements::Instruction) -> Option { - use self::elements::Instruction::*; - let w = &self.schedule.instruction_weights; - - let weight = match *instruction { - End | Unreachable | Return | Else => 0, - I32Const(_) | I64Const(_) | Block(_) | Loop(_) | Nop | Drop => w.i64const, - I32Load(_, _) | - I32Load8S(_, _) | - I32Load8U(_, _) | - I32Load16S(_, _) | - I32Load16U(_, _) | - I64Load(_, _) | - I64Load8S(_, _) | - I64Load8U(_, _) | - I64Load16S(_, _) | - I64Load16U(_, _) | - I64Load32S(_, _) | - I64Load32U(_, _) => w.i64load, - I32Store(_, _) | - I32Store8(_, _) | - I32Store16(_, _) | - I64Store(_, _) | - I64Store8(_, _) | - I64Store16(_, _) | - I64Store32(_, _) => w.i64store, - Select => w.select, - If(_) => w.r#if, - Br(_) => w.br, - BrIf(_) => w.br_if, - Call(_) => w.call, - GetLocal(_) => w.local_get, - SetLocal(_) => w.local_set, - TeeLocal(_) => w.local_tee, - GetGlobal(_) => w.global_get, - SetGlobal(_) => w.global_set, - CurrentMemory(_) => w.memory_current, - GrowMemory(_) => w.memory_grow, - CallIndirect(_, _) => w.call_indirect, - BrTable(ref data) => w - .br_table - .saturating_add(w.br_table_per_entry.saturating_mul(data.table.len() as u32)), - I32Clz | I64Clz => w.i64clz, - I32Ctz | I64Ctz => w.i64ctz, - I32Popcnt | I64Popcnt => w.i64popcnt, - I32Eqz | I64Eqz => w.i64eqz, - I64ExtendSI32 => w.i64extendsi32, - I64ExtendUI32 => w.i64extendui32, - I32WrapI64 => w.i32wrapi64, - I32Eq | I64Eq => w.i64eq, - I32Ne | I64Ne => w.i64ne, - I32LtS | I64LtS => w.i64lts, - I32LtU | I64LtU => w.i64ltu, - I32GtS | I64GtS => w.i64gts, - I32GtU | I64GtU => w.i64gtu, - I32LeS | I64LeS => w.i64les, - I32LeU | I64LeU => w.i64leu, - I32GeS | I64GeS => w.i64ges, - I32GeU | I64GeU => w.i64geu, - I32Add | I64Add => w.i64add, - I32Sub | I64Sub => w.i64sub, - I32Mul | I64Mul => w.i64mul, - I32DivS | I64DivS => w.i64divs, - I32DivU | I64DivU => w.i64divu, - I32RemS | I64RemS => w.i64rems, - I32RemU | I64RemU => w.i64remu, - I32And | I64And => w.i64and, - I32Or | I64Or => w.i64or, - I32Xor | I64Xor => w.i64xor, - I32Shl | I64Shl => w.i64shl, - I32ShrS | I64ShrS => w.i64shrs, - I32ShrU | I64ShrU => w.i64shru, - I32Rotl | I64Rotl => w.i64rotl, - I32Rotr | I64Rotr => w.i64rotr, - - // Returning None makes the gas instrumentation fail which we intend for - // unsupported or unknown instructions. Offchain we might allow indeterminism and hence - // use the fallback weight for those instructions. - _ if matches!(self.determinism, Determinism::Relaxed) && w.fallback > 0 => w.fallback, - _ => return None, - }; - Some(weight) - } - - fn memory_grow_cost(&self) -> gas_metering::MemoryGrowCost { - // We benchmarked the memory.grow instruction with the maximum allowed pages. - // The cost for growing is therefore already included in the instruction cost. - gas_metering::MemoryGrowCost::Free - } - - fn call_per_local_cost(&self) -> u32 { - self.schedule.instruction_weights.call_per_local - } -} - #[cfg(test)] mod test { use super::*; diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 87e90881cc55b..80dc368c6aa47 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -222,7 +222,8 @@ impl PrefabWasmModule { .wasm_mutable_global(false) .wasm_sign_extension(false) .wasm_saturating_float_to_int(false) - .consume_fuel(true); + .consume_fuel(true) + .fuel_consumption_mode(FuelConsumptionMode::Eager); let engine = Engine::new(&config); let module = Module::new(&engine, code)?; From be0df3cdb1bc0467dca57c93eb2fa06fcbbf79a6 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 5 May 2023 15:54:03 +0300 Subject: [PATCH 06/70] scale gas values btw engine and gas meter --- frame/contracts/proc-macro/src/lib.rs | 13 ++++++++----- frame/contracts/src/gas.rs | 7 +++++-- frame/contracts/src/lib.rs | 4 ++-- frame/contracts/src/wasm/code_cache.rs | 4 ++-- frame/contracts/src/wasm/mod.rs | 10 +++++++--- frame/contracts/src/wasm/prepare.rs | 4 ++-- 6 files changed, 26 insertions(+), 16 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index ebde75d3d816e..90bcf3655b775 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -659,7 +659,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) ::core::unreachable!() } } }; - let map_err = if expand_blocks { + let into_host = if expand_blocks { quote! { |reason| { ::wasmi::core::Trap::from(reason) @@ -670,6 +670,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) |reason| { reason } } }; + let into_trap = quote! { |e| TrapReason::from(e) }; let allow_unused = if expand_blocks { quote! { } } else { @@ -678,8 +679,9 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) let sync_gas_before = if expand_blocks { quote! { let gas_before = { - let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); - __caller__.data_mut().ext.gas_meter().sync_reftime(engine_consumed).map_err(|e| TrapReason::from(e)).map_err(#map_err)? + let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); + let reftime_consumed = engine_consumed.saturating_mul(::Schedule::get().instruction_weights.base as u64); + __caller__.data_mut().ext.gas_meter().sync_reftime(reftime_consumed).map_err(#into_trap).map_err(#into_host)? }; } } else { @@ -689,7 +691,8 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) quote! { let gas_after = __caller__.data().ext.gas_meter_immut().gas_left().ref_time(); let host_consumed = gas_before.saturating_sub(gas_after); - __caller__.consume_fuel(host_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#map_err)?; + let fuel_consumed = host_consumed.checked_div(::Schedule::get().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; + __caller__.consume_fuel(fuel_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#into_host)?; } } else { quote! { } @@ -708,7 +711,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) #sync_gas_before let result = { let mut func = #inner; - func().map_err(#map_err).map(::core::convert::Into::into) + func().map_err(#into_host).map(::core::convert::Into::into) }; #sync_gas_after result diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index cb3b79bccbc35..6020d4ebc544c 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -25,6 +25,7 @@ use frame_support::{ }; use sp_runtime::traits::Zero; use sp_std::marker::PhantomData; +use sp_core::Get; #[cfg(test)] use std::{any::Any, fmt::Debug}; @@ -182,7 +183,8 @@ impl GasMeter { } /// Update the `ref_time` component of the `gas_left` to bring it into line with - /// the Wasm engine gas meter. + /// the Wasm engine gas meter. Passed `consumed` value is scaled by multiplying it by the + /// weight of a basic operation, as such an operation in wasmi engine costs 1. /// /// This is used for gas synchronizations with the engine both on enter and on exit /// of every host function. @@ -193,10 +195,11 @@ impl GasMeter { pub fn sync_reftime(&mut self, consumed: u64) -> Result { let ref_time = self.gas_left.ref_time_mut(); if !consumed.is_zero() { + let reftime_consumed = consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); *ref_time = self .gas_limit .ref_time() - .checked_sub(consumed) + .checked_sub(reftime_consumed) .ok_or_else(|| Error::::OutOfGas)?; } Ok(*ref_time) diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 97fa284577d47..8d48347108a26 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -784,8 +784,8 @@ pub mod pallet { #[pallet::error] pub enum Error { - /// A new schedule must have a greater version than the current one. - InvalidScheduleVersion, + /// Invalid schedule supplied, e.g. with zero weight of a basic operation. + InvalidSchedule, /// Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`. InvalidCallFlags, /// The executed contract exhausted its gas limit. diff --git a/frame/contracts/src/wasm/code_cache.rs b/frame/contracts/src/wasm/code_cache.rs index fb6c848f4e85e..cbcb9075d879c 100644 --- a/frame/contracts/src/wasm/code_cache.rs +++ b/frame/contracts/src/wasm/code_cache.rs @@ -175,7 +175,7 @@ pub fn load( gas_meter.adjust_gas(charged, CodeToken::Load(instrumented_code_len)); prefab_module.code_hash = code_hash; - if prefab_module.instruction_weights_version < schedule.instruction_weights.version { + if prefab_module.instruction_weights_version < 42 { // The instruction weights have changed. // We need to re-instrument the code with the new instruction weights. let charged = gas_meter.charge(CodeToken::Reinstrument(instrumented_code_len))?; @@ -208,7 +208,7 @@ pub fn reinstrument( )?, Some("Contract exceeds size limit after re-instrumentation."), ); - prefab_module.instruction_weights_version = schedule.instruction_weights.version; + prefab_module.instruction_weights_version = 42; >::insert(&prefab_module.code_hash, &*prefab_module); Ok(original_code_len as u32) } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 80dc368c6aa47..2a7f909a8b112 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -51,7 +51,7 @@ use sp_core::Get; use sp_runtime::RuntimeDebug; use sp_std::prelude::*; use wasmi::{ - Config as WasmiConfig, Engine, Instance, Linker, Memory, MemoryType, Module, StackLimits, Store, + Config as WasmiConfig, Engine, Instance, Linker, Memory, MemoryType, Module, StackLimits, Store, FuelConsumptionMode, }; /// A prepared wasm module ready for execution. @@ -336,8 +336,10 @@ impl Executable for PrefabWasmModule { store.data_mut().set_memory(memory); // Set fuel limit for the Wasm module execution. + // We normalize it by the base instruction weight, as its cost in wasmi engine is 1. + let fuel_limit = reftime_limit.checked_div(T::Schedule::get().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule)?; store - .add_fuel(reftime_limit) + .add_fuel(fuel_limit) .expect("We've set up engine to fuel consuming mode; qed"); let exported_func = instance @@ -354,7 +356,9 @@ impl Executable for PrefabWasmModule { } let result = exported_func.call(&mut store, &[], &mut []); - let reftime_consumed = store.fuel_consumed().unwrap_or_default(); + let engine_consumed = store.fuel_consumed().expect("Fuel metering is enabled; qed"); + // Scale the value back to `ref_time` weight. + let reftime_consumed = engine_consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); store.into_data().to_execution_result(result, reftime_consumed) } diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 304eff9055a16..4cbad362f9149 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -450,7 +450,7 @@ where let original_code_len = original_code.len(); let mut module = PrefabWasmModule { - instruction_weights_version: schedule.instruction_weights.version, + instruction_weights_version: 42, initial, maximum, code: code.try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, @@ -527,7 +527,7 @@ pub mod benchmarking { let contract_module = ContractModule::new(&original_code, schedule)?; let memory_limits = get_memory_limits(contract_module.scan_imports(&[])?, schedule)?; Ok(PrefabWasmModule { - instruction_weights_version: schedule.instruction_weights.version, + instruction_weights_version: 42, initial: memory_limits.0, maximum: memory_limits.1, code_hash: T::Hashing::hash(&original_code), From 8a32757be29f8143c1c7fb641b65d2cab579f663 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 5 May 2023 20:51:25 +0300 Subject: [PATCH 07/70] (re)instrumentation & code_cache removed --- frame/contracts/README.md | 4 +- frame/contracts/src/gas.rs | 5 +- frame/contracts/src/lib.rs | 5 +- frame/contracts/src/schedule.rs | 8 +- frame/contracts/src/wasm/code_cache.rs | 240 ------------------------- frame/contracts/src/wasm/mod.rs | 227 +++++++++++++++++------ frame/contracts/src/wasm/prepare.rs | 93 ++-------- 7 files changed, 203 insertions(+), 379 deletions(-) delete mode 100644 frame/contracts/src/wasm/code_cache.rs diff --git a/frame/contracts/README.md b/frame/contracts/README.md index 13c5e7253c1d8..e95ad7cba5236 100644 --- a/frame/contracts/README.md +++ b/frame/contracts/README.md @@ -13,8 +13,8 @@ This module extends accounts based on the `Currency` trait to have smart-contrac be used with other modules that implement accounts based on `Currency`. These "smart-contract accounts" have the ability to instantiate smart-contracts and make calls to other contract and non-contract accounts. -The smart-contract code is stored once in a `code_cache`, and later retrievable via its `code_hash`. -This means that multiple smart-contracts can be instantiated from the same `code_cache`, without replicating +The smart-contract code is stored once, and later retrievable via its `code_hash`. +This means that multiple smart-contracts can be instantiated from the same `code`, without replicating the code each time. When a smart-contract is called, its associated code is retrieved via the code hash and gets executed. diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index 6020d4ebc544c..905153fb7d1f1 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -23,9 +23,9 @@ use frame_support::{ weights::Weight, DefaultNoBound, }; +use sp_core::Get; use sp_runtime::traits::Zero; use sp_std::marker::PhantomData; -use sp_core::Get; #[cfg(test)] use std::{any::Any, fmt::Debug}; @@ -195,7 +195,8 @@ impl GasMeter { pub fn sync_reftime(&mut self, consumed: u64) -> Result { let ref_time = self.gas_left.ref_time_mut(); if !consumed.is_zero() { - let reftime_consumed = consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); + let reftime_consumed = + consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); *ref_time = self .gas_limit .ref_time() diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 8d48347108a26..815d526f0237c 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -30,7 +30,7 @@ //! These "smart-contract accounts" have the ability to instantiate smart-contracts and make calls //! to other contract and non-contract accounts. //! -//! The smart-contract code is stored once in a code cache, and later retrievable via its hash. +//! The smart-contract code is stored once, and later retrievable via its hash. //! This means that multiple smart-contracts can be instantiated from the same hash, without //! replicating the code each time. //! @@ -115,7 +115,7 @@ use frame_support::{ ReservableCurrency, Time, }, weights::Weight, - BoundedVec, RuntimeDebugNoBound, WeakBoundedVec, + BoundedVec, RuntimeDebugNoBound, }; use frame_system::{ensure_signed, pallet_prelude::OriginFor, Pallet as System}; use pallet_contracts_primitives::{ @@ -145,7 +145,6 @@ type TrieId = BoundedVec>; type BalanceOf = <::Currency as Currency<::AccountId>>::Balance; type CodeVec = BoundedVec::MaxCodeLen>; -type RelaxedCodeVec = WeakBoundedVec::MaxCodeLen>; type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; type DebugBufferVec = BoundedVec::MaxDebugBufferLen>; diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index 0fd5a99fe2be0..f9f7fcbb4b052 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -18,7 +18,7 @@ //! This module contains the cost schedule and supporting code that constructs a //! sane default schedule from a `WeightInfo` implementation. -use crate::{wasm::Determinism, weights::WeightInfo, Config}; +use crate::{weights::WeightInfo, Config}; use codec::{Decode, Encode}; use frame_support::{weights::Weight, DefaultNoBound}; @@ -28,7 +28,6 @@ use scale_info::TypeInfo; use serde::{Deserialize, Serialize}; use sp_runtime::RuntimeDebug; use sp_std::marker::PhantomData; -use wasm_instrument::{gas_metering, parity_wasm::elements}; /// Definition of the cost schedule and other parameterizations for the wasm vm. /// @@ -424,10 +423,7 @@ impl Default for Limits { impl Default for InstructionWeights { fn default() -> Self { - Self { - base: cost_instr!(instr_i64const, 1), - _phantom: PhantomData, - } + Self { base: cost_instr!(instr_i64const, 1), _phantom: PhantomData } } } diff --git a/frame/contracts/src/wasm/code_cache.rs b/frame/contracts/src/wasm/code_cache.rs deleted file mode 100644 index cbcb9075d879c..0000000000000 --- a/frame/contracts/src/wasm/code_cache.rs +++ /dev/null @@ -1,240 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! A module that implements instrumented code cache. -//! -//! - In order to run contract code we need to instrument it with gas metering. -//! To do that we need to provide the schedule which will supply exact gas costs values. -//! We cache this code in the storage saving the schedule version. -//! - Before running contract code we check if the cached code has the schedule version that -//! is equal to the current saved schedule. -//! If it is equal then run the code, if it isn't reinstrument with the current schedule. -//! - When we update the schedule we want it to have strictly greater version than the current saved -//! one: -//! this guarantees that every instrumented contract code in cache cannot have the version equal to -//! the current one. Thus, before executing a contract it should be reinstrument with new schedule. - -use crate::{ - gas::{GasMeter, Token}, - wasm::{prepare, PrefabWasmModule}, - weights::WeightInfo, - CodeHash, CodeStorage, Config, Error, Event, OwnerInfoOf, Pallet, PristineCode, Schedule, - Weight, -}; -use frame_support::{ - dispatch::{DispatchError, DispatchResult}, - ensure, - traits::{Get, ReservableCurrency}, - WeakBoundedVec, -}; -use sp_runtime::traits::BadOrigin; -use sp_std::vec; - -/// Put the instrumented module in storage. -/// -/// Increments the refcount of the in-storage `prefab_module` if it already exists in storage -/// under the specified `code_hash`. -pub fn store(mut module: PrefabWasmModule, instantiated: bool) -> DispatchResult { - let code_hash = sp_std::mem::take(&mut module.code_hash); - >::mutate(&code_hash, |owner_info| { - match owner_info { - // Instantiate existing contract. - // - // No need to update the `CodeStorage` as any re-instrumentation eagerly saves - // the re-instrumented code. - Some(owner_info) if instantiated => { - owner_info.refcount = owner_info.refcount.checked_add(1).expect( - " - refcount is 64bit. Generating this overflow would require to store - _at least_ 18 exabyte of data assuming that a contract consumes only - one byte of data. Any node would run out of storage space before hitting - this overflow. - qed - ", - ); - Ok(()) - }, - // Re-upload existing contract without executing it. - // - // We are careful here to just overwrite the code to not include it into the PoV. - // We do this because the uploaded code was instrumented with the latest schedule - // and hence we persist those changes. Otherwise the next execution will pay again - // for the instrumentation. - Some(_) => { - >::insert(&code_hash, module); - Ok(()) - }, - // Upload a new contract. - // - // We need to write all data structures and collect the deposit. - None => { - let orig_code = module.original_code.take().expect( - " - If an executable isn't in storage it was uploaded. - If it was uploaded the original code must exist. qed - ", - ); - let mut new_owner_info = module.owner_info.take().expect( - "If an executable isn't in storage it was uploaded. - If it was uploaded the owner info was generated and attached. qed - ", - ); - // This `None` case happens only in freshly uploaded modules. This means that - // the `owner` is always the origin of the current transaction. - T::Currency::reserve(&new_owner_info.owner, new_owner_info.deposit) - .map_err(|_| >::StorageDepositNotEnoughFunds)?; - new_owner_info.refcount = if instantiated { 1 } else { 0 }; - >::insert(&code_hash, orig_code); - >::insert(&code_hash, module); - *owner_info = Some(new_owner_info); - >::deposit_event(vec![code_hash], Event::CodeStored { code_hash }); - Ok(()) - }, - } - }) -} - -/// Decrement the refcount of a code in-storage by one. -/// -/// # Note -/// -/// A contract whose refcount dropped to zero isn't automatically removed. A `remove_code` -/// transaction must be submitted by the original uploader to do so. -pub fn decrement_refcount(code_hash: CodeHash) { - >::mutate(code_hash, |existing| { - if let Some(info) = existing { - info.refcount = info.refcount.saturating_sub(1); - } - }); -} - -/// Increment the refcount of a code in-storage by one. -/// -/// # Errors -/// -/// [`Error::CodeNotFound`] is returned if the specified `code_hash` does not exist. -pub fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { - >::mutate(code_hash, |existing| -> Result<(), DispatchError> { - if let Some(info) = existing { - info.refcount = info.refcount.saturating_add(1); - Ok(()) - } else { - Err(Error::::CodeNotFound.into()) - } - }) -} - -/// Try to remove code together with all associated information. -pub fn try_remove(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { - >::try_mutate_exists(&code_hash, |existing| { - if let Some(owner_info) = existing { - ensure!(owner_info.refcount == 0, >::CodeInUse); - ensure!(&owner_info.owner == origin, BadOrigin); - T::Currency::unreserve(&owner_info.owner, owner_info.deposit); - *existing = None; - >::remove(&code_hash); - >::remove(&code_hash); - >::deposit_event(vec![code_hash], Event::CodeRemoved { code_hash }); - Ok(()) - } else { - Err(>::CodeNotFound.into()) - } - }) -} - -/// Load code with the given code hash. -/// -/// If the module was instrumented with a lower version of schedule than -/// the current one given as an argument, then this function will perform -/// re-instrumentation and update the cache in the storage. -// TODO this should ho to PreFabWasmMod without re-instrumentation. -pub fn load( - code_hash: CodeHash, - schedule: &Schedule, - gas_meter: &mut GasMeter, -) -> Result, DispatchError> { - let max_code_len = T::MaxCodeLen::get(); - let charged = gas_meter.charge(CodeToken::Load(max_code_len))?; - - let mut prefab_module = >::get(code_hash).ok_or(Error::::CodeNotFound)?; - let instrumented_code_len = prefab_module.code.len() as u32; - gas_meter.adjust_gas(charged, CodeToken::Load(instrumented_code_len)); - prefab_module.code_hash = code_hash; - - if prefab_module.instruction_weights_version < 42 { - // The instruction weights have changed. - // We need to re-instrument the code with the new instruction weights. - let charged = gas_meter.charge(CodeToken::Reinstrument(instrumented_code_len))?; - let orig_code_len = reinstrument(&mut prefab_module, schedule)?; - gas_meter.adjust_gas(charged, CodeToken::Reinstrument(orig_code_len)); - } - - Ok(prefab_module) -} - -/// Instruments the passed prefab wasm module with the supplied schedule. -/// -/// Returns the size in bytes of the uninstrumented code. -pub fn reinstrument( - prefab_module: &mut PrefabWasmModule, - schedule: &Schedule, -) -> Result { - let original_code = - >::get(&prefab_module.code_hash).ok_or(Error::::CodeNotFound)?; - let original_code_len = original_code.len(); - // We need to allow contracts growing too big after re-instrumentation. Otherwise - // the contract can become inaccessible. The user has no influence over this size - // as the contract is already deployed and every change in size would be the result - // of changes in the instrumentation algorithm controlled by the chain authors. - prefab_module.code = WeakBoundedVec::force_from( - prepare::reinstrument::( - &original_code, - schedule, - prefab_module.determinism, - )?, - Some("Contract exceeds size limit after re-instrumentation."), - ); - prefab_module.instruction_weights_version = 42; - >::insert(&prefab_module.code_hash, &*prefab_module); - Ok(original_code_len as u32) -} - -/// Costs for operations that are related to code handling. -#[cfg_attr(test, derive(Debug, PartialEq, Eq))] -#[derive(Clone, Copy)] -enum CodeToken { - /// Weight for reinstrumenting a contract contract of the supplied size in bytes. - Reinstrument(u32), - /// Weight for loading a contract per byte. - Load(u32), -} - -impl Token for CodeToken { - fn weight(&self) -> Weight { - use self::CodeToken::*; - // In case of `Load` we already covered the general costs of - // calling the storage but still need to account for the actual size of the - // contract code. This is why we subtract `T::*::(0)`. We need to do this at this - // point because when charging the general weight for calling the contract we not know the - // size of the contract. - match *self { - Reinstrument(len) => T::WeightInfo::reinstrument(len), - Load(len) => T::WeightInfo::call_with_code_per_byte(len) - .saturating_sub(T::WeightInfo::call_with_code_per_byte(0)), - } - } -} diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 2a7f909a8b112..161f97a36e54c 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -18,13 +18,9 @@ //! This module provides a means for executing contracts //! represented in wasm. -mod code_cache; mod prepare; mod runtime; -#[cfg(feature = "runtime-benchmarks")] -pub use crate::wasm::code_cache::reinstrument; - #[cfg(doc)] pub use crate::wasm::runtime::api_doc; @@ -41,55 +37,47 @@ pub use crate::wasm::{ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, - gas::GasMeter, - AccountIdOf, BalanceOf, CodeHash, CodeVec, Config, Error, OwnerInfoOf, RelaxedCodeVec, - Schedule, LOG_TARGET, + gas::{GasMeter, Token}, + weights::WeightInfo, + AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeStorage, CodeVec, Config, Error, Event, + OwnerInfoOf, Pallet, Schedule, Weight, LOG_TARGET, }; use codec::{Decode, Encode, MaxEncodedLen}; -use frame_support::dispatch::{DispatchError, DispatchResult}; +use frame_support::{ + dispatch::{DispatchError, DispatchResult}, + ensure, + traits::ReservableCurrency, +}; use sp_core::Get; use sp_runtime::RuntimeDebug; use sp_std::prelude::*; use wasmi::{ - Config as WasmiConfig, Engine, Instance, Linker, Memory, MemoryType, Module, StackLimits, Store, FuelConsumptionMode, + Config as WasmiConfig, Engine, FuelConsumptionMode, Instance, Linker, Memory, MemoryType, + Module, StackLimits, Store, }; /// A prepared wasm module ready for execution. /// /// # Note /// -/// This data structure is mostly immutable once created and stored. The exceptions that -/// can be changed by calling a contract are `instruction_weights_version` and `code`. -/// `instruction_weights_version` and `code` change when a contract with an outdated instrumentation -/// is called. Therefore one must be careful when holding any in-memory representation of this -/// type while calling into a contract as those fields can get out of date. +/// This data structure is immutable once created and stored. #[derive(Clone, Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] #[codec(mel_bound())] #[scale_info(skip_type_params(T))] pub struct PrefabWasmModule { - /// Version of the instruction weights with which the code was instrumented. - #[codec(compact)] - instruction_weights_version: u32, /// Initial memory size of a contract's sandbox. #[codec(compact)] initial: u32, /// The maximum memory size of a contract's sandbox. #[codec(compact)] maximum: u32, - /// Code instrumented with the latest schedule. - code: RelaxedCodeVec, + /// Module's code. + code: CodeVec, /// A code that might contain non deterministic features and is therefore never allowed /// to be run on chain. Specifically this code can never be instantiated into a contract /// and can just be used through a delegate call. determinism: Determinism, - /// The uninstrumented, pristine version of the code. - /// - /// It is not stored because the pristine code has its own storage item. The value - /// is only `Some` when this module was created from an `original_code` and `None` if - /// it was loaded from storage. - #[codec(skip)] - original_code: Option>, - /// The code hash of the stored code which is defined as the hash over the `original_code`. + /// The code hash of the stored code. /// /// As the map key there is no need to store the hash in the value, too. It is set manually /// when loading the module from storage. @@ -149,20 +137,43 @@ impl ExportedFunction { } } +/// Costs for operations that are related to code handling. +#[cfg_attr(test, derive(Debug, PartialEq, Eq))] +#[derive(Clone, Copy)] +enum CodeToken { + /// Weight for loading a contract per byte. + Load(u32), +} + +impl Token for CodeToken { + fn weight(&self) -> Weight { + use self::CodeToken::*; + // In case of `Load` we already covered the general costs of + // calling the storage but still need to account for the actual size of the + // contract code. This is why we subtract `T::*::(0)`. We need to do this at this + // point because when charging the general weight for calling the contract we not know the + // size of the contract. + match *self { + Load(len) => T::WeightInfo::call_with_code_per_byte(len) + .saturating_sub(T::WeightInfo::call_with_code_per_byte(0)), + } + } +} + impl PrefabWasmModule { - /// Create the module by checking and instrumenting `original_code`. + /// Create the module by checking the `code`. /// /// This does **not** store the module. For this one need to either call [`Self::store`] /// or [`::execute`][`Executable::execute`]. pub fn from_code( - original_code: Vec, + code: Vec, schedule: &Schedule, owner: AccountIdOf, determinism: Determinism, try_instantiate: TryInstantiate, ) -> Result { let module = prepare::prepare::( - original_code.try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, + code.try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, schedule, owner, determinism, @@ -176,14 +187,14 @@ impl PrefabWasmModule { /// Otherwise the code is stored when [`::execute`][`Executable::execute`] /// is called. pub fn store(self) -> DispatchResult { - code_cache::store(self, false) + Self::store_code(self, false) } /// Remove the code from storage and refund the deposit to its owner. /// /// Applies all necessary checks before removing the code. pub fn remove(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { - code_cache::try_remove::(origin, code_hash) + Self::try_remove_code(origin, code_hash) } /// Returns whether there is a deposit to be paid for this module. @@ -251,21 +262,134 @@ impl PrefabWasmModule { Ok((store, memory, instance)) } + /// Put the module blob in storage. + /// + /// Increments the refcount of the in-storage `prefab_module` if it already exists in storage + /// under the specified `code_hash`. + fn store_code(mut module: Self, instantiated: bool) -> DispatchResult { + let code_hash = sp_std::mem::take(&mut module.code_hash); + >::mutate(&code_hash, |owner_info| { + match owner_info { + // Instantiate existing contract. + // + // No need to update the `CodeStorage` as any re-instrumentation eagerly saves + // the re-instrumented code. + Some(owner_info) if instantiated => { + owner_info.refcount = owner_info.refcount.checked_add(1).expect( + " + refcount is 64bit. Generating this overflow would require to store + _at least_ 18 exabyte of data assuming that a contract consumes only + one byte of data. Any node would run out of storage space before hitting + this overflow. + qed + ", + ); + Ok(()) + }, + // Re-upload existing contract without executing it. + // + // We are careful here to just overwrite the code to not include it into the PoV. + // We do this because the uploaded code was instrumented with the latest schedule + // and hence we persist those changes. Otherwise the next execution will pay again + // for the instrumentation. + Some(_) => { + >::insert(&code_hash, module); + Ok(()) + }, + // Upload a new contract. + // + // We need to write all data structures and collect the deposit. + None => { + let mut new_owner_info = module.owner_info.take().expect( + "If an executable isn't in storage it was uploaded. + If it was uploaded the owner info was generated and attached. qed + ", + ); + // This `None` case happens only in freshly uploaded modules. This means that + // the `owner` is always the origin of the current transaction. + T::Currency::reserve(&new_owner_info.owner, new_owner_info.deposit) + .map_err(|_| >::StorageDepositNotEnoughFunds)?; + new_owner_info.refcount = if instantiated { 1 } else { 0 }; + >::insert(&code_hash, module); + *owner_info = Some(new_owner_info); + >::deposit_event(vec![code_hash], Event::CodeStored { code_hash }); + Ok(()) + }, + } + }) + } + + /// Try to remove code together with all associated information. + fn try_remove_code(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { + >::try_mutate_exists(&code_hash, |existing| { + if let Some(owner_info) = existing { + ensure!(owner_info.refcount == 0, >::CodeInUse); + ensure!(&owner_info.owner == origin, BadOrigin); + T::Currency::unreserve(&owner_info.owner, owner_info.deposit); + *existing = None; + >::remove(&code_hash); + >::deposit_event(vec![code_hash], Event::CodeRemoved { code_hash }); + Ok(()) + } else { + Err(>::CodeNotFound.into()) + } + }) + } + + /// Load code with the given code hash. + fn load_code( + code_hash: CodeHash, + gas_meter: &mut GasMeter, + ) -> Result, DispatchError> { + let max_code_len = T::MaxCodeLen::get(); + let charged = gas_meter.charge(CodeToken::Load(max_code_len))?; + + let mut module = >::get(code_hash).ok_or(Error::::CodeNotFound)?; + let code_len = module.code.len() as u32; + gas_meter.adjust_gas(charged, CodeToken::Load(code_len)); + module.code_hash = code_hash; + + Ok(module) + } + + /// Decrement the refcount of a code in-storage by one. + /// + /// # Note + /// + /// A contract whose refcount dropped to zero isn't automatically removed. A `remove_code` + /// transaction must be submitted by the original uploader to do so. + fn decrement_refcount(code_hash: CodeHash) { + >::mutate(code_hash, |existing| { + if let Some(info) = existing { + info.refcount = info.refcount.saturating_sub(1); + } + }); + } + + /// Increment the refcount of a code in-storage by one. + /// + /// # Errors + /// + /// [`Error::CodeNotFound`] is returned if the specified `code_hash` does not exist. + fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { + >::mutate(code_hash, |existing| -> Result<(), DispatchError> { + if let Some(info) = existing { + info.refcount = info.refcount.saturating_add(1); + Ok(()) + } else { + Err(Error::::CodeNotFound.into()) + } + }) + } /// See [`Self::from_code_unchecked`]. #[cfg(feature = "runtime-benchmarks")] pub fn store_code_unchecked( - original_code: Vec, + code: Vec, schedule: &Schedule, owner: T::AccountId, ) -> DispatchResult { - let executable = Self::from_code_unchecked(original_code, schedule, owner)?; - code_cache::store(executable, false) - } - - /// Decrement instruction_weights_version by 1. Panics if it is already 0. - #[cfg(test)] - pub fn decrement_version(&mut self) { - self.instruction_weights_version = self.instruction_weights_version.checked_sub(1).unwrap(); + let executable = Self::from_code_unchecked(code, schedule, owner)?; + store_code(executable, false) } /// Create the module without checking nor instrumenting the passed code. @@ -277,11 +401,11 @@ impl PrefabWasmModule { /// during testing when we want to deploy codes that do not pass the instantiation checks. #[cfg(any(test, feature = "runtime-benchmarks"))] fn from_code_unchecked( - original_code: Vec, + code: Vec, schedule: &Schedule, owner: T::AccountId, ) -> Result { - prepare::benchmarking::prepare(original_code, schedule, owner) + prepare::benchmarking::prepare(code, schedule, owner) .map_err::(Into::into) } } @@ -297,18 +421,18 @@ impl OwnerInfo { impl Executable for PrefabWasmModule { fn from_storage( code_hash: CodeHash, - schedule: &Schedule, + _schedule: &Schedule, gas_meter: &mut GasMeter, ) -> Result { - code_cache::load(code_hash, schedule, gas_meter) + Self::load_code(code_hash, gas_meter) } fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { - code_cache::increment_refcount::(code_hash) + Self::increment_refcount(code_hash) } fn remove_user(code_hash: CodeHash) { - code_cache::decrement_refcount::(code_hash) + Self::decrement_refcount(code_hash) } fn execute>( @@ -337,7 +461,9 @@ impl Executable for PrefabWasmModule { // Set fuel limit for the Wasm module execution. // We normalize it by the base instruction weight, as its cost in wasmi engine is 1. - let fuel_limit = reftime_limit.checked_div(T::Schedule::get().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule)?; + let fuel_limit = reftime_limit + .checked_div(T::Schedule::get().instruction_weights.base as u64) + .ok_or(Error::::InvalidSchedule)?; store .add_fuel(fuel_limit) .expect("We've set up engine to fuel consuming mode; qed"); @@ -352,13 +478,14 @@ impl Executable for PrefabWasmModule { // We store before executing so that the code hash is available in the constructor. if let &ExportedFunction::Constructor = function { - code_cache::store(self, true)?; + Self::store_code(self, true)?; } let result = exported_func.call(&mut store, &[], &mut []); let engine_consumed = store.fuel_consumed().expect("Fuel metering is enabled; qed"); // Scale the value back to `ref_time` weight. - let reftime_consumed = engine_consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); + let reftime_consumed = + engine_consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); store.into_data().to_execution_result(result, reftime_consumed) } diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 4cbad362f9149..757f688489315 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -55,25 +55,16 @@ pub enum TryInstantiate { Skip, } -/// The reason why a contract is instrumented. -enum InstrumentReason { - /// A new code is uploaded. - New, - /// Existing code is re-instrumented. - Reinstrument, -} - /// The inner deserialized module is valid (this is Guaranteed by `new` method). struct ContractModule(elements::Module); impl ContractModule { /// Creates a new instance of `ContractModule`. /// - /// Returns `Err` if the `original_code` couldn't be decoded or + /// Returns `Err` if the `code` couldn't be decoded or /// if it contains an invalid module. - fn new(original_code: &[u8]) -> Result { - let module = - elements::deserialize_buffer(original_code).map_err(|_| "Can't decode wasm code")?; + 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. @@ -333,7 +324,6 @@ fn validate( schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, - reason: InstrumentReason, ) -> Result<(Vec, (u32, u32)), (DispatchError, &'static str)> where E: Environment<()>, @@ -405,10 +395,7 @@ where (), (initial, maximum), stack_limits, - match reason { - InstrumentReason::New => AllowDeprecatedInterface::No, - InstrumentReason::Reinstrument => AllowDeprecatedInterface::Yes, - }, + AllowDeprecatedInterface::No, ) .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); @@ -419,7 +406,7 @@ where Ok((code, (initial, maximum))) } -/// Loads the given module given in `original_code` and performs some checks on it. +/// Loads the given module given in `code` and performs some checks on it. /// /// The checks are: /// @@ -428,7 +415,7 @@ where /// - imported memory (if any) doesn't reserve more memory than permitted by the `schedule` /// - all imported functions from the external environment matches defined by `env` module pub fn prepare( - original_code: CodeVec, + code: CodeVec, schedule: &Schedule, owner: AccountIdOf, determinism: Determinism, @@ -438,24 +425,16 @@ where E: Environment<()>, T: Config, { - // TODO: remove passing the code to the validator? - let (code, (initial, maximum)) = validate::( - original_code.as_ref(), - schedule, - determinism, - try_instantiate, - InstrumentReason::New, - )?; + let (code, (initial, maximum)) = + validate::(code.as_ref(), schedule, determinism, try_instantiate)?; - let original_code_len = original_code.len(); + let code_len = code.len(); let mut module = PrefabWasmModule { - instruction_weights_version: 42, initial, maximum, - code: code.try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, - code_hash: T::Hashing::hash(&original_code), - original_code: Some(original_code), + code: code.clone().try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, + code_hash: T::Hashing::hash(&code), owner_info: None, determinism, }; @@ -464,7 +443,7 @@ where // storage items. This is also why we have `3` items added and not only one. let bytes_added = module .encoded_size() - .saturating_add(original_code_len) + .saturating_add(code_len) .saturating_add(>::max_encoded_len()) as u32; let deposit = Diff { bytes_added, items_added: 3, ..Default::default() } .update_contract::(None) @@ -475,39 +454,6 @@ where Ok(module) } -/// Same as [`prepare`] but without constructing a new module. -/// -/// Used to update the code of an existing module to the newest [`Schedule`] version. -/// Strictly speaking is not necessary to check the existing code before reinstrumenting because -/// it can't change in the meantime. However, since we recently switched the validation library -/// we want to re-validate to weed out any bugs that were lurking in the old version. -/// TODO remove this func -pub fn reinstrument( - original_code: &[u8], - schedule: &Schedule, - determinism: Determinism, -) -> Result, DispatchError> -where - E: Environment<()>, - T: Config, -{ - validate::( - original_code, - schedule, - determinism, - // This function was triggered by an interaction with an existing contract code - // that will try to instantiate anyways. Failing here would not help - // as the contract is already on chain. - TryInstantiate::Skip, - InstrumentReason::Reinstrument, - ) - .map_err(|(err, msg)| { - log::error!(target: LOG_TARGET, "CodeRejected during reinstrument: {}", msg); - err - }) - .map(|(code, _)| code) -} - /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. /// /// For benchmarking we need to construct special contracts that might not pass our @@ -518,24 +464,19 @@ where pub mod benchmarking { use super::*; - /// Prepare function that neither checks nor instruments the passed in code. + /// Prepare function that does not check the passed in code. pub fn prepare( - original_code: Vec, + code: Vec, schedule: &Schedule, owner: AccountIdOf, ) -> Result, &'static str> { - let contract_module = ContractModule::new(&original_code, schedule)?; + let contract_module = ContractModule::new(&code, schedule)?; let memory_limits = get_memory_limits(contract_module.scan_imports(&[])?, schedule)?; Ok(PrefabWasmModule { - instruction_weights_version: 42, initial: memory_limits.0, maximum: memory_limits.1, - code_hash: T::Hashing::hash(&original_code), - original_code: Some(original_code.try_into().map_err(|_| "Original code too large")?), - code: contract_module - .into_wasm_code()? - .try_into() - .map_err(|_| "Instrumented code too large")?, + code_hash: T::Hashing::hash(&code), + code: contract_module.into_wasm_code()?.try_into().map_err(|_| "Code too large")?, owner_info: Some(OwnerInfo { owner, // this is a helper function for benchmarking which skips deposit collection From f8abec47ad54f7be423f97c8d46e6391fcfa7bc1 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 8 May 2023 12:36:09 +0300 Subject: [PATCH 08/70] remove gas() host fn, continue clean-up save --- frame/contracts/proc-macro/src/lib.rs | 4 ++-- frame/contracts/src/exec.rs | 26 ++++++++++++------------- frame/contracts/src/gas.rs | 4 +--- frame/contracts/src/lib.rs | 28 +++++++++++---------------- frame/contracts/src/wasm/mod.rs | 23 ++++++---------------- frame/contracts/src/wasm/prepare.rs | 6 +++--- frame/contracts/src/wasm/runtime.rs | 21 ++------------------ 7 files changed, 38 insertions(+), 74 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 90bcf3655b775..60224b16c53c6 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -681,7 +681,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) let gas_before = { let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); let reftime_consumed = engine_consumed.saturating_mul(::Schedule::get().instruction_weights.base as u64); - __caller__.data_mut().ext.gas_meter().sync_reftime(reftime_consumed).map_err(#into_trap).map_err(#into_host)? + __caller__.data_mut().ext.gas_meter_mut().sync_reftime(reftime_consumed).map_err(#into_trap).map_err(#into_host)? }; } } else { @@ -689,7 +689,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) }; let sync_gas_after = if expand_blocks { quote! { - let gas_after = __caller__.data().ext.gas_meter_immut().gas_left().ref_time(); + let gas_after = __caller__.data().ext.gas_meter().gas_left().ref_time(); let host_consumed = gas_before.saturating_sub(gas_after); let fuel_consumed = host_consumed.checked_div(::Schedule::get().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; __caller__.consume_fuel(fuel_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#into_host)?; diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 6118fac6f4df3..f535f9d9f77ba 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -135,7 +135,7 @@ pub trait Ext: sealing::Sealed { /// Call (possibly transferring some amount of funds) into the specified account. /// - /// Returns the original code size of the called contract. + /// Returns the code size of the called contract. fn call( &mut self, gas_limit: Weight, @@ -148,7 +148,7 @@ pub trait Ext: sealing::Sealed { /// Execute code in the current frame. /// - /// Returns the original code size of the called contract. + /// Returns the code size of the called contract. fn delegate_call( &mut self, code: CodeHash, @@ -159,7 +159,7 @@ pub trait Ext: sealing::Sealed { /// /// Returns the original code size of the called contract. /// The newly created account will be associated with `code`. `value` specifies the amount of - /// value transferred from this to the newly created account. + /// value transferred from the caller to the newly created account. fn instantiate( &mut self, gas_limit: Weight, @@ -263,11 +263,11 @@ pub trait Ext: sealing::Sealed { /// Get a reference to the schedule used by the current call. fn schedule(&self) -> &Schedule; - /// Get a mutable reference to the nested gas meter. - fn gas_meter(&mut self) -> &mut GasMeter; + /// Get an immutable reference to the nested gas meter. + fn gas_meter(&self) -> &GasMeter; /// Get a mutable reference to the nested gas meter. - fn gas_meter_immut(&self) -> &GasMeter; + fn gas_meter_mut(&mut self) -> &mut GasMeter; /// Append a string to the debug buffer. /// @@ -368,7 +368,7 @@ pub trait Executable: Sized { /// The code hash of the executable. fn code_hash(&self) -> &CodeHash; - /// Size of the instrumented code in bytes. + /// Size of the conract code in bytes. fn code_len(&self) -> u32; /// The code does not contain any instructions which could lead to indeterminism. @@ -1208,7 +1208,7 @@ where code_hash: CodeHash, input_data: Vec, ) -> Result { - let executable = E::from_storage(code_hash, self.schedule, self.gas_meter())?; + let executable = E::from_storage(code_hash, self.schedule, self.gas_meter_mut())?; let top_frame = self.top_frame_mut(); let contract_info = top_frame.contract_info().clone(); let account_id = top_frame.account_id.clone(); @@ -1235,7 +1235,7 @@ where input_data: Vec, salt: &[u8], ) -> Result<(AccountIdOf, ExecReturnValue), ExecError> { - let executable = E::from_storage(code_hash, self.schedule, self.gas_meter())?; + let executable = E::from_storage(code_hash, self.schedule, self.gas_meter_mut())?; let nonce = self.next_nonce(); let executable = self.push_frame( FrameArgs::Instantiate { @@ -1387,12 +1387,12 @@ where self.schedule } - fn gas_meter(&mut self) -> &mut GasMeter { - &mut self.top_frame_mut().nested_gas + fn gas_meter(&self) -> &GasMeter { + &self.top_frame().nested_gas } - fn gas_meter_immut(&self) -> &GasMeter { - &self.top_frame().nested_gas + fn gas_meter_mut(&mut self) -> &mut GasMeter { + &mut self.top_frame_mut().nested_gas } fn append_debug_buffer(&mut self, msg: &str) -> bool { diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index 905153fb7d1f1..3606ffd607846 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -186,11 +186,9 @@ impl GasMeter { /// the Wasm engine gas meter. Passed `consumed` value is scaled by multiplying it by the /// weight of a basic operation, as such an operation in wasmi engine costs 1. /// - /// This is used for gas synchronizations with the engine both on enter and on exit - /// of every host function. + /// This is used for gas synchronizations with the engine in every host function. /// /// Returns the updated `ref_time` value for the gas left in the meter. - /// TODO : add scaling /// Normally this would never fail, as engine should fail first when out of gas. pub fn sync_reftime(&mut self, consumed: u64) -> Result { let ref_time = self.gas_left.ref_time_mut(); diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 815d526f0237c..13dde337705b5 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -279,9 +279,7 @@ pub mod pallet { /// The address generator used to generate the addresses of contracts. type AddressGenerator: AddressGenerator; - /// The maximum length of a contract code in bytes. This limit applies to the instrumented - /// version of the code. Therefore `instantiate_with_code` can fail even when supplying - /// a wasm binary below this maximum size. + /// The maximum length of a contract code in bytes. /// /// The value should be chosen carefully taking into the account the overall memory limit /// your runtime has, as well as the [maximum allowed callstack @@ -335,15 +333,15 @@ pub mod pallet { // encoded one. This is because even a single-byte wasm instruction has 16-byte size in // wasmi. This gives us `MaxCodeLen*16` safety margin. // - // Next, the pallet keeps both the original and instrumented wasm blobs for each - // contract, hence we add up `MaxCodeLen*2` more to the safety margin. + // Next, the pallet keeps the Wasm blob for each + // contract, hence we add up one `MaxCodeLen` more to the safety margin. // // Finally, the inefficiencies of the freeing-bump allocator // being used in the client for the runtime memory allocations, could lead to possible // memory allocations for contract code grow up to `x4` times in some extreme cases, // which gives us total multiplier of `18*4` for `MaxCodeLen`. // - // That being said, for every contract executed in runtime, at least `MaxCodeLen*18*4` + // That being said, for every contract executed in runtime, at least `MaxCodeLen*17*4` // memory should be available. Note that maximum allowed heap memory and stack size per // each contract (stack frame) should also be counted. // @@ -352,7 +350,7 @@ pub mod pallet { // // This gives us the following formula: // - // `(MaxCodeLen * 18 * 4 + MAX_STACK_SIZE + max_heap_size) * max_call_depth < + // `(MaxCodeLen * 17 * 4 + MAX_STACK_SIZE + max_heap_size) * max_call_depth < // max_runtime_mem/2` // // Hence the upper limit for the `MaxCodeLen` can be defined as follows: @@ -361,7 +359,7 @@ pub mod pallet { .saturating_div(max_call_depth) .saturating_sub(max_heap_size) .saturating_sub(MAX_STACK_SIZE) - .saturating_div(18 * 4); + .saturating_div(17 * 4); assert!( T::MaxCodeLen::get() < code_len_limit, @@ -472,7 +470,7 @@ pub mod pallet { /// /// If the code does not already exist a deposit is reserved from the caller /// and unreserved only when [`Self::remove_code`] is called. The size of the reserve - /// depends on the instrumented size of the the supplied `code`. + /// depends on the size of the supplied `code`. /// /// If the code already exists in storage it will still return `Ok` and upgrades /// the in storage version to the current @@ -621,7 +619,7 @@ pub mod pallet { /// /// Instantiation is executed as follows: /// - /// - The supplied `code` is instrumented, deployed, and a `code_hash` is created for that + /// - The supplied `code` is deployed, and a `code_hash` is created for that /// code. /// - If the `code_hash` already exists on the chain the underlying `code` will be shared. /// - The destination address is computed based on the sender, code_hash and the salt. @@ -847,7 +845,7 @@ pub mod pallet { /// or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags /// to determine whether a reversion has taken place. ContractReverted, - /// The contract's code was found to be invalid during validation or instrumentation. + /// The contract's code was found to be invalid during validation. /// /// The most likely cause of this is that an API was used which is not supported by the /// node. This happens if an older node is used with a new version of ink!. Try updating @@ -860,11 +858,7 @@ pub mod pallet { Indeterministic, } - /// A mapping from an original code hash to the original code, untouched by instrumentation. - #[pallet::storage] - pub(crate) type PristineCode = StorageMap<_, Identity, CodeHash, CodeVec>; - - /// A mapping between an original code hash and instrumented wasm code, ready for execution. + /// A mapping between an original code hash and Wasm code, ready for execution. #[pallet::storage] pub(crate) type CodeStorage = StorageMap<_, Identity, CodeHash, PrefabWasmModule>; @@ -1324,7 +1318,7 @@ impl Pallet { ContractInfo::::load_code_hash(account) } - /// Store code for benchmarks which does not check nor instrument the code. + /// Store code for benchmarks which does not validate the code. #[cfg(feature = "runtime-benchmarks")] fn store_code_raw( code: Vec, diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 161f97a36e54c..bcf6f442e3e0e 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -271,9 +271,6 @@ impl PrefabWasmModule { >::mutate(&code_hash, |owner_info| { match owner_info { // Instantiate existing contract. - // - // No need to update the `CodeStorage` as any re-instrumentation eagerly saves - // the re-instrumented code. Some(owner_info) if instantiated => { owner_info.refcount = owner_info.refcount.checked_add(1).expect( " @@ -286,23 +283,15 @@ impl PrefabWasmModule { ); Ok(()) }, - // Re-upload existing contract without executing it. - // - // We are careful here to just overwrite the code to not include it into the PoV. - // We do this because the uploaded code was instrumented with the latest schedule - // and hence we persist those changes. Otherwise the next execution will pay again - // for the instrumentation. - Some(_) => { - >::insert(&code_hash, module); - Ok(()) - }, + // Contract code is already stored in storage. Nothing to be done here. + Some(_) => Ok(()), // Upload a new contract. // // We need to write all data structures and collect the deposit. None => { let mut new_owner_info = module.owner_info.take().expect( "If an executable isn't in storage it was uploaded. - If it was uploaded the owner info was generated and attached. qed + If it was uploaded, the owner info was generated and attached. qed ", ); // This `None` case happens only in freshly uploaded modules. This means that @@ -392,11 +381,11 @@ impl PrefabWasmModule { store_code(executable, false) } - /// Create the module without checking nor instrumenting the passed code. + /// Create the module without checking the passed code. /// /// # Note /// - /// This is useful for benchmarking where we don't want instrumentation to skew + /// This is useful for benchmarking where we don't want validation of the module to skew /// our results. This also does not collect any deposit from the `owner`. Also useful /// during testing when we want to deploy codes that do not pass the instantiation checks. #[cfg(any(test, feature = "runtime-benchmarks"))] @@ -744,7 +733,7 @@ mod tests { fn schedule(&self) -> &Schedule { &self.schedule } - fn gas_meter(&mut self) -> &mut GasMeter { + fn gas_meter_mut(&mut self) -> &mut GasMeter { &mut self.gas_meter } fn append_debug_buffer(&mut self, msg: &str) -> bool { diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 757f688489315..6f1a591775e3e 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -284,7 +284,7 @@ impl ContractModule { } fn into_wasm_code(self) -> Result, &'static str> { - elements::serialize(self.0).map_err(|_| "error serializing instrumented module") + elements::serialize(self.0).map_err(|_| "error serializing contract module") } } @@ -399,7 +399,7 @@ where ) .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); - (Error::::CodeRejected.into(), "new code rejected after instrumentation") + (Error::::CodeRejected.into(), "new code rejected on wasmi instantiation") })?; } @@ -457,7 +457,7 @@ where /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. /// /// For benchmarking we need to construct special contracts that might not pass our -/// sanity checks or need to skip instrumentation for correct results. We hide functions +/// sanity checks. We hide functions /// allowing this behind a feature that is only set during benchmarking or testing to /// prevent usage in production code. #[cfg(any(test, feature = "runtime-benchmarks"))] diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 847c2bc2525f3..911d2a20a57b1 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -174,9 +174,6 @@ impl HostError for TrapReason {} #[cfg_attr(test, derive(Debug, PartialEq, Eq))] #[derive(Copy, Clone)] pub enum RuntimeCosts { - /// Charge the gas meter with the cost of a metering block. The charged costs are - /// the supplied cost of the block plus the overhead of the metering itself. - MeteringBlock(u64), /// Weight charged for copying data from the sandbox. CopyFromContract(u32), /// Weight charged for copying data to the sandbox. @@ -277,7 +274,6 @@ impl RuntimeCosts { fn token(&self, s: &HostFnWeights) -> RuntimeToken { use self::RuntimeCosts::*; let weight = match *self { - MeteringBlock(amount) => s.gas.saturating_add(Weight::from_parts(amount, 0)), CopyFromContract(len) => s.return_per_byte.saturating_mul(len.into()), CopyToContract(len) => s.input_per_byte.saturating_mul(len.into()), Caller => s.caller, @@ -369,7 +365,7 @@ impl RuntimeCosts { macro_rules! charge_gas { ($runtime:expr, $costs:expr) => {{ let token = $costs.token(&$runtime.ext.schedule().host_fn_weights); - $runtime.ext.gas_meter().charge(token) + $runtime.ext.gas_meter_mut().charge(token) }}; } @@ -548,7 +544,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { /// refunded to match the actual amount. pub fn adjust_gas(&mut self, charged: ChargedAmount, actual_costs: RuntimeCosts) { let token = actual_costs.token(&self.ext.schedule().host_fn_weights); - self.ext.gas_meter().adjust_gas(charged, token); + self.ext.gas_meter_mut().adjust_gas(charged, token); } /// Read designated chunk from the sandbox memory. @@ -1016,19 +1012,6 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { // for every function. #[define_env(doc)] pub mod env { - /// Account for used gas. Traps if gas used is greater than gas limit. - /// - /// NOTE: This is a implementation defined call and is NOT a part of the public API. - /// This call is supposed to be called only by instrumentation injected code. - /// It deals only with the *ref_time* Weight. - /// - /// - `amount`: How much gas is used. - /// TODO remove this host fn - fn gas(ctx: _, _memory: _, amount: u64) -> Result<(), TrapReason> { - ctx.charge_gas(RuntimeCosts::MeteringBlock(amount))?; - Ok(()) - } - /// Set the value at the given key in the contract storage. /// /// Equivalent to the newer [`seal1`][`super::api_doc::Version1::set_storage`] version with the From 22440ae2ab15c218f19ac109caaa933aadcc1cc4 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 10 Jun 2023 01:55:16 +0300 Subject: [PATCH 09/70] address review comments --- Cargo.lock | 13 +- frame/contracts/proc-macro/src/lib.rs | 6 +- frame/contracts/src/benchmarking/mod.rs | 89 ++++++++ frame/contracts/src/benchmarking/sandbox.rs | 6 +- frame/contracts/src/exec.rs | 2 +- frame/contracts/src/gas.rs | 18 +- frame/contracts/src/lib.rs | 52 ++--- frame/contracts/src/tests.rs | 81 +------ frame/contracts/src/wasm/mod.rs | 229 ++++++++++++-------- frame/contracts/src/wasm/prepare.rs | 114 +++++----- 10 files changed, 321 insertions(+), 289 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a424b50e26752..809b33f849802 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12644,17 +12644,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmi" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" -dependencies = [ - "parity-wasm", - "wasmi-validation", - "wasmi_core 0.2.1", -] - [[package]] name = "wasmi" version = "0.29.0" @@ -12662,7 +12651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677160b1166881badada1137afc6457777126f328ae63a18058b504f546f0828" dependencies = [ "smallvec", - "spin 0.9.5", + "spin 0.9.8", "wasmi_arena", "wasmi_core 0.12.0", "wasmparser-nostd", diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 60224b16c53c6..0d4fd86587394 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -678,10 +678,10 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) }; let sync_gas_before = if expand_blocks { quote! { - let gas_before = { + let __gas_before__ = { let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); let reftime_consumed = engine_consumed.saturating_mul(::Schedule::get().instruction_weights.base as u64); - __caller__.data_mut().ext.gas_meter_mut().sync_reftime(reftime_consumed).map_err(#into_trap).map_err(#into_host)? + __caller__.data_mut().ext.gas_meter_mut().charge_fuel(reftime_consumed).map_err(#into_trap).map_err(#into_host)?.ref_time() }; } } else { @@ -690,7 +690,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) let sync_gas_after = if expand_blocks { quote! { let gas_after = __caller__.data().ext.gas_meter().gas_left().ref_time(); - let host_consumed = gas_before.saturating_sub(gas_after); + let host_consumed = __gas_before__.saturating_sub(gas_after); let fuel_consumed = host_consumed.checked_div(::Schedule::get().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; __caller__.consume_fuel(fuel_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#into_host)?; } diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index 4444388623f23..4cec5ec706085 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -219,6 +219,7 @@ benchmarks! { ContractInfo::::process_deletion_queue_batch(Weight::MAX) } +<<<<<<< HEAD // This benchmarks the additional weight that is charged when a contract is executed the // first time after a new schedule was deployed: For every new schedule a contract needs // to re-run the instrumentation once. @@ -232,6 +233,94 @@ benchmarks! { let mut module = PrefabWasmModule::from_storage(hash, &schedule, &mut gas_meter)?; }: { Contracts::::reinstrument_module(&mut module, &schedule)?; +======= + // This benchmarks the v9 migration step. (update codeStorage) + #[pov_mode = Measured] + v9_migration_step { + let c in 0 .. Perbill::from_percent(49).mul_ceil(T::MaxCodeLen::get()); + v9::store_old_dummy_code::(c as usize); + let mut m = v9::Migration::::default(); + }: { + m.step(); + } + + // This benchmarks the v10 migration step. (use dedicated deposit_account) + #[pov_mode = Measured] + v10_migration_step { + let contract = >::with_caller( + whitelisted_caller(), WasmModule::dummy(), vec![], + )?; + + v10::store_old_contrat_info::(contract.account_id.clone(), contract.info()?); + let mut m = v10::Migration::::default(); + }: { + m.step(); + } + + // This benchmarks the v11 migration step. + #[pov_mode = Measured] + v11_migration_step { + let k in 0 .. 1024; + v11::fill_old_queue::(k as usize); + let mut m = v11::Migration::::default(); + }: { + m.step(); + } + + // This benchmarks the weight of executing Migration::migrate to execute a noop migration. + #[pov_mode = Measured] + migration_noop { + assert_eq!(StorageVersion::get::>(), 2); + }: { + Migration::::migrate(Weight::MAX) + } verify { + assert_eq!(StorageVersion::get::>(), 2); + } + + // This benchmarks the weight of executing Migration::migrate when there are no migration in progress. + #[pov_mode = Measured] + migrate { + StorageVersion::new(0).put::>(); + as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade(); + let origin: RawOrigin<::AccountId> = RawOrigin::Signed(whitelisted_caller()); + }: { + >::migrate(origin.into(), Weight::MAX).unwrap() + } verify { + assert_eq!(StorageVersion::get::>(), 1); + } + + // This benchmarks the weight of running on_runtime_upgrade when there are no migration in progress. + #[pov_mode = Measured] + on_runtime_upgrade_noop { + assert_eq!(StorageVersion::get::>(), 2); + }: { + as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade() + } verify { + assert!(MigrationInProgress::::get().is_none()); + } + + // This benchmarks the weight of running on_runtime_upgrade when there is a migration in progress. + #[pov_mode = Measured] + on_runtime_upgrade_in_progress { + StorageVersion::new(0).put::>(); + let v = vec![42u8].try_into().ok(); + MigrationInProgress::::set(v.clone()); + }: { + as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade() + } verify { + assert!(MigrationInProgress::::get().is_some()); + assert_eq!(MigrationInProgress::::get(), v); + } + + // This benchmarks the weight of running on_runtime_upgrade when there is a migration to process. + #[pov_mode = Measured] + on_runtime_upgrade { + StorageVersion::new(0).put::>(); + }: { + as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade() + } verify { + assert!(MigrationInProgress::::get().is_some()); +>>>>>>> 6b2c375677... address review comments } // This benchmarks the overhead of loading a code of size `c` byte from storage and into diff --git a/frame/contracts/src/benchmarking/sandbox.rs b/frame/contracts/src/benchmarking/sandbox.rs index 7e28840981008..e9b698e41a079 100644 --- a/frame/contracts/src/benchmarking/sandbox.rs +++ b/frame/contracts/src/benchmarking/sandbox.rs @@ -19,9 +19,7 @@ /// ! 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, PrefabWasmModule, -}; +use crate::wasm::{AllowDeprecatedInterface, AllowUnstableInterface, Environment}; use wasmi::{errors::LinkerError, Func, Linker, StackLimits, Store}; /// Minimal execution environment without any imported functions. @@ -46,7 +44,7 @@ impl From<&WasmModule> for Sandbox { .as_ref() .map(|mem| (mem.min_pages, mem.max_pages)) .unwrap_or((0, 0)); - let (store, _memory, instance) = PrefabWasmModule::::instantiate::( + let (store, _memory, instance) = WasmBlob::::instantiate::( &module.code, (), memory, diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index f535f9d9f77ba..6b2c089672997 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -882,7 +882,7 @@ where // Sync this frame's gas meter with the engine's one. let frame = self.top_frame_mut(); - frame.nested_gas.sync_reftime(output.reftime_consumed)?; + frame.nested_gas.charge_fuel(output.reftime_consumed)?; // Avoid useless work that would be reverted anyways. if output.did_revert() { diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index 3606ffd607846..c5fd83fcd9359 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -182,26 +182,26 @@ impl GasMeter { self.gas_left = self.gas_left.saturating_add(adjustment).min(self.gas_limit); } - /// Update the `ref_time` component of the `gas_left` to bring it into line with - /// the Wasm engine gas meter. Passed `consumed` value is scaled by multiplying it by the - /// weight of a basic operation, as such an operation in wasmi engine costs 1. + /// Charge self with the `ref_time` Weight corresponding to `wasmi_fuel` consumed on the engine + /// side. Passed value is scaled by multiplying it by the weight of a basic operation, as such + /// an operation in wasmi engine costs 1. /// - /// This is used for gas synchronizations with the engine in every host function. + /// This is used for gas syncs with the engine in every host function. /// - /// Returns the updated `ref_time` value for the gas left in the meter. + /// Returns the updated gas_left Weight value from the meter. /// Normally this would never fail, as engine should fail first when out of gas. - pub fn sync_reftime(&mut self, consumed: u64) -> Result { + pub fn charge_fuel(&mut self, wasmi_fuel: u64) -> Result { let ref_time = self.gas_left.ref_time_mut(); - if !consumed.is_zero() { + if !wasmi_fuel.is_zero() { let reftime_consumed = - consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); + wasmi_fuel.saturating_mul(T::Schedule::get().instruction_weights.base as u64); *ref_time = self .gas_limit .ref_time() .checked_sub(reftime_consumed) .ok_or_else(|| Error::::OutOfGas)?; } - Ok(*ref_time) + Ok(self.gas_left) } /// Returns the amount of gas that is required to run the same call. diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 13dde337705b5..ddb9c12feb99e 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -101,7 +101,7 @@ use crate::{ exec::{AccountIdOf, ErrorOrigin, ExecError, Executable, Key, Stack as ExecStack}, gas::GasMeter, storage::{meter::Meter as StorageMeter, ContractInfo, DeletionQueueManager}, - wasm::{OwnerInfo, PrefabWasmModule, TryInstantiate}, + wasm::{OwnerInfo, PrefabWasmModule, TryInstantiate, WasmBlob}, weights::WeightInfo, }; use codec::{Codec, Decode, Encode, HasCompact}; @@ -510,7 +510,7 @@ pub mod pallet { code_hash: CodeHash, ) -> DispatchResultWithPostInfo { let origin = ensure_signed(origin)?; - >::remove(&origin, code_hash)?; + >::remove(&origin, code_hash)?; // we waive the fee because removing unused code is beneficial Ok(Pays::No.into()) } @@ -540,8 +540,8 @@ pub mod pallet { } else { return Err(>::ContractNotFound.into()) }; - >::add_user(code_hash)?; - >::remove_user(contract.code_hash); + >::add_user(code_hash)?; + >::remove_user(contract.code_hash); Self::deposit_event( vec![T::Hashing::hash_of(&dest), code_hash, contract.code_hash], Event::ContractCodeUpdated { @@ -619,8 +619,7 @@ pub mod pallet { /// /// Instantiation is executed as follows: /// - /// - The supplied `code` is deployed, and a `code_hash` is created for that - /// code. + /// - The supplied `code` is deployed, and a `code_hash` is created for that code. /// - If the `code_hash` already exists on the chain the underlying `code` will be shared. /// - The destination address is computed based on the sender, code_hash and the salt. /// - The smart-contract account is created at the computed address. @@ -858,7 +857,12 @@ pub mod pallet { Indeterministic, } + /// A mapping from an original code hash to the original code, untouched by instrumentation. + #[pallet::storage] + pub(crate) type PristineCode = StorageMap<_, Identity, CodeHash, CodeVec>; + /// A mapping between an original code hash and Wasm code, ready for execution. + /// TODO: delete #[pallet::storage] pub(crate) type CodeStorage = StorageMap<_, Identity, CodeHash, PrefabWasmModule>; @@ -1069,7 +1073,7 @@ impl Invokable for CallInput { }, }; let schedule = T::Schedule::get(); - let result = ExecStack::>::run_call( + let result = ExecStack::>::run_call( origin.clone(), dest.clone(), &mut gas_meter, @@ -1112,7 +1116,7 @@ impl Invokable for InstantiateInput { let origin = contract_origin.account_id()?; let (extra_deposit, executable) = match &self.code { Code::Upload(binary) => { - let executable = PrefabWasmModule::from_code( + let (executable, owner_info) = WasmBlob::from_code( binary.clone(), &schedule, origin.clone(), @@ -1130,12 +1134,10 @@ impl Invokable for InstantiateInput { // uploaded module does not already exist. This deposit is not part of the // storage meter because it is not transferred to the contract but // reserved on the uploading account. - (executable.open_deposit(), executable) + (executable.open_deposit(owner_info), executable) }, - Code::Existing(hash) => ( - Default::default(), - PrefabWasmModule::from_storage(*hash, &schedule, &mut gas_meter)?, - ), + Code::Existing(hash) => + (Default::default(), WasmBlob::from_storage(*hash, &schedule, &mut gas_meter)?), }; let contract_origin = Origin::from_account_id(origin.clone()); let mut storage_meter = StorageMeter::new( @@ -1144,7 +1146,7 @@ impl Invokable for InstantiateInput { common.value.saturating_add(extra_deposit), )?; let CommonInput { value, data, debug_message, .. } = common; - let result = ExecStack::>::run_instantiate( + let result = ExecStack::>::run_instantiate( origin.clone(), executable, &mut gas_meter, @@ -1270,14 +1272,9 @@ impl Pallet { determinism: Determinism, ) -> CodeUploadResult, BalanceOf> { let schedule = T::Schedule::get(); - let module = PrefabWasmModule::from_code( - code, - &schedule, - origin, - determinism, - TryInstantiate::Instantiate, - ) - .map_err(|(err, _)| err)?; + let module = + WasmBlob::from_code(code, &schedule, origin, determinism, TryInstantiate::Instantiate) + .map_err(|(err, _)| err)?; let deposit = module.open_deposit(); if let Some(storage_deposit_limit) = storage_deposit_limit { ensure!(storage_deposit_limit >= deposit, >::StorageDepositLimitExhausted); @@ -1325,19 +1322,10 @@ impl Pallet { owner: T::AccountId, ) -> frame_support::dispatch::DispatchResult { let schedule = T::Schedule::get(); - PrefabWasmModule::store_code_unchecked(code, &schedule, owner)?; + WasmBlob::store_code_unchecked(code, &schedule, owner)?; Ok(()) } - /// This exists so that benchmarks can determine the weight of running an instrumentation. - #[cfg(feature = "runtime-benchmarks")] - fn reinstrument_module( - module: &mut PrefabWasmModule, - schedule: &Schedule, - ) -> frame_support::dispatch::DispatchResult { - self::wasm::reinstrument(module, schedule).map(|_| ()) - } - /// Deposit a pallet contracts event. Handles the conversion to the overarching event type. fn deposit_event(topics: Vec, event: Event) { >::deposit_event_indexed( diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index a07176e9f67b9..1588cea7b410a 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -25,7 +25,7 @@ use crate::{ exec::{Frame, Key}, storage::DeletionQueueManager, tests::test_utils::{get_contract, get_contract_checked}, - wasm::{Determinism, PrefabWasmModule, ReturnCode as RuntimeReturnCode}, + wasm::{Determinism, ReturnCode as RuntimeReturnCode}, weights::WeightInfo, BalanceOf, Code, CodeStorage, Config, ContractInfo, ContractInfoOf, DefaultAddressGenerator, DeletionQueueCounter, Error, Origin, Pallet, Schedule, @@ -2464,85 +2464,6 @@ fn refcounter() { }); } -#[test] -fn reinstrument_does_charge() { - let (wasm, code_hash) = compile_module::("return_with_data").unwrap(); - ExtBuilder::default().existential_deposit(50).build().execute_with(|| { - let _ = Balances::deposit_creating(&ALICE, 1_000_000); - let min_balance = ::Currency::minimum_balance(); - let zero = 0u32.to_le_bytes().encode(); - let code_len = wasm.len() as u32; - - let addr = Contracts::bare_instantiate( - ALICE, - min_balance * 100, - GAS_LIMIT, - None, - Code::Upload(wasm), - zero.clone(), - vec![], - false, - ) - .result - .unwrap() - .account_id; - - // Call the contract two times without reinstrument - - let result0 = Contracts::bare_call( - ALICE, - addr.clone(), - 0, - GAS_LIMIT, - None, - zero.clone(), - false, - Determinism::Enforced, - ); - assert!(!result0.result.unwrap().did_revert()); - - let result1 = Contracts::bare_call( - ALICE, - addr.clone(), - 0, - GAS_LIMIT, - None, - zero.clone(), - false, - Determinism::Enforced, - ); - assert!(!result1.result.unwrap().did_revert()); - - // They should match because both where called with the same schedule. - assert_eq!(result0.gas_consumed, result1.gas_consumed); - - // We cannot change the schedule. Instead, we decrease the version of the deployed - // contract below the current schedule's version. - crate::CodeStorage::mutate(&code_hash, |code: &mut Option>| { - code.as_mut().unwrap().decrement_version(); - }); - - // This call should trigger reinstrumentation - let result2 = Contracts::bare_call( - ALICE, - addr.clone(), - 0, - GAS_LIMIT, - None, - zero.clone(), - false, - Determinism::Enforced, - ); - assert!(!result2.result.unwrap().did_revert()); - assert!(result2.gas_consumed.ref_time() > result1.gas_consumed.ref_time()); - assert_eq!( - result2.gas_consumed.ref_time(), - result1.gas_consumed.ref_time() + - ::WeightInfo::reinstrument(code_len).ref_time(), - ); - }); -} - #[test] fn debug_message_works() { let (wasm, _code_hash) = compile_module::("debug_message_works").unwrap(); diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index bcf6f442e3e0e..e649d4a4ffa86 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -20,6 +20,7 @@ mod prepare; mod runtime; +mod parse; #[cfg(doc)] pub use crate::wasm::runtime::api_doc; @@ -38,9 +39,10 @@ pub use crate::wasm::{ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, gas::{GasMeter, Token}, + wasm::prepare::IMPORT_MODULE_MEMORY, weights::WeightInfo, AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeStorage, CodeVec, Config, Error, Event, - OwnerInfoOf, Pallet, Schedule, Weight, LOG_TARGET, + OwnerInfoOf, Pallet, PristineCode, Schedule, Weight, LOG_TARGET, }; use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ @@ -52,8 +54,8 @@ use sp_core::Get; use sp_runtime::RuntimeDebug; use sp_std::prelude::*; use wasmi::{ - Config as WasmiConfig, Engine, FuelConsumptionMode, Instance, Linker, Memory, MemoryType, - Module, StackLimits, Store, + Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, + MemoryType, Module, StackLimits, Store, }; /// A prepared wasm module ready for execution. @@ -89,7 +91,15 @@ pub struct PrefabWasmModule { owner_info: Option>, } -/// Information that belongs to a [`PrefabWasmModule`] but is stored separately. +/// TODO: docs +pub struct WasmBlob(CodeVec); + +/// Contract metadata, such as: +/// - owner of the contract, +/// - storage deposit amount, +/// - reference count +/// - determinism marker +/// TODO: rename this struct /// /// It is stored in a separate storage entry to avoid loading the code when not necessary. #[derive(Clone, Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] @@ -104,6 +114,10 @@ pub struct OwnerInfo { /// The number of contracts that use this as their code. #[codec(compact)] refcount: u64, + /// Marks if the code might contain non deterministic features and is therefore never allowed + /// to be run on chain. Specifically, such a code can never be instantiated into a contract + /// and can just be used through a delegate call. + determinism: Determinism, } /// Defines the required determinism level of a wasm blob when either running or uploading code. @@ -160,39 +174,50 @@ impl Token for CodeToken { } } -impl PrefabWasmModule { +impl From> for WasmBlob { + fn from(code: CodeVec) -> Self { + Self(code) + } +} + +impl WasmBlob { /// Create the module by checking the `code`. /// /// This does **not** store the module. For this one need to either call [`Self::store`] /// or [`::execute`][`Executable::execute`]. + /// TODO: rename to validate? + /// TODO: move to ContractCode trait pub fn from_code( code: Vec, schedule: &Schedule, owner: AccountIdOf, determinism: Determinism, try_instantiate: TryInstantiate, - ) -> Result { - let module = prepare::prepare::( + ) -> Result<(Self, OwnerInfo), (DispatchError, &'static str)> { + let (code, owner_info) = prepare::prepare::( + // TODO: this preparation is specific to wasm code.try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, schedule, owner, determinism, try_instantiate, )?; - Ok(module) + Ok((code.into(), owner_info)) // TODO: refactor } /// Store the code without instantiating it. /// /// Otherwise the code is stored when [`::execute`][`Executable::execute`] /// is called. - pub fn store(self) -> DispatchResult { - Self::store_code(self, false) + /// TODO: move to ContractCode trait as default impl + pub fn store(self, owner_info: OwnerInfo) -> DispatchResult { + Self::store_code(self, owner_info, false) } /// Remove the code from storage and refund the deposit to its owner. /// /// Applies all necessary checks before removing the code. + /// TODO: move to ContractCode trait default impl pub fn remove(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { Self::try_remove_code(origin, code_hash) } @@ -201,14 +226,9 @@ impl PrefabWasmModule { /// /// Returns `0` if the module is already in storage and hence no deposit will /// be charged when storing it. - pub fn open_deposit(&self) -> BalanceOf { - if >::contains_key(&self.code_hash) { - 0u32.into() - } else { - // Only already in-storage contracts have their `owner_info` set to `None`. - // Therefore it is correct to return `0` in this case. - self.owner_info.as_ref().map(|i| i.deposit).unwrap_or_default() - } + /// TODO: move to ContractCode trait default impl + pub fn open_deposit(&self, owner_info: OwnerInfo) -> BalanceOf { + >::try_get(self.code_hash()).map_or(owner_info.deposit, |_| 0u32.into()) } /// Creates and returns an instance of the supplied code. @@ -216,17 +236,17 @@ impl PrefabWasmModule { /// This is either used for later executing a contract or for validation of a contract. /// When validating we pass `()` as `host_state`. Please note that such a dummy instance must /// **never** be called/executed since it will panic the executor. + /// TODO: move to ContractCode trait pub fn instantiate( code: &[u8], host_state: H, - memory: (u32, u32), stack_limits: StackLimits, allow_deprecated: AllowDeprecatedInterface, ) -> Result<(Store, Memory, Instance), wasmi::Error> where E: Environment, { - let mut config = WasmiConfig::default(); + let mut config = WasmiConfig::default(); // TODO: this method is specific to wasm config .set_stack_limits(stack_limits) .wasm_multi_value(false) @@ -237,7 +257,7 @@ impl PrefabWasmModule { .fuel_consumption_mode(FuelConsumptionMode::Eager); let engine = Engine::new(&config); - let module = Module::new(&engine, code)?; + let module = Module::new(&engine, code.clone())?; let mut store = Store::new(&engine, host_state); let mut linker = Linker::new(&engine); E::define( @@ -250,8 +270,18 @@ impl PrefabWasmModule { }, allow_deprecated, )?; - let memory = Memory::new(&mut store, MemoryType::new(memory.0, Some(memory.1))?).expect( - "The limits defined in our `Schedule` limit the amount of memory well below u32::MAX; qed", + + // TODO: implement + let mem_limits = Self::get_memory_limits(code) + .map_err(|_| wasmi::errors::MemoryError::InvalidMemoryType)?; + + // TODO: do we really need this? + // Here we allocate this memory in the _store_. It allocates _inital_ val, but allows it to grow up + // to max number of mem pages, if neccesary. + let memory = Memory::new(&mut store, MemoryType::new(mem_limits.0, Some(mem_limits.1))?).expect( + "We checked the limits versus our `Schedule`, + which specifies the max amount of memory pages + well below u16::MAX; qed", ); linker .define("env", "memory", memory) @@ -262,46 +292,78 @@ impl PrefabWasmModule { Ok((store, memory, instance)) } - /// Put the module blob in storage. + fn get_memory_limits(code: &[u8]) -> Result<(u32, u32), &'static str> { + validate::mem_limits(code) +// -- move / rewrite to wasm::validate + let mut mem_type = None; + for import in *imports { + match *import.ty() { + ExternType::Memory(ref memory_type) => { + 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(memory_type); + break + }, + _ => continue, + } + } + + // We don't need to check here if module memory limits satisfy the schedule, + // as this is already being done during the code uploading. + // If none memory imported then set its limits to (0,0). + // Any access to it will lead to out of bounds trap. + let get_limits = mem_type.map_or(Default::default(), |mt| { + ( + mt.initial_pages().0, + mt.maximum_pages().ok_or("Maximum number of pages should be always declared.")?.0, + ) + }); + Ok(get_limits) + } + + /// Put the module blob into storage. /// /// Increments the refcount of the in-storage `prefab_module` if it already exists in storage /// under the specified `code_hash`. - fn store_code(mut module: Self, instantiated: bool) -> DispatchResult { - let code_hash = sp_std::mem::take(&mut module.code_hash); - >::mutate(&code_hash, |owner_info| { - match owner_info { + /// TODO: move to ContractCode trait default impl + fn store_code(code: Self, owner_info: OwnerInfo, instantiated: bool) -> DispatchResult { + let code_hash = Self::code_hash(&code); // TODO: move to impl + >::mutate(code_hash, |stored_owner_info| { + match stored_owner_info { // Instantiate existing contract. - Some(owner_info) if instantiated => { - owner_info.refcount = owner_info.refcount.checked_add(1).expect( + Some(stored_owner_info) if instantiated => { + stored_owner_info.refcount = stored_owner_info.refcount.checked_add(1).expect( " - refcount is 64bit. Generating this overflow would require to store - _at least_ 18 exabyte of data assuming that a contract consumes only - one byte of data. Any node would run out of storage space before hitting - this overflow. - qed - ", + refcount is 64bit. Generating this overflow would require to store + _at least_ 18 exabyte of data assuming that a contract consumes only + one byte of data. Any node would run out of storage space before hitting + this overflow; + qed + ", ); Ok(()) }, // Contract code is already stored in storage. Nothing to be done here. Some(_) => Ok(()), - // Upload a new contract. + // Upload a new contract code. // - // We need to write all data structures and collect the deposit. + // We need to store the code and its owner info, and collect the deposit. None => { - let mut new_owner_info = module.owner_info.take().expect( - "If an executable isn't in storage it was uploaded. - If it was uploaded, the owner info was generated and attached. qed - ", - ); // This `None` case happens only in freshly uploaded modules. This means that // the `owner` is always the origin of the current transaction. - T::Currency::reserve(&new_owner_info.owner, new_owner_info.deposit) + T::Currency::reserve(&owner_info.owner, owner_info.deposit) .map_err(|_| >::StorageDepositNotEnoughFunds)?; - new_owner_info.refcount = if instantiated { 1 } else { 0 }; - >::insert(&code_hash, module); - *owner_info = Some(new_owner_info); - >::deposit_event(vec![code_hash], Event::CodeStored { code_hash }); + owner_info.refcount = if instantiated { 1 } else { 0 }; + >::insert(&code_hash, code.0); + *stored_owner_info = Some(owner_info); + >::deposit_event( + vec![*code_hash], + Event::CodeStored { code_hash: *code_hash }, + ); Ok(()) }, } @@ -309,14 +371,15 @@ impl PrefabWasmModule { } /// Try to remove code together with all associated information. + /// TODO: move to ContractCode trait default impl fn try_remove_code(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { >::try_mutate_exists(&code_hash, |existing| { if let Some(owner_info) = existing { ensure!(owner_info.refcount == 0, >::CodeInUse); - ensure!(&owner_info.owner == origin, BadOrigin); + ensure!(&owner_info.owner == origin, BadOrigin); // TODO: what if origin is root? T::Currency::unreserve(&owner_info.owner, owner_info.deposit); *existing = None; - >::remove(&code_hash); + >::remove(&code_hash); >::deposit_event(vec![code_hash], Event::CodeRemoved { code_hash }); Ok(()) } else { @@ -326,19 +389,19 @@ impl PrefabWasmModule { } /// Load code with the given code hash. + /// TODO: move to ContractCode trait default impl fn load_code( code_hash: CodeHash, gas_meter: &mut GasMeter, - ) -> Result, DispatchError> { + ) -> Result, DispatchError> { let max_code_len = T::MaxCodeLen::get(); let charged = gas_meter.charge(CodeToken::Load(max_code_len))?; - let mut module = >::get(code_hash).ok_or(Error::::CodeNotFound)?; - let code_len = module.code.len() as u32; + let code = >::get(code_hash).ok_or(Error::::CodeNotFound)?; + let code_len = code.len() as u32; gas_meter.adjust_gas(charged, CodeToken::Load(code_len)); - module.code_hash = code_hash; - Ok(module) + Ok(code) } /// Decrement the refcount of a code in-storage by one. @@ -347,6 +410,7 @@ impl PrefabWasmModule { /// /// A contract whose refcount dropped to zero isn't automatically removed. A `remove_code` /// transaction must be submitted by the original uploader to do so. + /// TODO: move to ContractCode trait default impl fn decrement_refcount(code_hash: CodeHash) { >::mutate(code_hash, |existing| { if let Some(info) = existing { @@ -360,6 +424,7 @@ impl PrefabWasmModule { /// # Errors /// /// [`Error::CodeNotFound`] is returned if the specified `code_hash` does not exist. + /// TODO: move to ContractCode trait default impl fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { >::mutate(code_hash, |existing| -> Result<(), DispatchError> { if let Some(info) = existing { @@ -371,13 +436,14 @@ impl PrefabWasmModule { }) } /// See [`Self::from_code_unchecked`]. + /// TODO: move to ContractCode trait default impl #[cfg(feature = "runtime-benchmarks")] pub fn store_code_unchecked( code: Vec, schedule: &Schedule, owner: T::AccountId, ) -> DispatchResult { - let executable = Self::from_code_unchecked(code, schedule, owner)?; + let (executable, owner_info) = Self::from_code_unchecked(code, schedule, owner)?; store_code(executable, false) } @@ -388,12 +454,14 @@ impl PrefabWasmModule { /// This is useful for benchmarking where we don't want validation of the module to skew /// our results. This also does not collect any deposit from the `owner`. Also useful /// during testing when we want to deploy codes that do not pass the instantiation checks. + /// TODO: move to ContractCode trait #[cfg(any(test, feature = "runtime-benchmarks"))] fn from_code_unchecked( code: Vec, schedule: &Schedule, owner: T::AccountId, - ) -> Result { + ) -> Result<(Self, OwnerInfo), DispatchError> { + // TODO: this is wasm-specific prepare::benchmarking::prepare(code, schedule, owner) .map_err::(Into::into) } @@ -407,13 +475,18 @@ impl OwnerInfo { } } -impl Executable for PrefabWasmModule { +// TODO +// WasmModule : Stored +// impl Executable for Stored +// impl Executable for WasmModule + +impl Executable for WasmBlob { fn from_storage( code_hash: CodeHash, _schedule: &Schedule, gas_meter: &mut GasMeter, ) -> Result { - Self::load_code(code_hash, gas_meter) + Self::load_code(code_hash, gas_meter).map(|code| code.into()) } fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { @@ -433,9 +506,9 @@ impl Executable for PrefabWasmModule { ) -> ExecResult { let runtime = Runtime::new(ext, input_data); let (mut store, memory, instance) = Self::instantiate::( - self.code.as_slice(), + self.0.as_slice(), runtime, - (self.initial, self.maximum), + // TODO del (self.initial, self.maximum), StackLimits::default(), match function { ExportedFunction::Constructor => AllowDeprecatedInterface::No, @@ -480,15 +553,20 @@ impl Executable for PrefabWasmModule { } fn code_hash(&self) -> &CodeHash { - &self.code_hash + T::Hashing::hash(self) } fn code_len(&self) -> u32 { - self.code.len() as u32 + self.len() as u32 } fn is_deterministic(&self) -> bool { - matches!(self.determinism, Determinism::Enforced) + // There should not be a stored code vec without an owner_info. + // If we cant find owner_info for the contract code, we consider it unsafe to use on-chain, + // just as any non deterministic code. + // TODO: would we make this method fallible? + >::try_get(self.code_hash()) + .map_or(false, |owner_info| matches!(owner_info.determinism, Determinism::Enforced)) } } @@ -792,9 +870,9 @@ mod tests { let wasm = wat::parse_str(wat).unwrap(); let schedule = crate::Schedule::default(); let executable = if skip_checks { - PrefabWasmModule::::from_code_unchecked(wasm, &schedule, ALICE)? + WasmBlob::::from_code_unchecked(wasm, &schedule, ALICE)? } else { - PrefabWasmModule::::from_code( + WasmBlob::::from_code( wasm, &schedule, ALICE, @@ -3291,25 +3369,6 @@ mod tests { execute(CODE, vec![], &mut mock_ext).unwrap(); } - /// Code with deprecated functions cannot be uploaded or instantiated. However, we - /// need to make sure that it still can be re-instrumented. - #[test] - fn can_reinstrument_deprecated() { - const CODE_RANDOM: &str = r#" -(module - (import "seal0" "random" (func $seal_random (param i32 i32 i32 i32))) - (func (export "call")) - (func (export "deploy")) -) - "#; - let wasm = wat::parse_str(CODE_RANDOM).unwrap(); - let schedule = crate::Schedule::::default(); - #[cfg(not(feature = "runtime-benchmarks"))] - assert_err!(execute(CODE_RANDOM, vec![], MockExt::default()), >::CodeRejected); - self::prepare::reinstrument::(&wasm, &schedule, Determinism::Enforced) - .unwrap(); - } - /// This test check that an unstable interface cannot be deployed. In case of runtime /// benchmarks we always allow unstable interfaces. This is why this test does not /// work when this feature is enabled. diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 6f1a591775e3e..a4054cf7fb94d 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -21,10 +21,9 @@ use crate::{ chain_extension::ChainExtension, + ensure, storage::meter::Diff, - wasm::{ - runtime::AllowDeprecatedInterface, Determinism, Environment, OwnerInfo, PrefabWasmModule, - }, + wasm::{runtime::AllowDeprecatedInterface, Determinism, Environment, OwnerInfo, WasmBlob}, AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, }; use codec::{Encode, MaxEncodedLen}; @@ -56,6 +55,7 @@ pub enum TryInstantiate { } /// The inner deserialized module is valid (this is Guaranteed by `new` method). +/// TODO: get rid of parity_wasm dependency here struct ContractModule(elements::Module); impl ContractModule { @@ -280,6 +280,7 @@ impl ContractModule { }, } } + // TODO drop this as we use it now from wasmi Ok(imported_mem_type) } @@ -287,7 +288,7 @@ impl ContractModule { elements::serialize(self.0).map_err(|_| "error serializing contract module") } } - +// TODO: remove this once got rid of parity_wasm dep fn get_memory_limits( module: Option<&MemoryType>, schedule: &Schedule, @@ -324,7 +325,7 @@ fn validate( schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result<(Vec, (u32, u32)), (DispatchError, &'static str)> +) -> Result, (DispatchError, &'static str)> where E: Environment<()>, T: Config, @@ -361,7 +362,7 @@ where (Error::::CodeRejected.into(), "validation of new code failed") })?; - let (code, (initial, maximum)) = (|| { + let code = (|| { let contract_module = ContractModule::new(code)?; contract_module.scan_exports()?; contract_module.ensure_no_internal_memory()?; @@ -370,12 +371,12 @@ where 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)?; - - let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + /// TODO: it is done here just to check that module imported memory satisfies the schedule + let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; - Ok((code, memory_limits)) + Ok(code) })() .map_err(|msg: &str| { log::debug!(target: LOG_TARGET, "new code rejected: {}", msg); @@ -390,68 +391,55 @@ where // We don't actually ever run any code so we can get away with a minimal stack which // reduces the amount of memory that needs to be zeroed. let stack_limits = StackLimits::new(1, 1, 0).expect("initial <= max; qed"); - PrefabWasmModule::::instantiate::( - &code, - (), - (initial, maximum), - stack_limits, - AllowDeprecatedInterface::No, - ) - .map_err(|err| { + WasmBlob::::instantiate::(&code, (), stack_limits, AllowDeprecatedInterface::No) + .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); (Error::::CodeRejected.into(), "new code rejected on wasmi instantiation") })?; } - Ok((code, (initial, maximum))) + Ok(code) } -/// Loads the given module given in `code` and performs some checks on it. +/// Validates the given binary `code` is a valid Wasm module satisfying following constraints: /// -/// The checks are: +/// - the module doesn't define an internal memory instance; +/// - imported memory (if any) doesn't reserve more memory than permitted by the `schedule`; +/// - all imported functions from the external environment matches defined by `env` module. /// -/// - the provided code is a valid wasm module -/// - the module doesn't define an internal memory instance -/// - imported memory (if any) doesn't reserve more memory than permitted by the `schedule` -/// - all imported functions from the external environment matches defined by `env` module +/// TODO: re-phrase +/// Also constructs contract owner_info (metadata?) by calculating the deposit. pub fn prepare( code: CodeVec, schedule: &Schedule, owner: AccountIdOf, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result, (DispatchError, &'static str)> +) -> Result<(CodeVec, OwnerInfo), (DispatchError, &'static str)> where E: Environment<()>, T: Config, { - let (code, (initial, maximum)) = - validate::(code.as_ref(), schedule, determinism, try_instantiate)?; - - let code_len = code.len(); - - let mut module = PrefabWasmModule { - initial, - maximum, - code: code.clone().try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, - code_hash: T::Hashing::hash(&code), - owner_info: None, - determinism, - }; + let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; + + let err = |_| (>::CodeTooLarge.into(), "preparation enlarged the code excessively"); - // We need to add the sizes of the `#[codec(skip)]` fields which are stored in different - // storage items. This is also why we have `3` items added and not only one. - let bytes_added = module - .encoded_size() - .saturating_add(code_len) - .saturating_add(>::max_encoded_len()) as u32; - let deposit = Diff { bytes_added, items_added: 3, ..Default::default() } + let changed_code: CodeVec = checked_code.try_into().map_err(err)?; + /// TODO: either remove this, or if the code rally changes, explain in the docs, why + ensure!( + code == changed_code, + (>::CodeTooLarge.into(), "preparation altered the code") + ); + + // Calculate deposit for storing contract code and owner info in different storage items. + let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; + let deposit = Diff { bytes_added, items_added: 2, ..Default::default() } .update_contract::(None) .charge_or_zero(); - module.owner_info = Some(OwnerInfo { owner, deposit, refcount: 0 }); + let owner_info = OwnerInfo { owner, deposit, determinism, refcount: 0 }; - Ok(module) + Ok((code, owner_info)) } /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. @@ -469,22 +457,22 @@ pub mod benchmarking { code: Vec, schedule: &Schedule, owner: AccountIdOf, - ) -> Result, &'static str> { + ) -> Result<(CodeVec, OwnerInfo), &'static str> { + /// TODO: remove let contract_module = ContractModule::new(&code, schedule)?; - let memory_limits = get_memory_limits(contract_module.scan_imports(&[])?, schedule)?; - Ok(PrefabWasmModule { - initial: memory_limits.0, - maximum: memory_limits.1, - code_hash: T::Hashing::hash(&code), - code: contract_module.into_wasm_code()?.try_into().map_err(|_| "Code too large")?, - owner_info: Some(OwnerInfo { - owner, - // this is a helper function for benchmarking which skips deposit collection - deposit: Default::default(), - refcount: 0, - }), + /// TODO: it is done here just to check that module imported memory satisfies the schedule + let _memory_limits = get_memory_limits(contract_module.scan_imports(&[])?, schedule)?; + + let code = code.try_into().map_err(|_| "Code too large!")?; + let owner_info = OwnerInfo { + owner, + // this is a helper function for benchmarking which skips deposit collection + deposit: Default::default(), + refcount: 0, determinism: Determinism::Enforced, - }) + }; + + Ok(code, owner_info) } } @@ -499,9 +487,9 @@ mod tests { use pallet_contracts_proc_macro::define_env; use std::fmt; - impl fmt::Debug for PrefabWasmModule { + impl fmt::Debug for CodeVec { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "PreparedContract {{ .. }}") + write!(f, "ContractCode {{ .. }}") } } From 2010ff7c729daeeb96bb449deac4cc1c37bfcc7f Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 9 Jun 2023 17:30:46 +0300 Subject: [PATCH 10/70] move from CodeStorage&PrefabWasmModule to PristineCode&WasmBlob --- frame/contracts/src/exec.rs | 12 +- frame/contracts/src/lib.rs | 15 +-- frame/contracts/src/wasm/mod.rs | 193 +++++++++------------------- frame/contracts/src/wasm/prepare.rs | 63 ++++----- 4 files changed, 104 insertions(+), 179 deletions(-) diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 6b2c089672997..d601546a2346c 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -362,11 +362,12 @@ pub trait Executable: Sized { ext: &mut E, function: &ExportedFunction, input_data: Vec, + schedule: &Schedule, reftime_limit: u64, ) -> ExecResult; /// The code hash of the executable. - fn code_hash(&self) -> &CodeHash; + fn code_hash(&self) -> CodeHash; /// Size of the conract code in bytes. fn code_len(&self) -> u32; @@ -765,11 +766,11 @@ where FrameArgs::Instantiate { sender, nonce, executable, salt, input_data } => { let account_id = Contracts::::contract_address( &sender, - executable.code_hash(), + &executable.code_hash(), input_data, salt, ); - let contract = ContractInfo::new(&account_id, nonce, *executable.code_hash())?; + let contract = ContractInfo::new(&account_id, nonce, executable.code_hash())?; ( account_id, contract, @@ -851,7 +852,7 @@ where let frame = self.top_frame(); let entry_point = frame.entry_point; let delegated_code_hash = - if frame.delegate_caller.is_some() { Some(*executable.code_hash()) } else { None }; + if frame.delegate_caller.is_some() { Some(executable.code_hash()) } else { None }; let do_transaction = || { // We need to charge the storage deposit before the initial transfer so that // it can create the account in case the initial transfer is < ed. @@ -873,11 +874,12 @@ where // Take the ref_time part of the gas_left from the current frame. let frame = self.top_frame(); let reftime_left = frame.nested_gas.gas_left().ref_time(); + let schedule = &self.schedule().clone(); // Call into the Wasm blob. // We pass `reftime_left` into the execution engine to initialize its gas metering. let output = executable - .execute(self, &entry_point, input_data, reftime_left) + .execute(self, &entry_point, input_data, schedule, reftime_left) .map_err(|e| ExecError { error: e.error, origin: ErrorOrigin::Callee })?; // Sync this frame's gas meter with the engine's one. diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 67a46c63e5d24..00cfc011f686f 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -101,7 +101,7 @@ use crate::{ exec::{AccountIdOf, ErrorOrigin, ExecError, Executable, Key, Stack as ExecStack}, gas::GasMeter, storage::{meter::Meter as StorageMeter, ContractInfo, DeletionQueueManager}, - wasm::{OwnerInfo, PrefabWasmModule, TryInstantiate, WasmBlob}, + wasm::{OwnerInfo, TryInstantiate, WasmBlob}, weights::WeightInfo, }; use codec::{Codec, Decode, Encode, HasCompact}; @@ -929,12 +929,6 @@ pub mod pallet { #[pallet::storage] pub(crate) type PristineCode = StorageMap<_, Identity, CodeHash, CodeVec>; - /// A mapping between an original code hash and Wasm code, ready for execution. - /// TODO: delete - #[pallet::storage] - pub(crate) type CodeStorage = - StorageMap<_, Identity, CodeHash, PrefabWasmModule>; - /// A mapping between an original code hash and its owner information. #[pallet::storage] pub(crate) type OwnerInfoOf = StorageMap<_, Identity, CodeHash, OwnerInfo>; @@ -1217,7 +1211,7 @@ impl Invokable for InstantiateInput { let origin = contract_origin.account_id()?; let (extra_deposit, executable) = match &self.code { Code::Upload(binary) => { - let (executable, owner_info) = WasmBlob::from_code( + let executable = WasmBlob::from_code( binary.clone(), &schedule, origin.clone(), @@ -1231,6 +1225,7 @@ impl Invokable for InstantiateInput { .map(|buffer| buffer.try_extend(&mut msg.bytes())); err })?; + let owner_info = executable.owner_info.clone(); // The open deposit will be charged during execution when the // uploaded module does not already exist. This deposit is not part of the // storage meter because it is not transferred to the contract but @@ -1422,11 +1417,11 @@ impl Pallet { let module = WasmBlob::from_code(code, &schedule, origin, determinism, TryInstantiate::Instantiate) .map_err(|(err, _)| err)?; - let deposit = module.open_deposit(); + let deposit = module.open_deposit(module.owner_info.clone()); if let Some(storage_deposit_limit) = storage_deposit_limit { ensure!(storage_deposit_limit >= deposit, >::StorageDepositLimitExhausted); } - let result = CodeUploadReturnValue { code_hash: *module.code_hash(), deposit }; + let result = CodeUploadReturnValue { code_hash: module.code_hash(), deposit }; module.store()?; Ok(result) } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index e649d4a4ffa86..a8cd74cc90895 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -20,7 +20,6 @@ mod prepare; mod runtime; -mod parse; #[cfg(doc)] pub use crate::wasm::runtime::api_doc; @@ -39,10 +38,9 @@ pub use crate::wasm::{ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, gas::{GasMeter, Token}, - wasm::prepare::IMPORT_MODULE_MEMORY, weights::WeightInfo, - AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeStorage, CodeVec, Config, Error, Event, - OwnerInfoOf, Pallet, PristineCode, Schedule, Weight, LOG_TARGET, + AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeVec, Config, Error, Event, OwnerInfoOf, + Pallet, PristineCode, Schedule, Weight, LOG_TARGET, }; use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ @@ -51,49 +49,25 @@ use frame_support::{ traits::ReservableCurrency, }; use sp_core::Get; -use sp_runtime::RuntimeDebug; +use sp_runtime::{traits::Hash, RuntimeDebug}; use sp_std::prelude::*; use wasmi::{ - Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, - MemoryType, Module, StackLimits, Store, + Config as WasmiConfig, Engine, FuelConsumptionMode, Instance, Linker, Memory, MemoryType, + Module, StackLimits, Store, }; -/// A prepared wasm module ready for execution. -/// -/// # Note -/// -/// This data structure is immutable once created and stored. -#[derive(Clone, Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] +/// TODO: docs +#[derive(Encode, Decode, scale_info::TypeInfo)] #[codec(mel_bound())] #[scale_info(skip_type_params(T))] -pub struct PrefabWasmModule { - /// Initial memory size of a contract's sandbox. - #[codec(compact)] - initial: u32, - /// The maximum memory size of a contract's sandbox. - #[codec(compact)] - maximum: u32, - /// Module's code. +pub struct WasmBlob { code: CodeVec, - /// A code that might contain non deterministic features and is therefore never allowed - /// to be run on chain. Specifically this code can never be instantiated into a contract - /// and can just be used through a delegate call. - determinism: Determinism, - /// The code hash of the stored code. - /// - /// As the map key there is no need to store the hash in the value, too. It is set manually - /// when loading the module from storage. - #[codec(skip)] - code_hash: CodeHash, // This isn't needed for contract execution and does not get loaded from storage by default. // It is `Some` if and only if this struct was generated from code. #[codec(skip)] - owner_info: Option>, + pub owner_info: OwnerInfo, } -/// TODO: docs -pub struct WasmBlob(CodeVec); - /// Contract metadata, such as: /// - owner of the contract, /// - storage deposit amount, @@ -174,50 +148,38 @@ impl Token for CodeToken { } } -impl From> for WasmBlob { - fn from(code: CodeVec) -> Self { - Self(code) - } -} - impl WasmBlob { /// Create the module by checking the `code`. /// /// This does **not** store the module. For this one need to either call [`Self::store`] /// or [`::execute`][`Executable::execute`]. - /// TODO: rename to validate? - /// TODO: move to ContractCode trait pub fn from_code( code: Vec, schedule: &Schedule, owner: AccountIdOf, determinism: Determinism, try_instantiate: TryInstantiate, - ) -> Result<(Self, OwnerInfo), (DispatchError, &'static str)> { - let (code, owner_info) = prepare::prepare::( - // TODO: this preparation is specific to wasm + ) -> Result { + prepare::prepare::( code.try_into().map_err(|_| (>::CodeTooLarge.into(), ""))?, schedule, owner, determinism, try_instantiate, - )?; - Ok((code.into(), owner_info)) // TODO: refactor + ) } /// Store the code without instantiating it. /// /// Otherwise the code is stored when [`::execute`][`Executable::execute`] /// is called. - /// TODO: move to ContractCode trait as default impl - pub fn store(self, owner_info: OwnerInfo) -> DispatchResult { - Self::store_code(self, owner_info, false) + pub fn store(self) -> DispatchResult { + Self::store_code(self, false) } /// Remove the code from storage and refund the deposit to its owner. /// /// Applies all necessary checks before removing the code. - /// TODO: move to ContractCode trait default impl pub fn remove(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { Self::try_remove_code(origin, code_hash) } @@ -226,7 +188,6 @@ impl WasmBlob { /// /// Returns `0` if the module is already in storage and hence no deposit will /// be charged when storing it. - /// TODO: move to ContractCode trait default impl pub fn open_deposit(&self, owner_info: OwnerInfo) -> BalanceOf { >::try_get(self.code_hash()).map_or(owner_info.deposit, |_| 0u32.into()) } @@ -234,19 +195,19 @@ impl WasmBlob { /// Creates and returns an instance of the supplied code. /// /// This is either used for later executing a contract or for validation of a contract. - /// When validating we pass `()` as `host_state`. Please note that such a dummy instance must + /// When validating we pass `()` a `host_state`. Please note that such a dummy instance must /// **never** be called/executed since it will panic the executor. - /// TODO: move to ContractCode trait pub fn instantiate( code: &[u8], host_state: H, + memory_limits: (u32, u32), stack_limits: StackLimits, allow_deprecated: AllowDeprecatedInterface, ) -> Result<(Store, Memory, Instance), wasmi::Error> where E: Environment, { - let mut config = WasmiConfig::default(); // TODO: this method is specific to wasm + let mut config = WasmiConfig::default(); config .set_stack_limits(stack_limits) .wasm_multi_value(false) @@ -271,18 +232,15 @@ impl WasmBlob { allow_deprecated, )?; - // TODO: implement - let mem_limits = Self::get_memory_limits(code) - .map_err(|_| wasmi::errors::MemoryError::InvalidMemoryType)?; - - // TODO: do we really need this? - // Here we allocate this memory in the _store_. It allocates _inital_ val, but allows it to grow up - // to max number of mem pages, if neccesary. - let memory = Memory::new(&mut store, MemoryType::new(mem_limits.0, Some(mem_limits.1))?).expect( - "We checked the limits versus our `Schedule`, - which specifies the max amount of memory pages - well below u16::MAX; qed", - ); + // Here we allocate this memory in the _store_. It allocates _inital_ val, but allows it to + // grow up to max number of mem pages, if neccesary. + let memory = + Memory::new(&mut store, MemoryType::new(memory_limits.0, Some(memory_limits.1))?) + .expect( + "We checked the limits versus our `Schedule`, + which specifies the max amount of memory pages + well below u16::MAX; qed", + ); linker .define("env", "memory", memory) .expect("We just created the linker. It has no define with this name attached; qed"); @@ -292,58 +250,24 @@ impl WasmBlob { Ok((store, memory, instance)) } - fn get_memory_limits(code: &[u8]) -> Result<(u32, u32), &'static str> { - validate::mem_limits(code) -// -- move / rewrite to wasm::validate - let mut mem_type = None; - for import in *imports { - match *import.ty() { - ExternType::Memory(ref memory_type) => { - 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(memory_type); - break - }, - _ => continue, - } - } - - // We don't need to check here if module memory limits satisfy the schedule, - // as this is already being done during the code uploading. - // If none memory imported then set its limits to (0,0). - // Any access to it will lead to out of bounds trap. - let get_limits = mem_type.map_or(Default::default(), |mt| { - ( - mt.initial_pages().0, - mt.maximum_pages().ok_or("Maximum number of pages should be always declared.")?.0, - ) - }); - Ok(get_limits) - } - /// Put the module blob into storage. /// /// Increments the refcount of the in-storage `prefab_module` if it already exists in storage /// under the specified `code_hash`. - /// TODO: move to ContractCode trait default impl - fn store_code(code: Self, owner_info: OwnerInfo, instantiated: bool) -> DispatchResult { - let code_hash = Self::code_hash(&code); // TODO: move to impl + fn store_code(mut module: Self, instantiated: bool) -> DispatchResult { + let code_hash = &module.code_hash(); >::mutate(code_hash, |stored_owner_info| { match stored_owner_info { // Instantiate existing contract. Some(stored_owner_info) if instantiated => { stored_owner_info.refcount = stored_owner_info.refcount.checked_add(1).expect( " - refcount is 64bit. Generating this overflow would require to store - _at least_ 18 exabyte of data assuming that a contract consumes only - one byte of data. Any node would run out of storage space before hitting - this overflow; - qed - ", + refcount is 64bit. Generating this overflow would require to store + _at least_ 18 exabyte of data assuming that a contract consumes only + one byte of data. Any node would run out of storage space before hitting + this overflow; + qed + ", ); Ok(()) }, @@ -355,11 +279,11 @@ impl WasmBlob { None => { // This `None` case happens only in freshly uploaded modules. This means that // the `owner` is always the origin of the current transaction. - T::Currency::reserve(&owner_info.owner, owner_info.deposit) + T::Currency::reserve(&module.owner_info.owner, module.owner_info.deposit) .map_err(|_| >::StorageDepositNotEnoughFunds)?; - owner_info.refcount = if instantiated { 1 } else { 0 }; - >::insert(&code_hash, code.0); - *stored_owner_info = Some(owner_info); + module.owner_info.refcount = if instantiated { 1 } else { 0 }; + >::insert(code_hash, module.code); + *stored_owner_info = Some(module.owner_info); >::deposit_event( vec![*code_hash], Event::CodeStored { code_hash: *code_hash }, @@ -371,7 +295,6 @@ impl WasmBlob { } /// Try to remove code together with all associated information. - /// TODO: move to ContractCode trait default impl fn try_remove_code(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { >::try_mutate_exists(&code_hash, |existing| { if let Some(owner_info) = existing { @@ -389,7 +312,6 @@ impl WasmBlob { } /// Load code with the given code hash. - /// TODO: move to ContractCode trait default impl fn load_code( code_hash: CodeHash, gas_meter: &mut GasMeter, @@ -410,7 +332,6 @@ impl WasmBlob { /// /// A contract whose refcount dropped to zero isn't automatically removed. A `remove_code` /// transaction must be submitted by the original uploader to do so. - /// TODO: move to ContractCode trait default impl fn decrement_refcount(code_hash: CodeHash) { >::mutate(code_hash, |existing| { if let Some(info) = existing { @@ -424,7 +345,6 @@ impl WasmBlob { /// # Errors /// /// [`Error::CodeNotFound`] is returned if the specified `code_hash` does not exist. - /// TODO: move to ContractCode trait default impl fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { >::mutate(code_hash, |existing| -> Result<(), DispatchError> { if let Some(info) = existing { @@ -436,7 +356,6 @@ impl WasmBlob { }) } /// See [`Self::from_code_unchecked`]. - /// TODO: move to ContractCode trait default impl #[cfg(feature = "runtime-benchmarks")] pub fn store_code_unchecked( code: Vec, @@ -454,14 +373,12 @@ impl WasmBlob { /// This is useful for benchmarking where we don't want validation of the module to skew /// our results. This also does not collect any deposit from the `owner`. Also useful /// during testing when we want to deploy codes that do not pass the instantiation checks. - /// TODO: move to ContractCode trait #[cfg(any(test, feature = "runtime-benchmarks"))] fn from_code_unchecked( code: Vec, schedule: &Schedule, owner: T::AccountId, - ) -> Result<(Self, OwnerInfo), DispatchError> { - // TODO: this is wasm-specific + ) -> Result { prepare::benchmarking::prepare(code, schedule, owner) .map_err::(Into::into) } @@ -475,18 +392,21 @@ impl OwnerInfo { } } -// TODO -// WasmModule : Stored -// impl Executable for Stored -// impl Executable for WasmModule - impl Executable for WasmBlob { fn from_storage( code_hash: CodeHash, _schedule: &Schedule, gas_meter: &mut GasMeter, ) -> Result { - Self::load_code(code_hash, gas_meter).map(|code| code.into()) + let code = Self::load_code(code_hash, gas_meter)?; + let code_hash = T::Hashing::hash(&code); + // We store owner info at the same time as contract code, + // therefore this query shouldn't really fail. + // We consider its failure equal to CodeNotFound, as contract code without + // owner_info is unusable in this pallet. + let owner_info = >::get(code_hash).ok_or(Error::::CodeNotFound)?; + + Ok(Self { code, owner_info }) } fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { @@ -502,13 +422,20 @@ impl Executable for WasmBlob { ext: &mut E, function: &ExportedFunction, input_data: Vec, + schedule: &Schedule, reftime_limit: u64, ) -> ExecResult { let runtime = Runtime::new(ext, input_data); + let code = self.code.as_slice(); + // Extract memory limits from the module. + let contract_module = prepare::ContractModule::new(code)?; + let memory_limits = + prepare::get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + // Instantiate the Wasm module to the engine. let (mut store, memory, instance) = Self::instantiate::( - self.0.as_slice(), + code, runtime, - // TODO del (self.initial, self.maximum), + memory_limits, StackLimits::default(), match function { ExportedFunction::Constructor => AllowDeprecatedInterface::No, @@ -552,12 +479,12 @@ impl Executable for WasmBlob { store.into_data().to_execution_result(result, reftime_consumed) } - fn code_hash(&self) -> &CodeHash { - T::Hashing::hash(self) + fn code_hash(&self) -> CodeHash { + T::Hashing::hash(&self.code) } fn code_len(&self) -> u32 { - self.len() as u32 + self.code.len() as u32 } fn is_deterministic(&self) -> bool { diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index a4054cf7fb94d..434f7145d9bf5 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -26,8 +26,8 @@ use crate::{ wasm::{runtime::AllowDeprecatedInterface, Determinism, Environment, OwnerInfo, WasmBlob}, AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, }; -use codec::{Encode, MaxEncodedLen}; -use sp_runtime::{traits::Hash, DispatchError}; +use codec::MaxEncodedLen; +use sp_runtime::DispatchError; use sp_std::prelude::*; use wasm_instrument::parity_wasm::elements::{ self, External, Internal, MemoryType, Type, ValueType, @@ -54,17 +54,16 @@ pub enum TryInstantiate { Skip, } -/// The inner deserialized module is valid (this is Guaranteed by `new` method). -/// TODO: get rid of parity_wasm dependency here -struct ContractModule(elements::Module); +/// 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. - fn new(code: &[u8]) -> Result { - let module = elements::deserialize_buffer(code).map_err(|_| "Can't decode wasm code")?; + 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. @@ -242,7 +241,7 @@ impl ContractModule { /// and enforces and returns the memory type declared by the contract if any. /// /// `import_fn_banlist`: list of function names that are disallowed to be imported - fn scan_imports( + pub fn scan_imports( &self, import_fn_banlist: &[&[u8]], ) -> Result, &'static str> { @@ -280,7 +279,7 @@ impl ContractModule { }, } } - // TODO drop this as we use it now from wasmi + Ok(imported_mem_type) } @@ -288,8 +287,8 @@ impl ContractModule { elements::serialize(self.0).map_err(|_| "error serializing contract module") } } -// TODO: remove this once got rid of parity_wasm dep -fn get_memory_limits( + +pub fn get_memory_limits( module: Option<&MemoryType>, schedule: &Schedule, ) -> Result<(u32, u32), &'static str> { @@ -298,20 +297,17 @@ fn get_memory_limits( let limits = memory_type.limits(); match (limits.initial(), limits.maximum()) { (initial, Some(maximum)) if initial > maximum => - Err("Requested initial number of pages should not exceed the requested 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 pages should not exceed the configured maximum."), + Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule."), (initial, Some(maximum)) => Ok((initial, maximum)), - (_, None) => { - // Maximum number of pages should be always declared. - // This isn't a hard requirement and can be treated as a maximum set - // to configured maximum. - Err("Maximum number of pages should be always declared.") + (initial, None) => { + Ok((initial, schedule.limits.memory_pages)) }, } } else { - // If none memory imported then just create an empty placeholder. - // Any access to it will lead to out of bounds trap. + // None memory imported in the Wasm module, + // any access to it will lead to out of bounds trap. Ok((0, 0)) } } @@ -371,7 +367,7 @@ where 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)?; - /// TODO: it is done here just to check that module imported memory satisfies the schedule + // We do it here just to check that module imported memory satisfies the Schedule limits let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; @@ -391,8 +387,14 @@ where // We don't actually ever run any code so we can get away with a minimal stack which // reduces the amount of memory that needs to be zeroed. let stack_limits = StackLimits::new(1, 1, 0).expect("initial <= max; qed"); - WasmBlob::::instantiate::(&code, (), stack_limits, AllowDeprecatedInterface::No) - .map_err(|err| { + WasmBlob::::instantiate::( + &code, + (), + Default::default(), + stack_limits, + AllowDeprecatedInterface::No, + ) + .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); (Error::::CodeRejected.into(), "new code rejected on wasmi instantiation") })?; @@ -415,7 +417,7 @@ pub fn prepare( owner: AccountIdOf, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result<(CodeVec, OwnerInfo), (DispatchError, &'static str)> +) -> Result, (DispatchError, &'static str)> where E: Environment<()>, T: Config, @@ -425,13 +427,13 @@ where let err = |_| (>::CodeTooLarge.into(), "preparation enlarged the code excessively"); let changed_code: CodeVec = checked_code.try_into().map_err(err)?; - /// TODO: either remove this, or if the code rally changes, explain in the docs, why + // TODO: either remove this, or if the code really changes, explain in the docs, why ensure!( code == changed_code, (>::CodeTooLarge.into(), "preparation altered the code") ); - // Calculate deposit for storing contract code and owner info in different storage items. + // Calculate deposit for storing contract code and owner info in two different storage items. let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; let deposit = Diff { bytes_added, items_added: 2, ..Default::default() } .update_contract::(None) @@ -439,7 +441,7 @@ where let owner_info = OwnerInfo { owner, deposit, determinism, refcount: 0 }; - Ok((code, owner_info)) + Ok(WasmBlob { code, owner_info }) } /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. @@ -457,10 +459,9 @@ pub mod benchmarking { code: Vec, schedule: &Schedule, owner: AccountIdOf, - ) -> Result<(CodeVec, OwnerInfo), &'static str> { - /// TODO: remove + ) -> Result<(WasmBlob, OwnerInfo), &'static str> { let contract_module = ContractModule::new(&code, schedule)?; - /// TODO: it is done here just to check that module imported memory satisfies the schedule + /// We do this here just to check that module's memory import satisfies the schedule let _memory_limits = get_memory_limits(contract_module.scan_imports(&[])?, schedule)?; let code = code.try_into().map_err(|_| "Code too large!")?; @@ -472,7 +473,7 @@ pub mod benchmarking { determinism: Determinism::Enforced, }; - Ok(code, owner_info) + Ok(Self { code, owner_info }) } } From 100cdcdf67edb4105e0e9b5bd74ee699f61c8a44 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 9 Jun 2023 23:40:06 +0300 Subject: [PATCH 11/70] refactor: no reftime_limit&schedule passes, no CodeStorage --- Cargo.lock | 2 +- frame/contracts/primitives/src/lib.rs | 2 - frame/contracts/proc-macro/src/lib.rs | 8 +- frame/contracts/src/benchmarking/mod.rs | 112 +----------------------- frame/contracts/src/exec.rs | 17 +--- frame/contracts/src/tests.rs | 20 ++--- frame/contracts/src/wasm/mod.rs | 36 +++++--- frame/contracts/src/wasm/prepare.rs | 12 +-- frame/contracts/src/wasm/runtime.rs | 21 ++--- 9 files changed, 54 insertions(+), 176 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 677d479a6103c..65da4273333a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6326,7 +6326,7 @@ dependencies = [ "sp-runtime", "sp-std", "wasm-instrument 0.4.0", - "wasmi 0.29.0", + "wasmi", "wasmparser-nostd", "wat", ] diff --git a/frame/contracts/primitives/src/lib.rs b/frame/contracts/primitives/src/lib.rs index b7b1187da927f..3f830ca92486d 100644 --- a/frame/contracts/primitives/src/lib.rs +++ b/frame/contracts/primitives/src/lib.rs @@ -125,8 +125,6 @@ pub struct ExecReturnValue { pub flags: ReturnFlags, /// Buffer passed along by `seal_return`. Empty when `seal_return` was never called. pub data: Vec, - /// Gas consumed during the execution. This is returned from the engine. - pub reftime_consumed: u64, } impl ExecReturnValue { diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 0d4fd86587394..5616ffbc8b5d0 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -680,8 +680,8 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) quote! { let __gas_before__ = { let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); - let reftime_consumed = engine_consumed.saturating_mul(::Schedule::get().instruction_weights.base as u64); - __caller__.data_mut().ext.gas_meter_mut().charge_fuel(reftime_consumed).map_err(#into_trap).map_err(#into_host)?.ref_time() + let reftime_consumed = engine_consumed.saturating_mul(__caller__.data_mut().ext().schedule().instruction_weights.base as u64); + __caller__.data_mut().ext().gas_meter_mut().charge_fuel(reftime_consumed).map_err(#into_trap).map_err(#into_host)?.ref_time() }; } } else { @@ -689,9 +689,9 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) }; let sync_gas_after = if expand_blocks { quote! { - let gas_after = __caller__.data().ext.gas_meter().gas_left().ref_time(); + let gas_after = __caller__.data_mut().ext().gas_meter().gas_left().ref_time(); let host_consumed = __gas_before__.saturating_sub(gas_after); - let fuel_consumed = host_consumed.checked_div(::Schedule::get().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; + let fuel_consumed = host_consumed.checked_div(__caller__.data_mut().ext().schedule().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; __caller__.consume_fuel(fuel_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#into_host)?; } } else { diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index 81b81d4d1d06e..1473d5e20d566 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -162,16 +162,12 @@ where /// Returns `true` iff all storage entries related to code storage exist. fn code_exists(hash: &CodeHash) -> bool { - >::contains_key(hash) && - >::contains_key(&hash) && - >::contains_key(&hash) + >::contains_key(hash) && >::contains_key(&hash) } /// Returns `true` iff no storage entry related to code storage exist. fn code_removed(hash: &CodeHash) -> bool { - !>::contains_key(hash) && - !>::contains_key(&hash) && - !>::contains_key(&hash) + !>::contains_key(hash) && !>::contains_key(&hash) } } @@ -219,110 +215,6 @@ benchmarks! { ContractInfo::::process_deletion_queue_batch(Weight::MAX) } -<<<<<<< HEAD - // This benchmarks the additional weight that is charged when a contract is executed the - // first time after a new schedule was deployed: For every new schedule a contract needs - // to re-run the instrumentation once. - #[pov_mode = Measured] - reinstrument { - let c in 0 .. Perbill::from_percent(49).mul_ceil(T::MaxCodeLen::get()); - let WasmModule { code, hash, .. } = WasmModule::::sized(c, Location::Call); - Contracts::::store_code_raw(code, whitelisted_caller())?; - let schedule = T::Schedule::get(); - let mut gas_meter = GasMeter::new(Weight::MAX); - let mut module = PrefabWasmModule::from_storage(hash, &schedule, &mut gas_meter)?; - }: { - Contracts::::reinstrument_module(&mut module, &schedule)?; -======= - // This benchmarks the v9 migration step. (update codeStorage) - #[pov_mode = Measured] - v9_migration_step { - let c in 0 .. Perbill::from_percent(49).mul_ceil(T::MaxCodeLen::get()); - v9::store_old_dummy_code::(c as usize); - let mut m = v9::Migration::::default(); - }: { - m.step(); - } - - // This benchmarks the v10 migration step. (use dedicated deposit_account) - #[pov_mode = Measured] - v10_migration_step { - let contract = >::with_caller( - whitelisted_caller(), WasmModule::dummy(), vec![], - )?; - - v10::store_old_contrat_info::(contract.account_id.clone(), contract.info()?); - let mut m = v10::Migration::::default(); - }: { - m.step(); - } - - // This benchmarks the v11 migration step. - #[pov_mode = Measured] - v11_migration_step { - let k in 0 .. 1024; - v11::fill_old_queue::(k as usize); - let mut m = v11::Migration::::default(); - }: { - m.step(); - } - - // This benchmarks the weight of executing Migration::migrate to execute a noop migration. - #[pov_mode = Measured] - migration_noop { - assert_eq!(StorageVersion::get::>(), 2); - }: { - Migration::::migrate(Weight::MAX) - } verify { - assert_eq!(StorageVersion::get::>(), 2); - } - - // This benchmarks the weight of executing Migration::migrate when there are no migration in progress. - #[pov_mode = Measured] - migrate { - StorageVersion::new(0).put::>(); - as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade(); - let origin: RawOrigin<::AccountId> = RawOrigin::Signed(whitelisted_caller()); - }: { - >::migrate(origin.into(), Weight::MAX).unwrap() - } verify { - assert_eq!(StorageVersion::get::>(), 1); - } - - // This benchmarks the weight of running on_runtime_upgrade when there are no migration in progress. - #[pov_mode = Measured] - on_runtime_upgrade_noop { - assert_eq!(StorageVersion::get::>(), 2); - }: { - as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade() - } verify { - assert!(MigrationInProgress::::get().is_none()); - } - - // This benchmarks the weight of running on_runtime_upgrade when there is a migration in progress. - #[pov_mode = Measured] - on_runtime_upgrade_in_progress { - StorageVersion::new(0).put::>(); - let v = vec![42u8].try_into().ok(); - MigrationInProgress::::set(v.clone()); - }: { - as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade() - } verify { - assert!(MigrationInProgress::::get().is_some()); - assert_eq!(MigrationInProgress::::get(), v); - } - - // This benchmarks the weight of running on_runtime_upgrade when there is a migration to process. - #[pov_mode = Measured] - on_runtime_upgrade { - StorageVersion::new(0).put::>(); - }: { - as frame_support::traits::OnRuntimeUpgrade>::on_runtime_upgrade() - } verify { - assert!(MigrationInProgress::::get().is_some()); ->>>>>>> 6b2c375677... address review comments - } - // This benchmarks the v9 migration step. (update codeStorage) #[pov_mode = Measured] v9_migration_step { diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index d601546a2346c..ef5e23d5ba50e 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -362,8 +362,6 @@ pub trait Executable: Sized { ext: &mut E, function: &ExportedFunction, input_data: Vec, - schedule: &Schedule, - reftime_limit: u64, ) -> ExecResult; /// The code hash of the executable. @@ -871,21 +869,12 @@ where // Every non delegate call or instantiate also optionally transfers the balance. self.initial_transfer()?; - // Take the ref_time part of the gas_left from the current frame. - let frame = self.top_frame(); - let reftime_left = frame.nested_gas.gas_left().ref_time(); - let schedule = &self.schedule().clone(); - // Call into the Wasm blob. // We pass `reftime_left` into the execution engine to initialize its gas metering. let output = executable - .execute(self, &entry_point, input_data, schedule, reftime_left) + .execute(self, &entry_point, input_data) .map_err(|e| ExecError { error: e.error, origin: ErrorOrigin::Callee })?; - // Sync this frame's gas meter with the engine's one. - let frame = self.top_frame_mut(); - frame.nested_gas.charge_fuel(output.reftime_consumed)?; - // Avoid useless work that would be reverted anyways. if output.did_revert() { return Ok(output) @@ -1644,8 +1633,8 @@ mod tests { } } - fn code_hash(&self) -> &CodeHash { - &self.code_hash + fn code_hash(&self) -> CodeHash { + self.code_hash } fn code_len(&self) -> u32 { diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 7b05d344e1dce..fde59323eafc4 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -27,9 +27,9 @@ use crate::{ tests::test_utils::{get_contract, get_contract_checked}, wasm::{Determinism, ReturnCode as RuntimeReturnCode}, weights::WeightInfo, - BalanceOf, Code, CodeStorage, CollectEvents, Config, ContractInfo, ContractInfoOf, DebugInfo, + BalanceOf, Code, CollectEvents, Config, ContractInfo, ContractInfoOf, DebugInfo, DefaultAddressGenerator, DeletionQueueCounter, Error, MigrationInProgress, NoopMigration, - Origin, Pallet, Schedule, + Origin, Pallet, PristineCode, Schedule, }; use assert_matches::assert_matches; use codec::Encode; @@ -357,8 +357,7 @@ impl pallet_proxy::Config for Test { parameter_types! { pub MySchedule: Schedule = { - let mut schedule = >::default(); - schedule.instruction_weights.fallback = 1; + let schedule = >::default(); schedule }; pub static DepositPerByte: BalanceOf = 1; @@ -2564,7 +2563,7 @@ fn refcounter() { assert_refcount!(code_hash, 1); // Pristine code should still be there - crate::PristineCode::::get(code_hash).unwrap(); + PristineCode::::get(code_hash).unwrap(); // remove the last contract assert_ok!(Contracts::call( @@ -2579,7 +2578,6 @@ fn refcounter() { // refcount is `0` but code should still exists because it needs to be removed manually assert!(crate::PristineCode::::contains_key(&code_hash)); - assert!(crate::CodeStorage::::contains_key(&code_hash)); }); } @@ -3294,14 +3292,15 @@ fn upload_code_works() { // Drop previous events initialize_block(2); - assert!(!>::contains_key(code_hash)); + assert!(!PristineCode::::contains_key(&code_hash)); + assert_ok!(Contracts::upload_code( RuntimeOrigin::signed(ALICE), wasm, Some(codec::Compact(1_000)), Determinism::Enforced, )); - assert!(>::contains_key(code_hash)); + assert!(PristineCode::::contains_key(&code_hash)); assert_eq!( System::events(), @@ -3389,9 +3388,10 @@ fn remove_code_works() { Determinism::Enforced, )); - assert!(>::contains_key(code_hash)); + assert!(PristineCode::::contains_key(&code_hash)); + assert_ok!(Contracts::remove_code(RuntimeOrigin::signed(ALICE), code_hash)); - assert!(!>::contains_key(code_hash)); + assert!(!PristineCode::::contains_key(&code_hash)); assert_eq!( System::events(), diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index a8cd74cc90895..9f0ecf30b4c03 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -422,24 +422,22 @@ impl Executable for WasmBlob { ext: &mut E, function: &ExportedFunction, input_data: Vec, - schedule: &Schedule, - reftime_limit: u64, ) -> ExecResult { - let runtime = Runtime::new(ext, input_data); let code = self.code.as_slice(); // Extract memory limits from the module. let contract_module = prepare::ContractModule::new(code)?; let memory_limits = - prepare::get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + prepare::get_memory_limits(contract_module.scan_imports::(&[])?, ext.schedule())?; // Instantiate the Wasm module to the engine. + let runtime = Runtime::new(ext, input_data); let (mut store, memory, instance) = Self::instantiate::( code, runtime, memory_limits, StackLimits::default(), match function { - ExportedFunction::Constructor => AllowDeprecatedInterface::No, ExportedFunction::Call => AllowDeprecatedInterface::Yes, + ExportedFunction::Constructor => AllowDeprecatedInterface::No, }, ) .map_err(|msg| { @@ -448,9 +446,14 @@ impl Executable for WasmBlob { })?; store.data_mut().set_memory(memory); - // Set fuel limit for the Wasm module execution. + // Set fuel limit for the wasmi execution. // We normalize it by the base instruction weight, as its cost in wasmi engine is 1. - let fuel_limit = reftime_limit + let fuel_limit = store + .data_mut() + .ext() + .gas_meter_mut() + .gas_left() + .ref_time() .checked_div(T::Schedule::get().instruction_weights.base as u64) .ok_or(Error::::InvalidSchedule)?; store @@ -472,11 +475,12 @@ impl Executable for WasmBlob { let result = exported_func.call(&mut store, &[], &mut []); let engine_consumed = store.fuel_consumed().expect("Fuel metering is enabled; qed"); - // Scale the value back to `ref_time` weight. + // Scale the value back to ref_time` weight. let reftime_consumed = engine_consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); - - store.into_data().to_execution_result(result, reftime_consumed) + // Sync this frame's gas meter with the engine's one. + store.data_mut().ext().gas_meter_mut().charge_fuel(reftime_consumed)?; + store.into_data().to_execution_result(result) } fn code_hash(&self) -> CodeHash { @@ -738,6 +742,9 @@ mod tests { fn schedule(&self) -> &Schedule { &self.schedule } + fn gas_meter(&self) -> &GasMeter { + &self.gas_meter + } fn gas_meter_mut(&mut self) -> &mut GasMeter { &mut self.gas_meter } @@ -795,13 +802,16 @@ mod tests { type RuntimeConfig = ::T; RuntimeConfig::set_unstable_interface(unstable_interface); let wasm = wat::parse_str(wat).unwrap(); - let schedule = crate::Schedule::default(); let executable = if skip_checks { - WasmBlob::::from_code_unchecked(wasm, &schedule, ALICE)? + WasmBlob::::from_code_unchecked( + wasm, + ext.borrow_mut().schedule(), + ALICE, + )? } else { WasmBlob::::from_code( wasm, - &schedule, + ext.borrow_mut().schedule(), ALICE, Determinism::Enforced, TryInstantiate::Instantiate, diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 434f7145d9bf5..c4e9669569bf8 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -459,10 +459,10 @@ pub mod benchmarking { code: Vec, schedule: &Schedule, owner: AccountIdOf, - ) -> Result<(WasmBlob, OwnerInfo), &'static str> { - let contract_module = ContractModule::new(&code, schedule)?; - /// We do this here just to check that module's memory import satisfies the schedule - let _memory_limits = get_memory_limits(contract_module.scan_imports(&[])?, schedule)?; + ) -> Result, &'static str> { + let contract_module = ContractModule::new(&code)?; + // We do this here just to check that module's memory import satisfies the schedule + let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = code.try_into().map_err(|_| "Code too large!")?; let owner_info = OwnerInfo { @@ -473,7 +473,7 @@ pub mod benchmarking { determinism: Determinism::Enforced, }; - Ok(Self { code, owner_info }) + Ok(WasmBlob { code, owner_info }) } } @@ -488,7 +488,7 @@ mod tests { use pallet_contracts_proc_macro::define_env; use std::fmt; - impl fmt::Debug for CodeVec { + impl fmt::Debug for WasmBlob { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "ContractCode {{ .. }}") } diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index eb7ad02394e70..d0ac1bafcfc89 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -480,19 +480,11 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { } /// Converts the sandbox result and the runtime state into the execution outcome. - pub fn to_execution_result( - self, - sandbox_result: Result<(), wasmi::Error>, - reftime_consumed: u64, - ) -> ExecResult { + pub fn to_execution_result(self, sandbox_result: Result<(), wasmi::Error>) -> ExecResult { use TrapReason::*; match sandbox_result { // Contract returned from main function -> no data was returned. - Ok(_) => Ok(ExecReturnValue { - flags: ReturnFlags::empty(), - data: Vec::new(), - reftime_consumed, - }), + Ok(_) => Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), // Contract either trapped or some host function aborted the execution. Err(wasmi::Error::Trap(trap)) => { // If we encoded a reason then it is some abort generated by a host function. @@ -503,13 +495,10 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { Return(ReturnData { flags, data }) => { let flags = ReturnFlags::from_bits(flags).ok_or(Error::::InvalidCallFlags)?; - Ok(ExecReturnValue { flags, data, reftime_consumed }) + Ok(ExecReturnValue { flags, data }) }, - Termination => Ok(ExecReturnValue { - flags: ReturnFlags::empty(), - data: Vec::new(), - reftime_consumed, - }), + Termination => + Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), SupervisorError(error) => return Err(error.into()), } }, From 85a03403686c762bcad34163c5e56c33aa6ac0f8 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 10 Jun 2023 13:41:38 +0300 Subject: [PATCH 12/70] bugs fixing --- frame/contracts/proc-macro/src/lib.rs | 3 +-- frame/contracts/src/wasm/mod.rs | 14 +++----------- frame/contracts/src/wasm/prepare.rs | 8 ++++---- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 5616ffbc8b5d0..c51f176a2ec81 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -680,8 +680,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) quote! { let __gas_before__ = { let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); - let reftime_consumed = engine_consumed.saturating_mul(__caller__.data_mut().ext().schedule().instruction_weights.base as u64); - __caller__.data_mut().ext().gas_meter_mut().charge_fuel(reftime_consumed).map_err(#into_trap).map_err(#into_host)?.ref_time() + __caller__.data_mut().ext().gas_meter_mut().charge_fuel(engine_consumed).map_err(#into_trap).map_err(#into_host)?.ref_time() }; } } else { diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 9f0ecf30b4c03..69d83c34018ad 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -400,7 +400,7 @@ impl Executable for WasmBlob { ) -> Result { let code = Self::load_code(code_hash, gas_meter)?; let code_hash = T::Hashing::hash(&code); - // We store owner info at the same time as contract code, + // We store owner_info at the same time as contract code, // therefore this query shouldn't really fail. // We consider its failure equal to CodeNotFound, as contract code without // owner_info is unusable in this pallet. @@ -475,11 +475,8 @@ impl Executable for WasmBlob { let result = exported_func.call(&mut store, &[], &mut []); let engine_consumed = store.fuel_consumed().expect("Fuel metering is enabled; qed"); - // Scale the value back to ref_time` weight. - let reftime_consumed = - engine_consumed.saturating_mul(T::Schedule::get().instruction_weights.base as u64); // Sync this frame's gas meter with the engine's one. - store.data_mut().ext().gas_meter_mut().charge_fuel(reftime_consumed)?; + store.data_mut().ext().gas_meter_mut().charge_fuel(engine_consumed)?; store.into_data().to_execution_result(result) } @@ -492,12 +489,7 @@ impl Executable for WasmBlob { } fn is_deterministic(&self) -> bool { - // There should not be a stored code vec without an owner_info. - // If we cant find owner_info for the contract code, we consider it unsafe to use on-chain, - // just as any non deterministic code. - // TODO: would we make this method fallible? - >::try_get(self.code_hash()) - .map_or(false, |owner_info| matches!(owner_info.determinism, Determinism::Enforced)) + matches!(self.owner_info.determinism, Determinism::Enforced) } } diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index c4e9669569bf8..fcf6072136bb7 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -358,7 +358,7 @@ where (Error::::CodeRejected.into(), "validation of new code failed") })?; - let code = (|| { + let (code, memory_limits) = (|| { let contract_module = ContractModule::new(code)?; contract_module.scan_exports()?; contract_module.ensure_no_internal_memory()?; @@ -368,11 +368,11 @@ where contract_module.ensure_parameter_limit(schedule.limits.parameters)?; contract_module.ensure_br_table_size_limit(schedule.limits.br_table_size)?; // We do it here just to check that module imported memory satisfies the Schedule limits - let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; - Ok(code) + Ok((code, memory_limits)) })() .map_err(|msg: &str| { log::debug!(target: LOG_TARGET, "new code rejected: {}", msg); @@ -390,7 +390,7 @@ where WasmBlob::::instantiate::( &code, (), - Default::default(), + memory_limits, stack_limits, AllowDeprecatedInterface::No, ) From 505f7504584f57a73914b795f4c7774e0a73b4d1 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 10 Jun 2023 17:19:41 +0300 Subject: [PATCH 13/70] fix tests: expected deposit amount --- frame/contracts/src/tests.rs | 42 ++++++++++++++++++++--------- frame/contracts/src/wasm/prepare.rs | 2 +- 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index fde59323eafc4..f57863052ab87 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -89,9 +89,12 @@ macro_rules! assert_refcount { } pub mod test_utils { - use super::{Balances, Hash, SysConfig, Test}; - use crate::{exec::AccountIdOf, CodeHash, Config, ContractInfo, ContractInfoOf, Nonce}; - use codec::Encode; + use super::{Balances, DepositPerByte, DepositPerItem, Hash, SysConfig, Test}; + use crate::{ + exec::AccountIdOf, CodeHash, Config, ContractInfo, ContractInfoOf, Nonce, OwnerInfo, + OwnerInfoOf, PristineCode, + }; + use codec::{Encode, MaxEncodedLen}; use frame_support::traits::Currency; pub fn place_contract(address: &AccountIdOf, code_hash: CodeHash) { @@ -119,6 +122,17 @@ pub mod test_utils { pub fn hash(s: &S) -> <::Hashing as Hash>::Output { <::Hashing as Hash>::hash_of(s) } + pub fn ensure_stored_and_calc_deposit(code_hash: CodeHash) -> u64 { + // Assert that contract code and owner_info are stored, and get their sizes. + let code_bytes = PristineCode::::try_get(&code_hash).unwrap().len() as u64; + assert!(OwnerInfoOf::::contains_key(&code_hash)); + // For onwer info, the deposit for max_encoded_len is taken. + let owner_info_bytes = OwnerInfo::::max_encoded_len() as u64; + // Calculate deposit to be reserved. + // We add 2 storage items: one for code, other for owner_info + DepositPerByte::get().saturating_mul(code_bytes + owner_info_bytes) + + DepositPerItem::get().saturating_mul(2) + } } impl Test { @@ -3300,7 +3314,7 @@ fn upload_code_works() { Some(codec::Compact(1_000)), Determinism::Enforced, )); - assert!(PristineCode::::contains_key(&code_hash)); + let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); assert_eq!( System::events(), @@ -3309,7 +3323,7 @@ fn upload_code_works() { phase: Phase::Initialization, event: RuntimeEvent::Balances(pallet_balances::Event::Reserved { who: ALICE, - amount: 173, + amount: deposit_expected, }), topics: vec![], }, @@ -3388,11 +3402,9 @@ fn remove_code_works() { Determinism::Enforced, )); - assert!(PristineCode::::contains_key(&code_hash)); + let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); assert_ok!(Contracts::remove_code(RuntimeOrigin::signed(ALICE), code_hash)); - assert!(!PristineCode::::contains_key(&code_hash)); - assert_eq!( System::events(), vec![ @@ -3400,7 +3412,7 @@ fn remove_code_works() { phase: Phase::Initialization, event: RuntimeEvent::Balances(pallet_balances::Event::Reserved { who: ALICE, - amount: 173, + amount: deposit_expected, }), topics: vec![], }, @@ -3413,7 +3425,7 @@ fn remove_code_works() { phase: Phase::Initialization, event: RuntimeEvent::Balances(pallet_balances::Event::Unreserved { who: ALICE, - amount: 173, + amount: deposit_expected, }), topics: vec![], }, @@ -3444,6 +3456,8 @@ fn remove_code_wrong_origin() { Determinism::Enforced, )); + let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); + assert_noop!( Contracts::remove_code(RuntimeOrigin::signed(BOB), code_hash), sp_runtime::traits::BadOrigin, @@ -3456,7 +3470,7 @@ fn remove_code_wrong_origin() { phase: Phase::Initialization, event: RuntimeEvent::Balances(pallet_balances::Event::Reserved { who: ALICE, - amount: 173, + amount: deposit_expected, }), topics: vec![], }, @@ -3547,6 +3561,7 @@ fn instantiate_with_zero_balance_works() { // Check that the BOB contract has been instantiated. let contract = get_contract(&addr); let deposit_account = contract.deposit_account().deref(); + let deposit_expected = test_utils::ensure_stored_and_calc_deposit(contract.code_hash); // Make sure the account exists even though no free balance was send assert_eq!(::Currency::free_balance(&addr), min_balance); @@ -3607,7 +3622,7 @@ fn instantiate_with_zero_balance_works() { phase: Phase::Initialization, event: RuntimeEvent::Balances(pallet_balances::Event::Reserved { who: ALICE, - amount: 173, + amount: deposit_expected, }), topics: vec![], }, @@ -3658,6 +3673,7 @@ fn instantiate_with_below_existential_deposit_works() { // Check that the BOB contract has been instantiated. let contract = get_contract(&addr); let deposit_account = contract.deposit_account().deref(); + let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); // Make sure the account exists even though not enough free balance was send assert_eq!(::Currency::free_balance(&addr), min_balance + 50); @@ -3727,7 +3743,7 @@ fn instantiate_with_below_existential_deposit_works() { phase: Phase::Initialization, event: RuntimeEvent::Balances(pallet_balances::Event::Reserved { who: ALICE, - amount: 173, + amount: deposit_expected, }), topics: vec![], }, diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index fcf6072136bb7..28773503a1852 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -410,7 +410,7 @@ where /// - all imported functions from the external environment matches defined by `env` module. /// /// TODO: re-phrase -/// Also constructs contract owner_info (metadata?) by calculating the deposit. +/// Also constructs contract owner_info (metadata?) by calculating the storage deposit. pub fn prepare( code: CodeVec, schedule: &Schedule, From c25f634f4ca5a7dcec9ed7b1763434afe5322b80 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 10 Jun 2023 18:06:30 +0300 Subject: [PATCH 14/70] fix prepare::tests --- frame/contracts/src/wasm/prepare.rs | 46 ++--------------------------- 1 file changed, 2 insertions(+), 44 deletions(-) diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 28773503a1852..682ab831b6132 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -724,19 +724,6 @@ mod tests { Err("validation of new code failed") ); - prepare_test!( - no_maximum, - r#" - (module - (import "env" "memory" (memory 1)) - - (func (export "call")) - (func (export "deploy")) - ) - "#, - Err("Maximum number of pages should be always declared.") - ); - prepare_test!( requested_maximum_valid, r#" @@ -760,7 +747,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Maximum number of pages should not exceed the configured maximum.") + Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule.") ); prepare_test!( @@ -901,21 +888,6 @@ mod tests { Ok(_) ); - // even though gas is defined the contract can't import it since - // it is an implementation defined. - prepare_test!( - can_not_import_gas_function, - r#" - (module - (import "seal0" "gas" (func (param i32))) - - (func (export "call")) - (func (export "deploy")) - ) - "#, - Err("module imports a banned function") - ); - // memory is in "env" and not in "seal0" prepare_test!( memory_not_in_seal0, @@ -957,20 +929,6 @@ mod tests { Ok(_) ); - // wrong signature - prepare_test!( - wrong_signature, - r#" - (module - (import "seal0" "gas" (func (param i64))) - - (func (export "call")) - (func (export "deploy")) - ) - "#, - Err("module imports a banned function") - ); - prepare_test!( unknown_func_name, r#" @@ -981,7 +939,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("new code rejected after instrumentation") + Err("new code rejected on wasmi instantiation") ); } From 7f46e7ef392069b087e4fb30fd6b1f4ecf55babd Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 10 Jun 2023 19:04:10 +0300 Subject: [PATCH 15/70] update tests and fix bugs tests::run_out_of_gas_engine, need 2 more save: 2 bugs with gas syncs: 1 of 2 tests done gas_syncs_no_overcharge bug fixed, test passes! cleaned out debug prints second bug is not a bug disabled_chain_extension test fix (err msg) tests run_out_of_fuel_host, chain_extension pass all tests pass --- frame/contracts/proc-macro/src/lib.rs | 10 +- frame/contracts/src/gas.rs | 30 +++- frame/contracts/src/schedule.rs | 4 +- frame/contracts/src/tests.rs | 214 +++++++++++++++++++++++--- frame/contracts/src/wasm/mod.rs | 5 +- frame/contracts/src/wasm/runtime.rs | 43 ++++-- 6 files changed, 257 insertions(+), 49 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index c51f176a2ec81..696a098dbddd3 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -680,7 +680,9 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) quote! { let __gas_before__ = { let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); - __caller__.data_mut().ext().gas_meter_mut().charge_fuel(engine_consumed).map_err(#into_trap).map_err(#into_host)?.ref_time() + let gas_meter = __caller__.data_mut().ext().gas_meter_mut(); + let fuel_to_charge = engine_consumed.saturating_sub(gas_meter.engine_consumed()); + gas_meter.sync_fuel(fuel_to_charge).map_err(#into_trap).map_err(#into_host)?.ref_time() }; } } else { @@ -688,8 +690,10 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) }; let sync_gas_after = if expand_blocks { quote! { - let gas_after = __caller__.data_mut().ext().gas_meter().gas_left().ref_time(); - let host_consumed = __gas_before__.saturating_sub(gas_after); + let mut gas_after = __caller__.data_mut().ext().gas_meter().gas_left().ref_time(); + let mut host_consumed = __gas_before__.saturating_sub(gas_after); + // Possible undercharge of at max 1 fuel here, if host consumed less than `instruction_weights.base` + // Not a problem though, as soon as host accounts its spent gas properly. let fuel_consumed = host_consumed.checked_div(__caller__.data_mut().ext().schedule().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; __caller__.consume_fuel(fuel_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#into_host)?; } diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index c5fd83fcd9359..986b487db142c 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -81,6 +81,8 @@ pub struct GasMeter { gas_left: Weight, /// Due to `adjust_gas` and `nested` the `gas_left` can temporarily dip below its final value. gas_left_lowest: Weight, + /// Amount of fuel consumed by the engine from the last host function call. + engine_consumed: u64, _phantom: PhantomData, #[cfg(test)] tokens: Vec, @@ -92,6 +94,7 @@ impl GasMeter { gas_limit, gas_left: gas_limit, gas_left_lowest: gas_limit, + engine_consumed: Default::default(), _phantom: PhantomData, #[cfg(test)] tokens: Vec::new(), @@ -154,6 +157,8 @@ impl GasMeter { /// Returns `OutOfGas` if there is not enough gas or addition of the specified /// amount of gas has lead to overflow. On success returns `Proceed`. /// + /// Any charged amount less than base instruction weight is rounded up to it. + /// /// NOTE that amount isn't consumed if there is not enough gas. This is considered /// safe because we always charge gas before performing any resource-spending action. #[inline] @@ -182,24 +187,28 @@ impl GasMeter { self.gas_left = self.gas_left.saturating_add(adjustment).min(self.gas_limit); } - /// Charge self with the `ref_time` Weight corresponding to `wasmi_fuel` consumed on the engine + /// This method is used for gas syncs with the engine in every host function. + /// + /// Updates internal `engine_comsumed` tracker of engine fuel consumption. + /// + /// Charges self with the `ref_time` Weight corresponding to `wasmi_fuel` consumed on the engine /// side. Passed value is scaled by multiplying it by the weight of a basic operation, as such /// an operation in wasmi engine costs 1. /// - /// This is used for gas syncs with the engine in every host function. - /// - /// Returns the updated gas_left Weight value from the meter. + /// Returns the updated `gas_left` Weight value from the meter. /// Normally this would never fail, as engine should fail first when out of gas. - pub fn charge_fuel(&mut self, wasmi_fuel: u64) -> Result { - let ref_time = self.gas_left.ref_time_mut(); + pub fn sync_fuel(&mut self, wasmi_fuel: u64) -> Result { if !wasmi_fuel.is_zero() { + self.engine_consumed += wasmi_fuel; let reftime_consumed = wasmi_fuel.saturating_mul(T::Schedule::get().instruction_weights.base as u64); - *ref_time = self - .gas_limit + let ref_time_left = self + .gas_left .ref_time() .checked_sub(reftime_consumed) .ok_or_else(|| Error::::OutOfGas)?; + + *(self.gas_left.ref_time_mut()) = ref_time_left; } Ok(self.gas_left) } @@ -222,6 +231,11 @@ impl GasMeter { self.gas_left } + /// Returns current tracked engine fuel consumption. + pub fn engine_consumed(&self) -> u64 { + self.engine_consumed + } + /// Turn this GasMeter into a DispatchResult that contains the actually used gas. pub fn into_dispatch_result( self, diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index f9f7fcbb4b052..6ef24622fee8d 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -49,7 +49,6 @@ use sp_std::marker::PhantomData; /// .. Default::default() /// }, /// instruction_weights: InstructionWeights { -/// version: 5, /// .. Default::default() /// }, /// .. Default::default() @@ -164,6 +163,9 @@ impl Limits { #[derive(Clone, Encode, Decode, PartialEq, Eq, ScheduleDebug, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct InstructionWeights { + /// Base instruction ref_time weight. + /// Used to gas units scaling between host and engine. + /// Should match to wasmi's 1 fuel (see ). pub base: u32, /// The type parameter is used in the default implementation. #[codec(skip)] diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index f57863052ab87..800d866f6eb8a 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use self::test_utils::hash; +use self::test_utils::{ensure_stored, expected_deposit, hash}; use crate as pallet_contracts; use crate::{ chain_extension::{ @@ -122,17 +122,20 @@ pub mod test_utils { pub fn hash(s: &S) -> <::Hashing as Hash>::Output { <::Hashing as Hash>::hash_of(s) } - pub fn ensure_stored_and_calc_deposit(code_hash: CodeHash) -> u64 { - // Assert that contract code and owner_info are stored, and get their sizes. - let code_bytes = PristineCode::::try_get(&code_hash).unwrap().len() as u64; - assert!(OwnerInfoOf::::contains_key(&code_hash)); + pub fn expected_deposit(code_len: usize) -> u64 { // For onwer info, the deposit for max_encoded_len is taken. - let owner_info_bytes = OwnerInfo::::max_encoded_len() as u64; + let owner_info_len = OwnerInfo::::max_encoded_len() as u64; // Calculate deposit to be reserved. // We add 2 storage items: one for code, other for owner_info - DepositPerByte::get().saturating_mul(code_bytes + owner_info_bytes) + + DepositPerByte::get().saturating_mul(code_len as u64 + owner_info_len) + DepositPerItem::get().saturating_mul(2) } + pub fn ensure_stored(code_hash: CodeHash) -> usize { + // Assert that owner_info is stored + assert!(OwnerInfoOf::::contains_key(&code_hash)); + // Assert that contract code is stored, and get its size. + PristineCode::::try_get(&code_hash).unwrap().len() + } } impl Test { @@ -188,6 +191,8 @@ impl ChainExtension for TestExtension { where E: Ext, { + use codec::Decode; + let func_id = env.func_id(); let id = env.ext_id() as u32 | func_id as u32; match func_id { @@ -207,7 +212,12 @@ impl ChainExtension for TestExtension { }, 2 => { let mut env = env.buf_in_buf_out(); - let weight = Weight::from_parts(env.read(5)?[4].into(), 0); + let mut enc = &env.read(9)?[4..8]; + let weight = Weight::from_parts( + u32::decode(&mut enc).map_err(|_| Error::::ContractTrapped)?.into(), + 0, + ); + println!("Charging from extension: {:?}", &weight); env.charge_weight(weight)?; Ok(RetVal::Converging(id)) }, @@ -797,8 +807,9 @@ fn deposit_event_max_value_limit() { }); } +// Fail out of fuel (ref_time weight) in the engine. #[test] -fn run_out_of_gas() { +fn run_out_of_fuel_engine() { let (wasm, _code_hash) = compile_module::("run_out_of_gas").unwrap(); ExtBuilder::default().existential_deposit(50).build().execute_with(|| { let min_balance = ::Currency::minimum_balance(); @@ -835,6 +846,155 @@ fn run_out_of_gas() { }); } +// Fail out of fuel (ref_time weight) in the host. +#[test] +fn run_out_of_fuel_host() { + let (code, _hash) = compile_module::("chain_extension").unwrap(); + ExtBuilder::default().existential_deposit(50).build().execute_with(|| { + let min_balance = ::Currency::minimum_balance(); + let _ = Balances::deposit_creating(&ALICE, 1000 * min_balance); + + let addr = Contracts::bare_instantiate( + ALICE, + min_balance * 100, + GAS_LIMIT, + None, + Code::Upload(code), + vec![], + vec![], + DebugInfo::Skip, + CollectEvents::Skip, + ) + .result + .unwrap() + .account_id; + + let gas_limit = Weight::from_parts(u32::MAX as u64, GAS_LIMIT.proof_size()); + + // Use chain extension to charge more ref_time than it is available. + let result = Contracts::bare_call( + ALICE, + addr.clone(), + 0, + gas_limit, + None, + ExtensionInput { extension_id: 0, func_id: 2, extra: &u32::MAX.encode() }.into(), + DebugInfo::Skip, + CollectEvents::Skip, + Determinism::Enforced, + ) + .result; + assert_err!(result, >::OutOfGas); + }); +} + +#[test] +fn gas_syncs_work() { + let (wasm0, _code_hash) = compile_module::("seal_input_noop").unwrap(); + let (wasm1, _code_hash) = compile_module::("seal_input_once").unwrap(); + let (wasm2, _code_hash) = compile_module::("seal_input_twice").unwrap(); + ExtBuilder::default().existential_deposit(200).build().execute_with(|| { + let _ = Balances::deposit_creating(&ALICE, 1_000_000); + // Instantiate noop contract. + let addr0 = Contracts::bare_instantiate( + ALICE, + 0, + GAS_LIMIT, + None, + Code::Upload(wasm0), + vec![], + vec![], + DebugInfo::Skip, + CollectEvents::Skip, + ) + .result + .unwrap() + .account_id; + + // Instantiate 1st contract. + let addr1 = Contracts::bare_instantiate( + ALICE, + 0, + GAS_LIMIT, + None, + Code::Upload(wasm1), + vec![], + vec![], + DebugInfo::Skip, + CollectEvents::Skip, + ) + .result + .unwrap() + .account_id; + + // Instantiate 2nd contract. + let addr2 = Contracts::bare_instantiate( + ALICE, + 0, + GAS_LIMIT, + None, + Code::Upload(wasm2), + vec![], + vec![], + DebugInfo::Skip, + CollectEvents::Skip, + ) + .result + .unwrap() + .account_id; + + let result = Contracts::bare_call( + ALICE, + addr0, + 0, + GAS_LIMIT, + None, + 1u8.to_le_bytes().to_vec(), + DebugInfo::Skip, + CollectEvents::Skip, + Determinism::Enforced, + ); + assert_ok!(result.result); + let engine_consumed_noop = result.gas_consumed.ref_time(); + + let result = Contracts::bare_call( + ALICE, + addr1, + 0, + GAS_LIMIT, + None, + 1u8.to_le_bytes().to_vec(), + DebugInfo::Skip, + CollectEvents::Skip, + Determinism::Enforced, + ); + assert_ok!(result.result); + let gas_consumed_once = result.gas_consumed.ref_time(); + let host_consumed_once = ::Schedule::get().host_fn_weights.input.ref_time(); + let engine_consumed_once = gas_consumed_once - host_consumed_once - engine_consumed_noop; + + let result = Contracts::bare_call( + ALICE, + addr2, + 0, + GAS_LIMIT, + None, + 1u8.to_le_bytes().to_vec(), + DebugInfo::Skip, + CollectEvents::Skip, + Determinism::Enforced, + ); + assert_ok!(result.result); + let gas_consumed_twice = result.gas_consumed.ref_time(); + let host_consumed_twice = host_consumed_once * 2; + let engine_consumed_twice = gas_consumed_twice - host_consumed_twice - engine_consumed_noop; + + // Second contract just repeats first contract's instructions twice. + // If runtime syncs gas with the engine properly, this should pass. + assert_eq!(engine_consumed_twice, engine_consumed_once * 2); + }); +} + /// Check that contracts with the same account id have different trie ids. /// Check the `Nonce` storage item for more information. #[test] @@ -1878,7 +2038,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, + "module uses chain extensions but chain extensions are disabled", ); }); } @@ -1944,7 +2104,7 @@ fn chain_extension_works() { 0, GAS_LIMIT, None, - ExtensionInput { extension_id: 0, func_id: 2, extra: &[0] }.into(), + ExtensionInput { extension_id: 0, func_id: 2, extra: &0u32.encode() }.into(), DebugInfo::Skip, CollectEvents::Skip, Determinism::Enforced, @@ -1957,7 +2117,7 @@ fn chain_extension_works() { 0, GAS_LIMIT, None, - ExtensionInput { extension_id: 0, func_id: 2, extra: &[42] }.into(), + ExtensionInput { extension_id: 0, func_id: 2, extra: &42u32.encode() }.into(), DebugInfo::Skip, CollectEvents::Skip, Determinism::Enforced, @@ -1970,7 +2130,7 @@ fn chain_extension_works() { 0, GAS_LIMIT, None, - ExtensionInput { extension_id: 0, func_id: 2, extra: &[95] }.into(), + ExtensionInput { extension_id: 0, func_id: 2, extra: &95u32.encode() }.into(), DebugInfo::Skip, CollectEvents::Skip, Determinism::Enforced, @@ -2785,7 +2945,7 @@ fn gas_estimation_nested_call_fixed_limit() { .result ); - // Make the same call using proof_size a but less than estimated. Should fail with OutOfGas. + // Make the same call using proof_size but less than estimated. Should fail with OutOfGas. let result = Contracts::bare_call( ALICE, addr_caller, @@ -3314,7 +3474,8 @@ fn upload_code_works() { Some(codec::Compact(1_000)), Determinism::Enforced, )); - let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); + // Ensure the contract was stored and get expected deposit amount to be reserved. + let deposit_expected = expected_deposit(ensure_stored(code_hash)); assert_eq!( System::events(), @@ -3340,6 +3501,8 @@ fn upload_code_works() { #[test] fn upload_code_limit_too_low() { let (wasm, _code_hash) = compile_module::("dummy").unwrap(); + let deposit_expected = expected_deposit(wasm.len()); + let deposit_insufficient = deposit_expected.saturating_sub(1); ExtBuilder::default().existential_deposit(100).build().execute_with(|| { let _ = Balances::deposit_creating(&ALICE, 1_000_000); @@ -3351,7 +3514,7 @@ fn upload_code_limit_too_low() { Contracts::upload_code( RuntimeOrigin::signed(ALICE), wasm, - Some(codec::Compact(100)), + Some(codec::Compact(deposit_insufficient)), Determinism::Enforced ), >::StorageDepositLimitExhausted, @@ -3364,9 +3527,11 @@ fn upload_code_limit_too_low() { #[test] fn upload_code_not_enough_balance() { let (wasm, _code_hash) = compile_module::("dummy").unwrap(); + let deposit_expected = expected_deposit(wasm.len()); + let deposit_insufficient = deposit_expected.saturating_sub(1); ExtBuilder::default().existential_deposit(100).build().execute_with(|| { - let _ = Balances::deposit_creating(&ALICE, 150); + let _ = Balances::deposit_creating(&ALICE, deposit_insufficient); // Drop previous events initialize_block(2); @@ -3401,8 +3566,8 @@ fn remove_code_works() { Some(codec::Compact(1_000)), Determinism::Enforced, )); - - let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); + // Ensure the contract was stored and get expected deposit amount to be reserved. + let deposit_expected = expected_deposit(ensure_stored(code_hash)); assert_ok!(Contracts::remove_code(RuntimeOrigin::signed(ALICE), code_hash)); assert_eq!( @@ -3455,8 +3620,8 @@ fn remove_code_wrong_origin() { Some(codec::Compact(1_000)), Determinism::Enforced, )); - - let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); + // Ensure the contract was stored and get expected deposit amount to be reserved. + let deposit_expected = expected_deposit(ensure_stored(code_hash)); assert_noop!( Contracts::remove_code(RuntimeOrigin::signed(BOB), code_hash), @@ -3561,7 +3726,8 @@ fn instantiate_with_zero_balance_works() { // Check that the BOB contract has been instantiated. let contract = get_contract(&addr); let deposit_account = contract.deposit_account().deref(); - let deposit_expected = test_utils::ensure_stored_and_calc_deposit(contract.code_hash); + // Ensure the contract was stored and get expected deposit amount to be reserved. + let deposit_expected = expected_deposit(ensure_stored(code_hash)); // Make sure the account exists even though no free balance was send assert_eq!(::Currency::free_balance(&addr), min_balance); @@ -3673,8 +3839,8 @@ fn instantiate_with_below_existential_deposit_works() { // Check that the BOB contract has been instantiated. let contract = get_contract(&addr); let deposit_account = contract.deposit_account().deref(); - let deposit_expected = test_utils::ensure_stored_and_calc_deposit(code_hash); - + // Ensure the contract was stored and get expected deposit amount to be reserved. + let deposit_expected = expected_deposit(ensure_stored(code_hash)); // Make sure the account exists even though not enough free balance was send assert_eq!(::Currency::free_balance(&addr), min_balance + 50); assert_eq!(::Currency::total_balance(&addr), min_balance + 50); diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 69d83c34018ad..66d48b1714e61 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -476,7 +476,10 @@ impl Executable for WasmBlob { let result = exported_func.call(&mut store, &[], &mut []); let engine_consumed = store.fuel_consumed().expect("Fuel metering is enabled; qed"); // Sync this frame's gas meter with the engine's one. - store.data_mut().ext().gas_meter_mut().charge_fuel(engine_consumed)?; + let gas_meter = store.data_mut().ext().gas_meter_mut(); + let fuel_to_charge = engine_consumed.saturating_sub(gas_meter.engine_consumed()); + gas_meter.sync_fuel(fuel_to_charge)?; + store.into_data().to_execution_result(result) } diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index d0ac1bafcfc89..6f3daefb21be7 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -147,6 +147,7 @@ pub struct ReturnData { /// as a quick way to terminate the application (all other variants). #[derive(RuntimeDebug)] pub enum TrapReason { + // InstructionTrap(DispatchError), /// The supervisor trapped the contract because of an error condition occurred during /// execution in privileged code. SupervisorError(DispatchError), @@ -481,26 +482,44 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { /// Converts the sandbox result and the runtime state into the execution outcome. pub fn to_execution_result(self, sandbox_result: Result<(), wasmi::Error>) -> ExecResult { + use wasmi::core::TrapCode::OutOfFuel; use TrapReason::*; + match sandbox_result { // Contract returned from main function -> no data was returned. Ok(_) => Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), + // OutOfGas when host asks engine to consume more than left in the _store_. + // We should never get this case, as gas meter is being charged (and hence raises error) + // first. + Err(wasmi::Error::Store(_)) => Err(Error::::OutOfGas.into()), // Contract either trapped or some host function aborted the execution. Err(wasmi::Error::Trap(trap)) => { + if let Some(code) = trap.trap_code() { + match code { + // OutOfGas during engine execution. + OutOfFuel => return Err(Error::::OutOfGas.into()), + _ => (), + } + } // If we encoded a reason then it is some abort generated by a host function. - // Otherwise the trap came from the contract. - // TODO add handling of wasmi OutOfGas error - let reason: TrapReason = trap.downcast().ok_or(Error::::ContractTrapped)?; - match reason { - Return(ReturnData { flags, data }) => { - let flags = - ReturnFlags::from_bits(flags).ok_or(Error::::InvalidCallFlags)?; - Ok(ExecReturnValue { flags, data }) - }, - Termination => - Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), - SupervisorError(error) => return Err(error.into()), + if let Some(reason) = &trap.downcast_ref::() { + match &reason { + Return(ReturnData { flags, data }) => { + let flags = ReturnFlags::from_bits(*flags) + .ok_or(Error::::InvalidCallFlags)?; + return Ok(ExecReturnValue { flags, data: data.to_vec() }) + }, + // TODO check sanity + Termination => + return Ok(ExecReturnValue { + flags: ReturnFlags::empty(), + data: Vec::new(), + }), + SupervisorError(error) => return Err((*error).into()), + } } + // Otherwise the trap came from the contract itself. + Err(Error::::ContractTrapped.into()) }, // Any other error is returned only if instantiation or linking failed (i.e. // wasm binary tried to import a function that is not provided by the host). From 7bf4fbe067f134397b7fe0544aaf0ff97d79211f Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sun, 11 Jun 2023 23:39:41 +0300 Subject: [PATCH 16/70] update docs --- frame/contracts/src/exec.rs | 1 - frame/contracts/src/gas.rs | 8 ++-- frame/contracts/src/schedule.rs | 30 +++---------- frame/contracts/src/wasm/mod.rs | 65 +++++++++++++++-------------- frame/contracts/src/wasm/prepare.rs | 28 ++++++------- frame/contracts/src/wasm/runtime.rs | 5 +-- 6 files changed, 57 insertions(+), 80 deletions(-) diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index ef5e23d5ba50e..acc73baf76b2c 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -870,7 +870,6 @@ where self.initial_transfer()?; // Call into the Wasm blob. - // We pass `reftime_left` into the execution engine to initialize its gas metering. let output = executable .execute(self, &entry_point, input_data) .map_err(|e| ExecError { error: e.error, origin: ErrorOrigin::Callee })?; diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index 986b487db142c..c630afe1304aa 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -155,9 +155,7 @@ impl GasMeter { /// Amount is calculated by the given `token`. /// /// Returns `OutOfGas` if there is not enough gas or addition of the specified - /// amount of gas has lead to overflow. On success returns `Proceed`. - /// - /// Any charged amount less than base instruction weight is rounded up to it. + /// amount of gas has lead to overflow. /// /// NOTE that amount isn't consumed if there is not enough gas. This is considered /// safe because we always charge gas before performing any resource-spending action. @@ -187,7 +185,7 @@ impl GasMeter { self.gas_left = self.gas_left.saturating_add(adjustment).min(self.gas_limit); } - /// This method is used for gas syncs with the engine in every host function. + /// This method is used for gas syncs with the engine at start of every host function call. /// /// Updates internal `engine_comsumed` tracker of engine fuel consumption. /// @@ -195,7 +193,7 @@ impl GasMeter { /// side. Passed value is scaled by multiplying it by the weight of a basic operation, as such /// an operation in wasmi engine costs 1. /// - /// Returns the updated `gas_left` Weight value from the meter. + /// Returns the updated `gas_left` `Weight` value from the meter. /// Normally this would never fail, as engine should fail first when out of gas. pub fn sync_fuel(&mut self, wasmi_fuel: u64) -> Result { if !wasmi_fuel.is_zero() { diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index 6ef24622fee8d..75d4b58757176 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -138,34 +138,14 @@ impl Limits { } } -/// Describes the weight for all categories of supported wasm instructions. -/// -/// There there is one field for each wasm instruction that describes the weight to -/// execute one instruction of that name. There are a few exceptions: -/// -/// 1. If there is a i64 and a i32 variant of an instruction we use the weight -/// of the former for both. -/// 2. The following instructions are free of charge because they merely structure the -/// wasm module and cannot be spammed without making the module invalid (and rejected): -/// End, Unreachable, Return, Else -/// 3. The following instructions cannot be benchmarked because they are removed by any -/// real world execution engine as a preprocessing step and therefore don't yield a -/// meaningful benchmark result. However, in contrast to the instructions mentioned -/// in 2. they can be spammed. We price them with the same weight as the "default" -/// instruction (i64.const): Block, Loop, Nop -/// 4. We price both i64.const and drop as InstructionWeights.i64const / 2. The reason -/// for that is that we cannot benchmark either of them on its own but we need their -/// individual values to derive (by subtraction) the weight of all other instructions -/// that use them as supporting instructions. Supporting means mainly pushing arguments -/// and dropping return values in order to maintain a valid module. -/// TODO update doc +/// Gas metering of Wasm executed instructions is being done on the engine side. +/// This struct holds a reference value used to gas units scaling between host and engine. #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] #[derive(Clone, Encode, Decode, PartialEq, Eq, ScheduleDebug, TypeInfo)] #[scale_info(skip_type_params(T))] pub struct InstructionWeights { - /// Base instruction ref_time weight. - /// Used to gas units scaling between host and engine. - /// Should match to wasmi's 1 fuel (see ). + /// Base instruction `ref_time` Weight. + /// Should match to wasmi's `1` fuel (see ). pub base: u32, /// The type parameter is used in the default implementation. #[codec(skip)] @@ -424,6 +404,8 @@ impl Default for Limits { } impl Default for InstructionWeights { + /// We price both `i64.const` and `drop` as `instr_i64const / 2`. The reason + /// for that is that we cannot benchmark either of them on its own. fn default() -> Self { Self { base: cost_instr!(instr_i64const, 1), _phantom: PhantomData } } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 66d48b1714e61..77c8e7748ea2a 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -56,40 +56,40 @@ use wasmi::{ Module, StackLimits, Store, }; -/// TODO: docs +/// Validated Wasm module ready for execution. +/// This data structure is immutable once created and stored. #[derive(Encode, Decode, scale_info::TypeInfo)] #[codec(mel_bound())] #[scale_info(skip_type_params(T))] pub struct WasmBlob { code: CodeVec, - // This isn't needed for contract execution and does not get loaded from storage by default. - // It is `Some` if and only if this struct was generated from code. + // This isn't needed for contract execution and is not stored alongside it. #[codec(skip)] pub owner_info: OwnerInfo, } -/// Contract metadata, such as: -/// - owner of the contract, +/// Contract code related data, such as: +/// - owner of the contract, i.e. account uploaded its code, /// - storage deposit amount, -/// - reference count -/// - determinism marker -/// TODO: rename this struct +/// - reference count, +/// - determinism marker. +/// TODO: rename this struct to `CodeInfo`? /// /// It is stored in a separate storage entry to avoid loading the code when not necessary. #[derive(Clone, Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] #[codec(mel_bound())] #[scale_info(skip_type_params(T))] pub struct OwnerInfo { - /// The account that has deployed the contract and hence is allowed to remove it. + /// The account that has uploaded the contract code and hence is allowed to remove it. owner: AccountIdOf, - /// The amount of balance that was deposited by the owner in order to deploy it. + /// The amount of balance that was deposited by the owner in order to store it on-chain. #[codec(compact)] deposit: BalanceOf, - /// The number of contracts that use this as their code. + /// The number of instantiated contracts that use this as their code. #[codec(compact)] refcount: u64, - /// Marks if the code might contain non deterministic features and is therefore never allowed - /// to be run on chain. Specifically, such a code can never be instantiated into a contract + /// Marks if the code might contain non-deterministic features and is therefore never allowed + /// to be run on-chain. Specifically, such a code can never be instantiated into a contract /// and can just be used through a delegate call. determinism: Determinism, } @@ -139,7 +139,7 @@ impl Token for CodeToken { // In case of `Load` we already covered the general costs of // calling the storage but still need to account for the actual size of the // contract code. This is why we subtract `T::*::(0)`. We need to do this at this - // point because when charging the general weight for calling the contract we not know the + // point because when charging the general weight for calling the contract we don't know the // size of the contract. match *self { Load(len) => T::WeightInfo::call_with_code_per_byte(len) @@ -195,8 +195,8 @@ impl WasmBlob { /// Creates and returns an instance of the supplied code. /// /// This is either used for later executing a contract or for validation of a contract. - /// When validating we pass `()` a `host_state`. Please note that such a dummy instance must - /// **never** be called/executed since it will panic the executor. + /// When validating we pass `()` as `host_state`. Please note that such a dummy instance must + /// **never** be called/executed, since it will panic the executor. pub fn instantiate( code: &[u8], host_state: H, @@ -231,9 +231,8 @@ impl WasmBlob { }, allow_deprecated, )?; - - // Here we allocate this memory in the _store_. It allocates _inital_ val, but allows it to - // grow up to max number of mem pages, if neccesary. + // 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 memory = Memory::new(&mut store, MemoryType::new(memory_limits.0, Some(memory_limits.1))?) .expect( @@ -252,8 +251,8 @@ impl WasmBlob { /// Put the module blob into storage. /// - /// Increments the refcount of the in-storage `prefab_module` if it already exists in storage - /// under the specified `code_hash`. + /// Increments the reference count of the in-storage `WasmBlob`, if it already exists in + /// storage. fn store_code(mut module: Self, instantiated: bool) -> DispatchResult { let code_hash = &module.code_hash(); >::mutate(code_hash, |stored_owner_info| { @@ -275,7 +274,7 @@ impl WasmBlob { Some(_) => Ok(()), // Upload a new contract code. // - // We need to store the code and its owner info, and collect the deposit. + // We need to store the code and its owner_info, and collect the deposit. None => { // This `None` case happens only in freshly uploaded modules. This means that // the `owner` is always the origin of the current transaction. @@ -326,12 +325,12 @@ impl WasmBlob { Ok(code) } - /// Decrement the refcount of a code in-storage by one. + /// Decrement the reference count of a stored code by one. /// /// # Note /// - /// A contract whose refcount dropped to zero isn't automatically removed. A `remove_code` - /// transaction must be submitted by the original uploader to do so. + /// A contract whose reference count dropped to zero isn't automatically removed. A + /// `remove_code` transaction must be submitted by the original uploader to do so. fn decrement_refcount(code_hash: CodeHash) { >::mutate(code_hash, |existing| { if let Some(info) = existing { @@ -340,11 +339,12 @@ impl WasmBlob { }); } - /// Increment the refcount of a code in-storage by one. + /// Increment the reference count of a of a stored code by one. /// /// # Errors /// - /// [`Error::CodeNotFound`] is returned if the specified `code_hash` does not exist. + /// [`Error::CodeNotFound`] is returned if no stored code found having the specified + /// `code_hash`. fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { >::mutate(code_hash, |existing| -> Result<(), DispatchError> { if let Some(info) = existing { @@ -400,10 +400,10 @@ impl Executable for WasmBlob { ) -> Result { let code = Self::load_code(code_hash, gas_meter)?; let code_hash = T::Hashing::hash(&code); - // We store owner_info at the same time as contract code, + // We store `owner_info` at the same time as contract code, // therefore this query shouldn't really fail. - // We consider its failure equal to CodeNotFound, as contract code without - // owner_info is unusable in this pallet. + // We consider its failure equal to `CodeNotFound`, as contract code without + // `owner_info` is unusable in this pallet. let owner_info = >::get(code_hash).ok_or(Error::::CodeNotFound)?; Ok(Self { code, owner_info }) @@ -424,8 +424,9 @@ impl Executable for WasmBlob { input_data: Vec, ) -> ExecResult { let code = self.code.as_slice(); - // Extract memory limits from the module. let contract_module = prepare::ContractModule::new(code)?; + // Extract memory limits from the module. + // This also checks that module's memory import satisfies the schedule. let memory_limits = prepare::get_memory_limits(contract_module.scan_imports::(&[])?, ext.schedule())?; // Instantiate the Wasm module to the engine. @@ -447,7 +448,7 @@ impl Executable for WasmBlob { store.data_mut().set_memory(memory); // Set fuel limit for the wasmi execution. - // We normalize it by the base instruction weight, as its cost in wasmi engine is 1. + // We normalize it by the base instruction weight, as its cost in wasmi engine is `1`. let fuel_limit = store .data_mut() .ext() diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 682ab831b6132..067c8fb64749b 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -314,8 +314,7 @@ pub fn get_memory_limits( /// Check that given `code` satisfies constraints required for the contract Wasm module. /// -/// On success it returns back the code together with its `(initial, maximum)` -/// memory limits. The memory requirement was also validated against the `schedule`. +/// On success it returns back the code. fn validate( code: &[u8], schedule: &Schedule, @@ -367,7 +366,8 @@ where 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)?; - // We do it here just to check that module imported memory satisfies the Schedule limits + // Extract memory limits from the module. + // This also checks that module's memory import satisfies the schedule. let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; @@ -381,8 +381,8 @@ where // This will make sure that the module can be actually run within wasmi: // - // - Doesn't use any unknown imports. - // - Doesn't explode the wasmi bytecode generation. + // - It doesn't use any unknown imports. + // - It doesn't explode the wasmi bytecode generation. if matches!(try_instantiate, TryInstantiate::Instantiate) { // We don't actually ever run any code so we can get away with a minimal stack which // reduces the amount of memory that needs to be zeroed. @@ -405,12 +405,11 @@ where /// 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`; -/// - all imported functions from the external environment matches defined by `env` module. +/// - The module doesn't define an internal memory instance. +/// - Imported memory (if any) doesn't reserve more memory than permitted by the `schedule`. +/// - All imported functions from the external environment match defined by `env` module. /// -/// TODO: re-phrase -/// Also constructs contract owner_info (metadata?) by calculating the storage deposit. +/// Also constructs contract `owner_info` by calculating the storage deposit. pub fn prepare( code: CodeVec, schedule: &Schedule, @@ -433,7 +432,7 @@ where (>::CodeTooLarge.into(), "preparation altered the code") ); - // Calculate deposit for storing contract code and owner info in two different storage items. + // Calculate deposit for storing contract code and `owner_info` in two different storage items. let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; let deposit = Diff { bytes_added, items_added: 2, ..Default::default() } .update_contract::(None) @@ -447,14 +446,13 @@ where /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. /// /// For benchmarking we need to construct special contracts that might not pass our -/// sanity checks. We hide functions -/// allowing this behind a feature that is only set during benchmarking or testing to -/// prevent usage in production code. +/// sanity checks. We hide functions allowing this behind a feature that is only set during +/// benchmarking or testing to prevent usage in production code. #[cfg(any(test, feature = "runtime-benchmarks"))] pub mod benchmarking { use super::*; - /// Prepare function that does not check the passed in code. + /// Prepare function that does not perform most checks on the passed in code. pub fn prepare( code: Vec, schedule: &Schedule, diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 6f3daefb21be7..e6b71e3c72dce 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -147,7 +147,6 @@ pub struct ReturnData { /// as a quick way to terminate the application (all other variants). #[derive(RuntimeDebug)] pub enum TrapReason { - // InstructionTrap(DispatchError), /// The supervisor trapped the contract because of an error condition occurred during /// execution in privileged code. SupervisorError(DispatchError), @@ -488,7 +487,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { match sandbox_result { // Contract returned from main function -> no data was returned. Ok(_) => Ok(ExecReturnValue { flags: ReturnFlags::empty(), data: Vec::new() }), - // OutOfGas when host asks engine to consume more than left in the _store_. + // `OutOfGas` when host asks engine to consume more than left in the _store_. // We should never get this case, as gas meter is being charged (and hence raises error) // first. Err(wasmi::Error::Store(_)) => Err(Error::::OutOfGas.into()), @@ -496,7 +495,7 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { Err(wasmi::Error::Trap(trap)) => { if let Some(code) = trap.trap_code() { match code { - // OutOfGas during engine execution. + // `OutOfGas` during engine execution. OutOfFuel => return Err(Error::::OutOfGas.into()), _ => (), } From cc05e88515b4ce317489f2aefb5d5f6d79b3202a Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 12 Jun 2023 13:59:03 +0300 Subject: [PATCH 17/70] bump wasmi 0.30.0 --- Cargo.lock | 11 +++++++++-- frame/contracts/Cargo.toml | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 65da4273333a2..3035e65473378 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3758,6 +3758,12 @@ dependencies = [ "webrtc-util", ] +[[package]] +name = "intx" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f38a50a899dc47a6d0ed5508e7f601a2e34c3a85303514b5d137f3c10a0c75" + [[package]] name = "io-lifetimes" version = "1.0.11" @@ -13272,10 +13278,11 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677160b1166881badada1137afc6457777126f328ae63a18058b504f546f0828" +checksum = "e51fb5c61993e71158abf5bb863df2674ca3ec39ed6471c64f07aeaf751d67b4" dependencies = [ + "intx", "smallvec", "spin 0.9.8", "wasmi_arena", diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml index 1b140c9379b3b..4b17131e72924 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -26,7 +26,7 @@ serde = { version = "1", optional = true, features = ["derive"] } smallvec = { version = "1", default-features = false, features = [ "const_generics", ] } -wasmi = { version = "0.29", default-features = false } +wasmi = { version = "0.30", default-features = false } wasmparser = { package = "wasmparser-nostd", version = "0.100", default-features = false } impl-trait-for-tuples = "0.2" From 0e2b0ab517693c62c0eb6aa11a46a01d121c18cf Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 12 Jun 2023 15:54:51 +0300 Subject: [PATCH 18/70] benchmarks updated, tests pass --- frame/contracts/src/benchmarking/code.rs | 38 +++++--------- frame/contracts/src/benchmarking/mod.rs | 56 +++------------------ frame/contracts/src/benchmarking/sandbox.rs | 17 +++++-- frame/contracts/src/wasm/mod.rs | 4 +- 4 files changed, 34 insertions(+), 81 deletions(-) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 07f24f385b035..b629b147729fd 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -24,18 +24,15 @@ //! we define this simple definition of a contract that can be passed to `create_code` that //! compiles it down into a `WasmModule` that can be used as a contract's code. -use crate::{Config, Determinism}; +use crate::Config; use frame_support::traits::Get; use sp_runtime::traits::Hash; use sp_std::{borrow::ToOwned, prelude::*}; -use wasm_instrument::{ - gas_metering, - parity_wasm::{ - builder, - elements::{ - self, BlockType, CustomSection, External, FuncBody, Instruction, Instructions, Module, - Section, ValueType, - }, +use wasm_instrument::parity_wasm::{ + builder, + elements::{ + self, BlockType, CustomSection, External, FuncBody, Instruction, Instructions, Module, + Section, ValueType, }, }; @@ -240,15 +237,9 @@ impl From for WasmModule { } impl WasmModule { - /// Uses the supplied wasm module and instruments it when requested. - pub fn instrumented(code: &[u8], inject_gas: bool) -> Self { - let module = { - let mut module = Module::from_bytes(code).unwrap(); - if inject_gas { - module = inject_gas_metering::(module); - } - module - }; + /// Uses the supplied wasm module. + pub fn from_code(code: &[u8]) -> Self { + let module = Module::from_bytes(code).unwrap(); let limits = *module .import_section() .unwrap() @@ -367,6 +358,7 @@ impl WasmModule { .into() } + #[allow(dead_code)] pub fn unary_instr(instr: Instruction, repeat: u32) -> Self { use body::DynInstr::{RandomI64Repeated, Regular}; ModuleDefinition { @@ -379,6 +371,7 @@ impl WasmModule { .into() } + #[allow(dead_code)] pub fn binary_instr(instr: Instruction, repeat: u32) -> Self { use body::DynInstr::{RandomI64Repeated, Regular}; ModuleDefinition { @@ -399,6 +392,7 @@ pub mod body { /// When generating contract code by repeating a wasm sequence, it's sometimes necessary /// to change those instructions on each repetition. The variants of this enum describe /// various ways in which this can happen. + #[allow(dead_code)] pub enum DynInstr { /// Insert the associated instruction. Regular(Instruction), @@ -499,6 +493,7 @@ pub mod body { } /// Replace the locals of the supplied `body` with `num` i64 locals. + #[allow(dead_code)] pub fn inject_locals(body: &mut FuncBody, num: u32) { use self::elements::Local; *body.locals_mut() = vec![Local::new(num, ValueType::I64)]; @@ -509,10 +504,3 @@ pub mod body { pub fn max_pages() -> u32 { T::Schedule::get().limits.memory_pages } - -fn inject_gas_metering(module: Module) -> Module { - let schedule = T::Schedule::get(); - let gas_rules = schedule.rules(Determinism::Enforced); - let backend = gas_metering::host_function::Injector::new("seal0", "gas"); - gas_metering::inject(module, backend, &gas_rules).unwrap() -} diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index 1473d5e20d566..0a3fed6385d86 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -40,10 +40,9 @@ use frame_support::{pallet_prelude::StorageVersion, weights::Weight}; use frame_system::RawOrigin; use sp_runtime::{ traits::{Bounded, Hash}, - Perbill, }; use sp_std::prelude::*; -use wasm_instrument::parity_wasm::elements::{BlockType, BrTableData, Instruction, ValueType}; +use wasm_instrument::parity_wasm::elements::{BlockType, Instruction, ValueType}; /// How many runs we do per API benchmark. /// @@ -218,7 +217,7 @@ benchmarks! { // This benchmarks the v9 migration step. (update codeStorage) #[pov_mode = Measured] v9_migration_step { - let c in 0 .. Perbill::from_percent(49).mul_ceil(T::MaxCodeLen::get()); + let c in 0 .. T::MaxCodeLen::get(); v9::store_old_dummy_code::(c as usize); let mut m = v9::Migration::::default(); }: { @@ -329,14 +328,9 @@ benchmarks! { // `c`: Size of the code in bytes. // `i`: Size of the input in bytes. // `s`: Size of the salt in bytes. - // - // # Note - // - // We cannot let `c` grow to the maximum code size because the code is not allowed - // to be larger than the maximum size **after instrumentation**. #[pov_mode = Measured] instantiate_with_code { - let c in 0 .. Perbill::from_percent(49).mul_ceil(T::MaxCodeLen::get()); + let c in 0 .. T::MaxCodeLen::get(); let i in 0 .. code::max_pages::() * 64 * 1024; let s in 0 .. code::max_pages::() * 64 * 1024; let input = vec![42u8; i as usize]; @@ -426,14 +420,9 @@ benchmarks! { // This constructs a contract that is maximal expensive to instrument. // It creates a maximum number of metering blocks per byte. // `c`: Size of the code in bytes. - // - // # Note - // - // We cannot let `c` grow to the maximum code size because the code is not allowed - // to be larger than the maximum size **after instrumentation**. #[pov_mode = Measured] upload_code { - let c in 0 .. Perbill::from_percent(49).mul_ceil(T::MaxCodeLen::get()); + let c in 0 .. T::MaxCodeLen::get(); let caller = whitelisted_caller(); T::Currency::make_free_balance_be(&caller, caller_funding::()); let WasmModule { code, hash, .. } = WasmModule::::sized(c, Location::Call); @@ -717,27 +706,6 @@ benchmarks! { let origin = RawOrigin::Signed(instance.caller.clone()); }: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![]) - #[pov_mode = Measured] - seal_gas { - let r in 0 .. API_BENCHMARK_RUNS; - let code = WasmModule::::from(ModuleDefinition { - imported_functions: vec![ImportedFunction { - module: "seal0", - name: "gas", - params: vec![ValueType::I64], - return_type: None, - }], - call_body: Some(body::repeated(r, &[ - Instruction::I64Const(42), - Instruction::Call(0), - ])), - .. Default::default() - }); - let instance = Contract::::new(code, vec![])?; - let origin = RawOrigin::Signed(instance.caller.clone()); - - }: call(origin, instance.addr, 0u32.into(), Weight::MAX, None, vec![]) - #[pov_mode = Measured] seal_input { let r in 0 .. API_BENCHMARK_RUNS; @@ -1032,7 +1000,7 @@ benchmarks! { // or maximum allowed debug buffer size, whichever is less. let i in 0 .. (T::Schedule::get().limits.memory_pages * 64 * 1024).min(T::MaxDebugBufferLen::get()); // We benchmark versus messages containing printable ASCII codes. - // About 1Kb goes to the instrumented contract code instructions, + // About 1Kb goes to the contract code instructions, // whereas all the space left we use for the initialization of the debug messages data. let message = (0 .. T::MaxCodeLen::get() - 1024).zip((32..127).cycle()).map(|i| i.1).collect::>(); let code = WasmModule::::from(ModuleDefinition { @@ -2467,21 +2435,16 @@ benchmarks! { }: {} // Execute one erc20 transfer using the ink! erc20 example contract. - // - // `g` is used to enable gas instrumentation to compare the performance impact of - // that instrumentation at runtime. #[extra] #[pov_mode = Measured] ink_erc20_transfer { - let g in 0 .. 1; - let gas_metering = g != 0; let code = load_benchmark!("ink_erc20"); let data = { let new: ([u8; 4], BalanceOf) = ([0x9b, 0xae, 0x9d, 0x5e], 1000u32.into()); new.encode() }; let instance = Contract::::new( - WasmModule::instrumented(code, gas_metering), data, + WasmModule::from_code(code), data, )?; let data = { let transfer: ([u8; 4], AccountIdOf, BalanceOf) = ( @@ -2507,14 +2470,9 @@ benchmarks! { } // Execute one erc20 transfer using the open zeppelin erc20 contract compiled with solang. - // - // `g` is used to enable gas instrumentation to compare the performance impact of - // that instrumentation at runtime. #[extra] #[pov_mode = Measured] solang_erc20_transfer { - let g in 0 .. 1; - let gas_metering = g != 0; let code = include_bytes!("../../benchmarks/solang_erc20.wasm"); let caller = account::("instantiator", 0, 0); let mut balance = [0u8; 32]; @@ -2530,7 +2488,7 @@ benchmarks! { new.encode() }; let instance = Contract::::with_caller( - caller, WasmModule::instrumented(code, gas_metering), data, + caller, WasmModule::from_code(code), data, )?; balance[0] = 1; let data = { diff --git a/frame/contracts/src/benchmarking/sandbox.rs b/frame/contracts/src/benchmarking/sandbox.rs index e9b698e41a079..a47cfcdb4c542 100644 --- a/frame/contracts/src/benchmarking/sandbox.rs +++ b/frame/contracts/src/benchmarking/sandbox.rs @@ -15,11 +15,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -/// ! For instruction benchmarking we do no instantiate a full contract but merely the -/// ! sandbox to execute the wasm code. This is because we do not need the full +/// ! For instruction benchmarking we do not instantiate a full contract but merely the +/// ! 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}; +use crate::wasm::{AllowDeprecatedInterface, AllowUnstableInterface, Environment, WasmBlob}; use wasmi::{errors::LinkerError, Func, Linker, StackLimits, Store}; /// Minimal execution environment without any imported functions. @@ -37,14 +37,15 @@ impl Sandbox { impl From<&WasmModule> for Sandbox { /// Creates an instance from the supplied module and supplies as much memory - /// to the instance as the module declares as imported. + /// to the instance as the module declares as imported. Sets the execution engine fuel level + /// to `u64::MAX`. fn from(module: &WasmModule) -> Self { let memory = module .memory .as_ref() .map(|mem| (mem.min_pages, mem.max_pages)) .unwrap_or((0, 0)); - let (store, _memory, instance) = WasmBlob::::instantiate::( + let (mut store, _memory, instance) = WasmBlob::::instantiate::( &module.code, (), memory, @@ -53,6 +54,12 @@ impl From<&WasmModule> for Sandbox { AllowDeprecatedInterface::No, ) .expect("Failed to create benchmarking Sandbox instance"); + + // Set fuel for wasmi execution. + store + .add_fuel(u64::MAX) + .expect("We've set up engine to fuel consuming mode; qed"); + let entry_point = instance.get_export(&store, "call").unwrap().into_func().unwrap(); Self { entry_point, store } } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 77c8e7748ea2a..da23a78e8a0ee 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -362,8 +362,8 @@ impl WasmBlob { schedule: &Schedule, owner: T::AccountId, ) -> DispatchResult { - let (executable, owner_info) = Self::from_code_unchecked(code, schedule, owner)?; - store_code(executable, false) + let executable = Self::from_code_unchecked(code, schedule, owner)?; + Self::store_code(executable, false) } /// Create the module without checking the passed code. From e6e3563bb0532b79c4238fb4fdaaa7a9512194a3 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 12 Jun 2023 16:22:11 +0300 Subject: [PATCH 19/70] refactoring --- frame/contracts/proc-macro/src/lib.rs | 5 ++--- frame/contracts/src/benchmarking/mod.rs | 4 +--- frame/contracts/src/gas.rs | 9 +++++---- frame/contracts/src/lib.rs | 2 +- frame/contracts/src/schedule.rs | 6 ------ frame/contracts/src/wasm/mod.rs | 5 ++--- 6 files changed, 11 insertions(+), 20 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 696a098dbddd3..896109b665cb8 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -679,10 +679,9 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) let sync_gas_before = if expand_blocks { quote! { let __gas_before__ = { - let engine_consumed = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); + let engine_consumed_total = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); let gas_meter = __caller__.data_mut().ext().gas_meter_mut(); - let fuel_to_charge = engine_consumed.saturating_sub(gas_meter.engine_consumed()); - gas_meter.sync_fuel(fuel_to_charge).map_err(#into_trap).map_err(#into_host)?.ref_time() + gas_meter.sync_fuel(engine_consumed_total).map_err(#into_trap).map_err(#into_host)?.ref_time() }; } } else { diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index 0a3fed6385d86..cea35e8f18116 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -38,9 +38,7 @@ use codec::{Encode, MaxEncodedLen}; use frame_benchmarking::v1::{account, benchmarks, whitelisted_caller}; use frame_support::{pallet_prelude::StorageVersion, weights::Weight}; use frame_system::RawOrigin; -use sp_runtime::{ - traits::{Bounded, Hash}, -}; +use sp_runtime::traits::{Bounded, Hash}; use sp_std::prelude::*; use wasm_instrument::parity_wasm::elements::{BlockType, Instruction, ValueType}; diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index c630afe1304aa..8373e9e78ddee 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -185,17 +185,18 @@ impl GasMeter { self.gas_left = self.gas_left.saturating_add(adjustment).min(self.gas_limit); } - /// This method is used for gas syncs with the engine at start of every host function call. + /// This method is used for gas syncs with the engine. /// /// Updates internal `engine_comsumed` tracker of engine fuel consumption. /// - /// Charges self with the `ref_time` Weight corresponding to `wasmi_fuel` consumed on the engine - /// side. Passed value is scaled by multiplying it by the weight of a basic operation, as such - /// an operation in wasmi engine costs 1. + /// Charges self with the `ref_time` Weight corresponding to wasmi fuel consumed on the engine + /// side since last sync. Passed value is scaled by multiplying it by the weight of a basic + /// operation, as such an operation in wasmi engine costs 1. /// /// Returns the updated `gas_left` `Weight` value from the meter. /// Normally this would never fail, as engine should fail first when out of gas. pub fn sync_fuel(&mut self, wasmi_fuel: u64) -> Result { + let wasmi_fuel = wasmi_fuel.saturating_sub(self.engine_consumed); if !wasmi_fuel.is_zero() { self.engine_consumed += wasmi_fuel; let reftime_consumed = diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 00cfc011f686f..2b435bdb2aaa1 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -925,7 +925,7 @@ pub mod pallet { NoMigrationPerformed, } - /// A mapping from an original code hash to the original code, untouched by instrumentation. + /// A mapping from an original code hash to the original code. #[pallet::storage] pub(crate) type PristineCode = StorageMap<_, Identity, CodeHash, CodeVec>; diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index 75d4b58757176..6d543c4d31c47 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -76,12 +76,6 @@ pub struct Schedule { } /// Describes the upper limits on various metrics. -/// -/// # Note -/// -/// The values in this struct should never be decreased. The reason is that decreasing those -/// values will break existing contracts which are above the new limits when a -/// re-instrumentation is triggered. #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] #[derive(Clone, Encode, Decode, PartialEq, Eq, RuntimeDebug, TypeInfo)] pub struct Limits { diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index da23a78e8a0ee..6a371ce18f75e 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -475,11 +475,10 @@ impl Executable for WasmBlob { } let result = exported_func.call(&mut store, &[], &mut []); - let engine_consumed = store.fuel_consumed().expect("Fuel metering is enabled; qed"); + let engine_consumed_total = store.fuel_consumed().expect("Fuel metering is enabled; qed"); // Sync this frame's gas meter with the engine's one. let gas_meter = store.data_mut().ext().gas_meter_mut(); - let fuel_to_charge = engine_consumed.saturating_sub(gas_meter.engine_consumed()); - gas_meter.sync_fuel(fuel_to_charge)?; + gas_meter.sync_fuel(engine_consumed_total)?; store.into_data().to_execution_result(result) } From f4ffcf2df34ebf7955d9a716c71d7c25d0f5156b Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 12 Jun 2023 16:54:31 +0300 Subject: [PATCH 20/70] s/OwnerInfo/CodeInfo/g; --- frame/contracts/src/benchmarking/mod.rs | 6 +-- frame/contracts/src/lib.rs | 10 ++--- frame/contracts/src/tests.rs | 16 +++---- frame/contracts/src/wasm/mod.rs | 56 ++++++++++++------------- frame/contracts/src/wasm/prepare.rs | 16 +++---- 5 files changed, 52 insertions(+), 52 deletions(-) diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index cea35e8f18116..50ba8d7cc2fe4 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -159,12 +159,12 @@ where /// Returns `true` iff all storage entries related to code storage exist. fn code_exists(hash: &CodeHash) -> bool { - >::contains_key(hash) && >::contains_key(&hash) + >::contains_key(hash) && >::contains_key(&hash) } /// Returns `true` iff no storage entry related to code storage exist. fn code_removed(hash: &CodeHash) -> bool { - !>::contains_key(hash) && !>::contains_key(&hash) + !>::contains_key(hash) && !>::contains_key(&hash) } } @@ -434,7 +434,7 @@ benchmarks! { // Removing code does not depend on the size of the contract because all the information // needed to verify the removal claim (refcount, owner) is stored in a separate storage - // item (`OwnerInfoOf`). + // item (`CodeInfoOf`). #[pov_mode = Measured] remove_code { let caller = whitelisted_caller(); diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 2b435bdb2aaa1..35f2e0d4da87b 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -101,7 +101,7 @@ use crate::{ exec::{AccountIdOf, ErrorOrigin, ExecError, Executable, Key, Stack as ExecStack}, gas::GasMeter, storage::{meter::Meter as StorageMeter, ContractInfo, DeletionQueueManager}, - wasm::{OwnerInfo, TryInstantiate, WasmBlob}, + wasm::{CodeInfo, TryInstantiate, WasmBlob}, weights::WeightInfo, }; use codec::{Codec, Decode, Encode, HasCompact}; @@ -931,7 +931,7 @@ pub mod pallet { /// A mapping between an original code hash and its owner information. #[pallet::storage] - pub(crate) type OwnerInfoOf = StorageMap<_, Identity, CodeHash, OwnerInfo>; + pub(crate) type CodeInfoOf = StorageMap<_, Identity, CodeHash, CodeInfo>; /// This is a **monotonic** counter incremented on contract instantiation. /// @@ -1225,12 +1225,12 @@ impl Invokable for InstantiateInput { .map(|buffer| buffer.try_extend(&mut msg.bytes())); err })?; - let owner_info = executable.owner_info.clone(); + let code_info = executable.code_info.clone(); // The open deposit will be charged during execution when the // uploaded module does not already exist. This deposit is not part of the // storage meter because it is not transferred to the contract but // reserved on the uploading account. - (executable.open_deposit(owner_info), executable) + (executable.open_deposit(code_info), executable) }, Code::Existing(hash) => (Default::default(), WasmBlob::from_storage(*hash, &schedule, &mut gas_meter)?), @@ -1417,7 +1417,7 @@ impl Pallet { let module = WasmBlob::from_code(code, &schedule, origin, determinism, TryInstantiate::Instantiate) .map_err(|(err, _)| err)?; - let deposit = module.open_deposit(module.owner_info.clone()); + let deposit = module.open_deposit(module.code_info.clone()); if let Some(storage_deposit_limit) = storage_deposit_limit { ensure!(storage_deposit_limit >= deposit, >::StorageDepositLimitExhausted); } diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 800d866f6eb8a..925eda3edab31 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -83,7 +83,7 @@ macro_rules! assert_return_code { macro_rules! assert_refcount { ( $code_hash:expr , $should:expr $(,)? ) => {{ - let is = crate::OwnerInfoOf::::get($code_hash).map(|m| m.refcount()).unwrap(); + let is = crate::CodeInfoOf::::get($code_hash).map(|m| m.refcount()).unwrap(); assert_eq!(is, $should); }}; } @@ -91,8 +91,8 @@ macro_rules! assert_refcount { pub mod test_utils { use super::{Balances, DepositPerByte, DepositPerItem, Hash, SysConfig, Test}; use crate::{ - exec::AccountIdOf, CodeHash, Config, ContractInfo, ContractInfoOf, Nonce, OwnerInfo, - OwnerInfoOf, PristineCode, + exec::AccountIdOf, CodeHash, CodeInfo, CodeInfoOf, Config, ContractInfo, ContractInfoOf, + Nonce, PristineCode, }; use codec::{Encode, MaxEncodedLen}; use frame_support::traits::Currency; @@ -124,15 +124,15 @@ pub mod test_utils { } pub fn expected_deposit(code_len: usize) -> u64 { // For onwer info, the deposit for max_encoded_len is taken. - let owner_info_len = OwnerInfo::::max_encoded_len() as u64; + let code_info_len = CodeInfo::::max_encoded_len() as u64; // Calculate deposit to be reserved. - // We add 2 storage items: one for code, other for owner_info - DepositPerByte::get().saturating_mul(code_len as u64 + owner_info_len) + + // We add 2 storage items: one for code, other for code_info + DepositPerByte::get().saturating_mul(code_len as u64 + code_info_len) + DepositPerItem::get().saturating_mul(2) } pub fn ensure_stored(code_hash: CodeHash) -> usize { - // Assert that owner_info is stored - assert!(OwnerInfoOf::::contains_key(&code_hash)); + // Assert that code_info is stored + assert!(CodeInfoOf::::contains_key(&code_hash)); // Assert that contract code is stored, and get its size. PristineCode::::try_get(&code_hash).unwrap().len() } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 6a371ce18f75e..da48e8af19222 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -39,8 +39,8 @@ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, gas::{GasMeter, Token}, weights::WeightInfo, - AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeVec, Config, Error, Event, OwnerInfoOf, - Pallet, PristineCode, Schedule, Weight, LOG_TARGET, + AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeInfoOf, CodeVec, Config, Error, Event, Pallet, + PristineCode, Schedule, Weight, LOG_TARGET, }; use codec::{Decode, Encode, MaxEncodedLen}; use frame_support::{ @@ -65,21 +65,21 @@ pub struct WasmBlob { code: CodeVec, // This isn't needed for contract execution and is not stored alongside it. #[codec(skip)] - pub owner_info: OwnerInfo, + pub code_info: CodeInfo, } /// Contract code related data, such as: +/// /// - owner of the contract, i.e. account uploaded its code, /// - storage deposit amount, /// - reference count, /// - determinism marker. -/// TODO: rename this struct to `CodeInfo`? /// /// It is stored in a separate storage entry to avoid loading the code when not necessary. #[derive(Clone, Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] #[codec(mel_bound())] #[scale_info(skip_type_params(T))] -pub struct OwnerInfo { +pub struct CodeInfo { /// The account that has uploaded the contract code and hence is allowed to remove it. owner: AccountIdOf, /// The amount of balance that was deposited by the owner in order to store it on-chain. @@ -188,8 +188,8 @@ impl WasmBlob { /// /// Returns `0` if the module is already in storage and hence no deposit will /// be charged when storing it. - pub fn open_deposit(&self, owner_info: OwnerInfo) -> BalanceOf { - >::try_get(self.code_hash()).map_or(owner_info.deposit, |_| 0u32.into()) + pub fn open_deposit(&self, code_info: CodeInfo) -> BalanceOf { + >::try_get(self.code_hash()).map_or(code_info.deposit, |_| 0u32.into()) } /// Creates and returns an instance of the supplied code. @@ -255,11 +255,11 @@ impl WasmBlob { /// storage. fn store_code(mut module: Self, instantiated: bool) -> DispatchResult { let code_hash = &module.code_hash(); - >::mutate(code_hash, |stored_owner_info| { - match stored_owner_info { + >::mutate(code_hash, |stored_code_info| { + match stored_code_info { // Instantiate existing contract. - Some(stored_owner_info) if instantiated => { - stored_owner_info.refcount = stored_owner_info.refcount.checked_add(1).expect( + Some(stored_code_info) if instantiated => { + stored_code_info.refcount = stored_code_info.refcount.checked_add(1).expect( " refcount is 64bit. Generating this overflow would require to store _at least_ 18 exabyte of data assuming that a contract consumes only @@ -274,15 +274,15 @@ impl WasmBlob { Some(_) => Ok(()), // Upload a new contract code. // - // We need to store the code and its owner_info, and collect the deposit. + // We need to store the code and its code_info, and collect the deposit. None => { // This `None` case happens only in freshly uploaded modules. This means that // the `owner` is always the origin of the current transaction. - T::Currency::reserve(&module.owner_info.owner, module.owner_info.deposit) + T::Currency::reserve(&module.code_info.owner, module.code_info.deposit) .map_err(|_| >::StorageDepositNotEnoughFunds)?; - module.owner_info.refcount = if instantiated { 1 } else { 0 }; + module.code_info.refcount = if instantiated { 1 } else { 0 }; >::insert(code_hash, module.code); - *stored_owner_info = Some(module.owner_info); + *stored_code_info = Some(module.code_info); >::deposit_event( vec![*code_hash], Event::CodeStored { code_hash: *code_hash }, @@ -295,11 +295,11 @@ impl WasmBlob { /// Try to remove code together with all associated information. fn try_remove_code(origin: &T::AccountId, code_hash: CodeHash) -> DispatchResult { - >::try_mutate_exists(&code_hash, |existing| { - if let Some(owner_info) = existing { - ensure!(owner_info.refcount == 0, >::CodeInUse); - ensure!(&owner_info.owner == origin, BadOrigin); // TODO: what if origin is root? - T::Currency::unreserve(&owner_info.owner, owner_info.deposit); + >::try_mutate_exists(&code_hash, |existing| { + if let Some(code_info) = existing { + ensure!(code_info.refcount == 0, >::CodeInUse); + ensure!(&code_info.owner == origin, BadOrigin); // TODO: what if origin is root? + T::Currency::unreserve(&code_info.owner, code_info.deposit); *existing = None; >::remove(&code_hash); >::deposit_event(vec![code_hash], Event::CodeRemoved { code_hash }); @@ -332,7 +332,7 @@ impl WasmBlob { /// A contract whose reference count dropped to zero isn't automatically removed. A /// `remove_code` transaction must be submitted by the original uploader to do so. fn decrement_refcount(code_hash: CodeHash) { - >::mutate(code_hash, |existing| { + >::mutate(code_hash, |existing| { if let Some(info) = existing { info.refcount = info.refcount.saturating_sub(1); } @@ -346,7 +346,7 @@ impl WasmBlob { /// [`Error::CodeNotFound`] is returned if no stored code found having the specified /// `code_hash`. fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { - >::mutate(code_hash, |existing| -> Result<(), DispatchError> { + >::mutate(code_hash, |existing| -> Result<(), DispatchError> { if let Some(info) = existing { info.refcount = info.refcount.saturating_add(1); Ok(()) @@ -384,7 +384,7 @@ impl WasmBlob { } } -impl OwnerInfo { +impl CodeInfo { /// Return the refcount of the module. #[cfg(test)] pub fn refcount(&self) -> u64 { @@ -400,13 +400,13 @@ impl Executable for WasmBlob { ) -> Result { let code = Self::load_code(code_hash, gas_meter)?; let code_hash = T::Hashing::hash(&code); - // We store `owner_info` at the same time as contract code, + // We store `code_info` at the same time as contract code, // therefore this query shouldn't really fail. // We consider its failure equal to `CodeNotFound`, as contract code without - // `owner_info` is unusable in this pallet. - let owner_info = >::get(code_hash).ok_or(Error::::CodeNotFound)?; + // `code_info` is unusable in this pallet. + let code_info = >::get(code_hash).ok_or(Error::::CodeNotFound)?; - Ok(Self { code, owner_info }) + Ok(Self { code, code_info }) } fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { @@ -492,7 +492,7 @@ impl Executable for WasmBlob { } fn is_deterministic(&self) -> bool { - matches!(self.owner_info.determinism, Determinism::Enforced) + matches!(self.code_info.determinism, Determinism::Enforced) } } diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 067c8fb64749b..ed2e73c18b800 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -23,7 +23,7 @@ use crate::{ chain_extension::ChainExtension, ensure, storage::meter::Diff, - wasm::{runtime::AllowDeprecatedInterface, Determinism, Environment, OwnerInfo, WasmBlob}, + wasm::{runtime::AllowDeprecatedInterface, CodeInfo, Determinism, Environment, WasmBlob}, AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, }; use codec::MaxEncodedLen; @@ -409,7 +409,7 @@ where /// - Imported memory (if any) doesn't reserve more memory than permitted by the `schedule`. /// - All imported functions from the external environment match defined by `env` module. /// -/// Also constructs contract `owner_info` by calculating the storage deposit. +/// Also constructs contract `code_info` by calculating the storage deposit. pub fn prepare( code: CodeVec, schedule: &Schedule, @@ -432,15 +432,15 @@ where (>::CodeTooLarge.into(), "preparation altered the code") ); - // Calculate deposit for storing contract code and `owner_info` in two different storage items. - let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; + // Calculate deposit for storing contract code and `code_info` in two different storage items. + let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; let deposit = Diff { bytes_added, items_added: 2, ..Default::default() } .update_contract::(None) .charge_or_zero(); - let owner_info = OwnerInfo { owner, deposit, determinism, refcount: 0 }; + let code_info = CodeInfo { owner, deposit, determinism, refcount: 0 }; - Ok(WasmBlob { code, owner_info }) + Ok(WasmBlob { code, code_info }) } /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. @@ -463,7 +463,7 @@ pub mod benchmarking { let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = code.try_into().map_err(|_| "Code too large!")?; - let owner_info = OwnerInfo { + let code_info = CodeInfo { owner, // this is a helper function for benchmarking which skips deposit collection deposit: Default::default(), @@ -471,7 +471,7 @@ pub mod benchmarking { determinism: Determinism::Enforced, }; - Ok(WasmBlob { code, owner_info }) + Ok(WasmBlob { code, code_info }) } } From a50b7cfd7e019e3bbc04cb96b9f70d39c33d8bac Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 12 Jun 2023 19:34:35 +0300 Subject: [PATCH 21/70] migration: draft, compiles --- frame/contracts/src/migration.rs | 1 + frame/contracts/src/migration/v12.rs | 197 +++++++++++++++++++++++++++ frame/contracts/src/weights.rs | 33 +++++ 3 files changed, 231 insertions(+) create mode 100644 frame/contracts/src/migration/v12.rs diff --git a/frame/contracts/src/migration.rs b/frame/contracts/src/migration.rs index ad85da0477148..76993cd30aab1 100644 --- a/frame/contracts/src/migration.rs +++ b/frame/contracts/src/migration.rs @@ -19,6 +19,7 @@ pub mod v10; pub mod v11; +pub mod v12; pub mod v9; use crate::{weights::WeightInfo, Config, Error, MigrationInProgress, Pallet, Weight, LOG_TARGET}; diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs new file mode 100644 index 0000000000000..3864c1f8cf313 --- /dev/null +++ b/frame/contracts/src/migration/v12.rs @@ -0,0 +1,197 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Move the `determinism` field to `CodeInfo` (ex. `OwnerInfo`), remove `CodeStorage` and repay +//! deposits. + +use crate::{ + migration::{IsFinished, Migrate}, + weights::WeightInfo, + AccountIdOf, BalanceOf, CodeHash, Config, Determinism, Pallet, Weight, LOG_TARGET, +}; + +use codec::{Decode, Encode}; +use frame_support::{ + codec, pallet_prelude::*, storage_alias, BoundedVec, DefaultNoBound, Identity, +}; +#[cfg(feature = "try-runtime")] +use sp_runtime::TryRuntimeError; +use sp_std::{marker::PhantomData, prelude::*}; + +mod old { + use super::*; + + #[derive(Encode, Decode)] + pub struct OwnerInfo { + pub owner: AccountIdOf, + #[codec(compact)] + pub deposit: BalanceOf, + #[codec(compact)] + pub refcount: u64, + } + + #[derive(Encode, Decode)] + pub struct PrefabWasmModule { + #[codec(compact)] + pub instruction_weights_version: u32, + #[codec(compact)] + pub initial: u32, + #[codec(compact)] + pub maximum: u32, + pub code: Vec, + pub determinism: Determinism, + } + + #[storage_alias] + pub type OwnerInfoOf = + StorageMap, Twox64Concat, CodeHash, OwnerInfo>; + + #[storage_alias] + pub type CodeStorage = + StorageMap, Identity, CodeHash, PrefabWasmModule>; +} + +#[derive(Encode, Decode)] +pub struct CodeInfo { + owner: AccountIdOf, + #[codec(compact)] + deposit: BalanceOf, + #[codec(compact)] + refcount: u64, + determinism: Determinism, +} + +#[storage_alias] +pub type CodeInfoOf = StorageMap, Twox64Concat, CodeHash, CodeInfo>; + +#[cfg(feature = "runtime-benchmarks")] +pub fn store_old_owner_info(len: usize) { + use sp_runtime::traits::Hash; + let info = old::OnwerInfo { + owner: Default::default(), + deposit: BalanceOf::::max(), + refcount: u64::MAX, + }; + let hash = T::Hashing::hash(&info.owner.into()); + old::OwnerInfoOf::::insert(hash, info); +} + +#[derive(Encode, Decode, MaxEncodedLen, DefaultNoBound)] +pub struct Migration { + last_key: Option>>, + _phantom: PhantomData, +} + +impl Migrate for Migration { + const VERSION: u16 = 12; + + fn max_step_weight() -> Weight { + T::WeightInfo::v12_migration_step(T::MaxCodeLen::get()) + } + + fn step(&mut self) -> (IsFinished, Weight) { + let mut iter = if let Some(last_key) = self.last_key.take() { + old::OwnerInfoOf::::iter_from(last_key.to_vec()) + } else { + old::OwnerInfoOf::::iter() + }; + + if let Some((key, old)) = iter.next() { + log::debug!(target: LOG_TARGET, "Migrating OwnerInfo for code_hash {:?}", key); + let module = old::CodeStorage::::take(key).unwrap_or_else(|| { + log::error!( + target: LOG_TARGET, + "No PrefabWasmModule found for code_hash: {:?}", + key + ); + panic!(); + }); + let freed_bytes = module.encode().len(); + log::debug!( + target: LOG_TARGET, + "Freed 1 storage item with size (in bytes): {:?}", + freed_bytes + ); + + // TODO: remove this, as calculated determinism added bytes + let freed_bytes = old.encode().len(); + + let info = CodeInfo { + determinism: module.determinism, + owner: old.owner, + deposit: old.deposit, + refcount: old.refcount, + }; + + let occupied_bytes = info.encode().len() - freed_bytes; + + CodeInfoOf::::insert(key, info); + log::debug!( + target: LOG_TARGET, + "Occupied more (for storing determinism) bytes: {:?}", + occupied_bytes + ); + + self.last_key = Some(iter.last_raw_key().to_vec().try_into().unwrap()); + + // TODO: repay deposit + // TODO: write benchmark and pass corrent len instead of freed_bytes + (IsFinished::No, T::WeightInfo::v12_migration_step(freed_bytes as u32)) + } else { + log::debug!(target: LOG_TARGET, "No more owner_info to migrate"); + (IsFinished::Yes, T::WeightInfo::v12_migration_step(0)) + } + } + + #[cfg(feature = "try-runtime")] + fn pre_upgrade_step() -> Result, TryRuntimeError> { + let sample: Vec<_> = old::OwnerInfoOf::::iter() + .take(100) + .map(|(k, v)| { + let module = old::CodeStorage::::get(k) + .expect("No PrefabWasmModule found for code_hash: {:?}"); + let info: CodeInfo = CodeInfo { + determinism: module.determinism, + deposit: v.deposit, + refcount: v.refcount, + owner: v.owner, + }; + (k, info) + }) + .collect(); + + log::debug!(target: LOG_TARGET, "Taking sample of {} owner infos", sample.len()); + Ok(sample.encode()) + } + + #[cfg(feature = "try-runtime")] + fn post_upgrade_step(state: Vec) -> Result<(), TryRuntimeError> { + let sample = , CodeInfo)> as Decode>::decode(&mut &state[..]).unwrap(); + + log::debug!(target: LOG_TARGET, "Validating sample of {} code infos", sample.len()); + for (code_hash, old) in sample { + let info = CodeInfoOf::::get(&code_hash).unwrap(); + + ensure!(info.determinism == old.determinism, "invalid determinism"); + ensure!(info.owner == old.owner, "invalid owner"); + ensure!(info.deposit == old.deposit, "invalid deposit"); + ensure!(info.refcount == old.refcount, "invalid refcount"); + } + + Ok(()) + } +} diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index 0d2a804152048..cbd906a0b213d 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -56,6 +56,7 @@ pub trait WeightInfo { fn v9_migration_step(c: u32, ) -> Weight; fn v10_migration_step() -> Weight; fn v11_migration_step(k: u32, ) -> Weight; + fn v12_migration_step(k: u32, ) -> Weight; fn migration_noop() -> Weight; fn migrate() -> Weight; fn on_runtime_upgrade_noop() -> Weight; @@ -272,6 +273,22 @@ impl WeightInfo for SubstrateWeight { .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } + + /// Placeholder, should be replaced with new benchmarked weight + fn v12_migration_step(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `138 + k * (1 ±0)` + // Estimated: `3602 + k * (1 ±0)` + // Minimum execution time: 3_952_000 picoseconds. + Weight::from_parts(4_129_000, 3602) + // Standard Error: 1_521 + .saturating_add(Weight::from_parts(1_013_657, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn migration_noop() -> Weight { @@ -2494,6 +2511,22 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } + + /// Placeholder, should be replaced with new benchmarked weight + fn v12_migration_step(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `138 + k * (1 ±0)` + // Estimated: `3602 + k * (1 ±0)` + // Minimum execution time: 3_952_000 picoseconds. + Weight::from_parts(4_129_000, 3602) + // Standard Error: 1_521 + .saturating_add(Weight::from_parts(1_013_657, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn migration_noop() -> Weight { From c6b9f747dd8b3c6b25a8b5d5c79728237430d5e4 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 13 Jun 2023 14:52:21 +0300 Subject: [PATCH 22/70] migration: draft, runs --- frame/contracts/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 35f2e0d4da87b..be1ef7e519c93 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -182,7 +182,7 @@ pub mod pallet { /// The current storage version. #[cfg(not(any(test, feature = "runtime-benchmarks")))] - const STORAGE_VERSION: StorageVersion = StorageVersion::new(11); + const STORAGE_VERSION: StorageVersion = StorageVersion::new(12); /// Hard coded storage version for running tests that depend on the current storage version. #[cfg(any(test, feature = "runtime-benchmarks"))] From 132e9ce80654cdb970b13fc8a400499862293042 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 13 Jun 2023 15:14:40 +0300 Subject: [PATCH 23/70] migration: draft, runs (fixing) --- frame/contracts/src/migration/v12.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 3864c1f8cf313..6710b92173dfe 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -35,7 +35,9 @@ use sp_std::{marker::PhantomData, prelude::*}; mod old { use super::*; - #[derive(Encode, Decode)] + #[derive(Encode, Decode, scale_info::TypeInfo)] + #[codec(mel_bound())] + #[scale_info(skip_type_params(T))] pub struct OwnerInfo { pub owner: AccountIdOf, #[codec(compact)] @@ -44,7 +46,9 @@ mod old { pub refcount: u64, } - #[derive(Encode, Decode)] + #[derive(Encode, Decode, scale_info::TypeInfo)] + #[codec(mel_bound())] + #[scale_info(skip_type_params(T))] pub struct PrefabWasmModule { #[codec(compact)] pub instruction_weights_version: u32, @@ -104,12 +108,13 @@ impl Migrate for Migration { } fn step(&mut self) -> (IsFinished, Weight) { + log::debug!(target: LOG_TARGET, "In THE STEP!"); let mut iter = if let Some(last_key) = self.last_key.take() { old::OwnerInfoOf::::iter_from(last_key.to_vec()) } else { old::OwnerInfoOf::::iter() }; - + log::debug!(target: LOG_TARGET, "BEFORE start iterating!"); if let Some((key, old)) = iter.next() { log::debug!(target: LOG_TARGET, "Migrating OwnerInfo for code_hash {:?}", key); let module = old::CodeStorage::::take(key).unwrap_or_else(|| { @@ -159,8 +164,10 @@ impl Migrate for Migration { #[cfg(feature = "try-runtime")] fn pre_upgrade_step() -> Result, TryRuntimeError> { + let len = 5; + log::debug!(target: LOG_TARGET, "Taking sample of {} owner infos", len); let sample: Vec<_> = old::OwnerInfoOf::::iter() - .take(100) + .take(len) .map(|(k, v)| { let module = old::CodeStorage::::get(k) .expect("No PrefabWasmModule found for code_hash: {:?}"); @@ -174,7 +181,6 @@ impl Migrate for Migration { }) .collect(); - log::debug!(target: LOG_TARGET, "Taking sample of {} owner infos", sample.len()); Ok(sample.encode()) } From 9935e92464ad9a1e8544f3dff056319404a4acce Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 13 Jun 2023 17:58:50 +0300 Subject: [PATCH 24/70] deposits repaid non pro rata --- frame/contracts/src/migration/v12.rs | 162 +++++++++++++++++---------- 1 file changed, 105 insertions(+), 57 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 6710b92173dfe..b7bb7feb417eb 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -15,21 +15,24 @@ // See the License for the specific language governing permissions and // limitations under the License. -//! Move the `determinism` field to `CodeInfo` (ex. `OwnerInfo`), remove `CodeStorage` and repay -//! deposits. +//! Move `OwnerInfo` to `CodeInfo`, add `determinism` field to the latter, clear `CodeStorage` and +//! repay deposits. use crate::{ migration::{IsFinished, Migrate}, + storage::meter::Diff, weights::WeightInfo, AccountIdOf, BalanceOf, CodeHash, Config, Determinism, Pallet, Weight, LOG_TARGET, }; - use codec::{Decode, Encode}; use frame_support::{ - codec, pallet_prelude::*, storage_alias, BoundedVec, DefaultNoBound, Identity, + codec, pallet_prelude::*, storage_alias, traits::ReservableCurrency, BoundedVec, + DefaultNoBound, Identity, }; +use scale_info::prelude::format; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; +use sp_runtime::{traits::Zero, Saturating}; use sp_std::{marker::PhantomData, prelude::*}; mod old { @@ -61,8 +64,7 @@ mod old { } #[storage_alias] - pub type OwnerInfoOf = - StorageMap, Twox64Concat, CodeHash, OwnerInfo>; + pub type OwnerInfoOf = StorageMap, Identity, CodeHash, OwnerInfo>; #[storage_alias] pub type CodeStorage = @@ -79,20 +81,13 @@ pub struct CodeInfo { determinism: Determinism, } +type CodeVec = BoundedVec::MaxCodeLen>; + #[storage_alias] pub type CodeInfoOf = StorageMap, Twox64Concat, CodeHash, CodeInfo>; -#[cfg(feature = "runtime-benchmarks")] -pub fn store_old_owner_info(len: usize) { - use sp_runtime::traits::Hash; - let info = old::OnwerInfo { - owner: Default::default(), - deposit: BalanceOf::::max(), - refcount: u64::MAX, - }; - let hash = T::Hashing::hash(&info.owner.into()); - old::OwnerInfoOf::::insert(hash, info); -} +#[storage_alias] +pub type PristineCode = StorageMap, Identity, CodeHash, CodeVec>; #[derive(Encode, Decode, MaxEncodedLen, DefaultNoBound)] pub struct Migration { @@ -108,56 +103,67 @@ impl Migrate for Migration { } fn step(&mut self) -> (IsFinished, Weight) { - log::debug!(target: LOG_TARGET, "In THE STEP!"); let mut iter = if let Some(last_key) = self.last_key.take() { - old::OwnerInfoOf::::iter_from(last_key.to_vec()) + PristineCode::::iter_from(last_key.to_vec()) } else { - old::OwnerInfoOf::::iter() + PristineCode::::iter() }; - log::debug!(target: LOG_TARGET, "BEFORE start iterating!"); - if let Some((key, old)) = iter.next() { - log::debug!(target: LOG_TARGET, "Migrating OwnerInfo for code_hash {:?}", key); - let module = old::CodeStorage::::take(key).unwrap_or_else(|| { - log::error!( - target: LOG_TARGET, - "No PrefabWasmModule found for code_hash: {:?}", - key - ); - panic!(); - }); - let freed_bytes = module.encode().len(); + if let Some((hash, code)) = iter.next() { + let old = old::OwnerInfoOf::::take(hash) + .expect(format!("OwnerInfo for code_hash {:?} not found!", hash).as_str()); + + log::debug!(target: LOG_TARGET, "Migrating OwnerInfo for code_hash {:?}", hash); + + let module = old::CodeStorage::::take(hash) + .expect(format!("No PrefabWasmModule found for code_hash: {:?}", hash).as_str()); + + // We print this to measure the impact of the migration. + // Storage removed: deleted PrefabWasmModule's encoded len. + // Storage added: determinism field encoded len (as all other CodeInfo fields are the + // same as in the deleted OwnerInfo) log::debug!( target: LOG_TARGET, - "Freed 1 storage item with size (in bytes): {:?}", - freed_bytes + "Storage removed: 1 item, {} bytes", + module.encoded_size().saturating_sub(Determinism::max_encoded_len()) ); - // TODO: remove this, as calculated determinism added bytes - let freed_bytes = old.encode().len(); + let deposit = + Diff { bytes_added: code.len() as u32, items_added: 2, ..Default::default() } + .update_contract::(None) + .charge_or_zero(); let info = CodeInfo { determinism: module.determinism, owner: old.owner, - deposit: old.deposit, + deposit, refcount: old.refcount, }; - let occupied_bytes = info.encode().len() - freed_bytes; - - CodeInfoOf::::insert(key, info); - log::debug!( - target: LOG_TARGET, - "Occupied more (for storing determinism) bytes: {:?}", - occupied_bytes - ); + let amount = old.deposit.saturating_sub(info.deposit); + if !amount.is_zero() { + T::Currency::unreserve(&info.owner, amount); + log::debug!( + target: LOG_TARGET, + "Storage deposit unlocked: {:?} Balance, to: {:?}", + &amount, + &info.owner + ); + } else { + log::warn!( + target: LOG_TARGET, + "new deposit: {:?}, old deposit: {:?}", + &info.deposit, + &old.deposit + ); + } + CodeInfoOf::::insert(hash, info); self.last_key = Some(iter.last_raw_key().to_vec().try_into().unwrap()); - // TODO: repay deposit // TODO: write benchmark and pass corrent len instead of freed_bytes - (IsFinished::No, T::WeightInfo::v12_migration_step(freed_bytes as u32)) + (IsFinished::No, T::WeightInfo::v12_migration_step(42)) } else { - log::debug!(target: LOG_TARGET, "No more owner_info to migrate"); + log::debug!(target: LOG_TARGET, "No more OwnerInfo to migrate"); (IsFinished::Yes, T::WeightInfo::v12_migration_step(0)) } } @@ -165,7 +171,7 @@ impl Migrate for Migration { #[cfg(feature = "try-runtime")] fn pre_upgrade_step() -> Result, TryRuntimeError> { let len = 5; - log::debug!(target: LOG_TARGET, "Taking sample of {} owner infos", len); + log::debug!(target: LOG_TARGET, "Taking sample of {} OwnerInfo(s)", len); let sample: Vec<_> = old::OwnerInfoOf::::iter() .take(len) .map(|(k, v)| { @@ -181,23 +187,65 @@ impl Migrate for Migration { }) .collect(); - Ok(sample.encode()) + let storage: u32 = old::CodeStorage::::iter().map(|(_k, v)| v.encoded_size() as u32).sum(); + let mut deposit: BalanceOf = Default::default(); + old::OwnerInfoOf::::iter().for_each(|(_k, v)| deposit += v.deposit); + + Ok((sample, deposit, storage).encode()) } #[cfg(feature = "try-runtime")] fn post_upgrade_step(state: Vec) -> Result<(), TryRuntimeError> { - let sample = , CodeInfo)> as Decode>::decode(&mut &state[..]).unwrap(); - - log::debug!(target: LOG_TARGET, "Validating sample of {} code infos", sample.len()); - for (code_hash, old) in sample { - let info = CodeInfoOf::::get(&code_hash).unwrap(); - + let state = <(Vec<(CodeHash, CodeInfo)>, BalanceOf, u32) as Decode>::decode( + &mut &state[..], + ) + .unwrap(); + + log::debug!(target: LOG_TARGET, "Validating state of {} Codeinfo(s)", state.0.len()); + for (hash, old) in state.0 { + let info = CodeInfoOf::::get(&hash) + .expect(format!("CodeInfo for code_hash {:?} not found!", hash).as_str()); ensure!(info.determinism == old.determinism, "invalid determinism"); ensure!(info.owner == old.owner, "invalid owner"); - ensure!(info.deposit == old.deposit, "invalid deposit"); +// ensure!(info.deposit == old.deposit, "invalid deposit"); ensure!(info.refcount == old.refcount, "invalid refcount"); } + if let Some((k, _)) = old::CodeStorage::::iter().next() { + log::warn!( + target: LOG_TARGET, + "CodeStorage is still NOT empty, found code_hash: {:?}", + k + ); + } else { + log::debug!(target: LOG_TARGET, "CodeStorage is empty."); + } + if let Some((k, _)) = old::OwnerInfoOf::::iter().next() { + log::warn!( + target: LOG_TARGET, + "OwnerInfoOf is still NOT empty, found code_hash: {:?}", + k + ); + } else { + log::debug!(target: LOG_TARGET, "OwnerInfoOf is empty."); + } + + let mut deposit: BalanceOf = Default::default(); + let mut bytes = 0u32; + CodeInfoOf::::iter().for_each(|(_k, v)| { + deposit += v.deposit; + bytes += 1; + }); + let old_deposit = state.1; + let storage = state.2; + + log::info!(target: LOG_TARGET, "Storage freed, bytes: {}", storage.saturating_sub(bytes)); + log::info!( + target: LOG_TARGET, + "Deposits returned, total: {:?} Balance", + old_deposit.saturating_sub(deposit) + ); + Ok(()) } } From 0b9125a43bef68b56c51c9b024c2adf7933bab28 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 01:12:29 +0300 Subject: [PATCH 25/70] deposits repaid pro rata --- frame/contracts/src/migration/v12.rs | 50 ++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index b7bb7feb417eb..77bba29d6553a 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -20,7 +20,6 @@ use crate::{ migration::{IsFinished, Migrate}, - storage::meter::Diff, weights::WeightInfo, AccountIdOf, BalanceOf, CodeHash, Config, Determinism, Pallet, Weight, LOG_TARGET, }; @@ -32,13 +31,13 @@ use frame_support::{ use scale_info::prelude::format; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; -use sp_runtime::{traits::Zero, Saturating}; +use sp_runtime::{traits::Zero, FixedPointNumber, FixedU128, Saturating}; use sp_std::{marker::PhantomData, prelude::*}; mod old { use super::*; - #[derive(Encode, Decode, scale_info::TypeInfo)] + #[derive(Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] #[codec(mel_bound())] #[scale_info(skip_type_params(T))] pub struct OwnerInfo { @@ -71,7 +70,9 @@ mod old { StorageMap, Identity, CodeHash, PrefabWasmModule>; } -#[derive(Encode, Decode)] +#[derive(Encode, Decode, scale_info::TypeInfo, MaxEncodedLen)] +#[codec(mel_bound())] +#[scale_info(skip_type_params(T))] pub struct CodeInfo { owner: AccountIdOf, #[codec(compact)] @@ -127,10 +128,37 @@ impl Migrate for Migration { module.encoded_size().saturating_sub(Determinism::max_encoded_len()) ); - let deposit = - Diff { bytes_added: code.len() as u32, items_added: 2, ..Default::default() } - .update_contract::(None) - .charge_or_zero(); + // Storage usage prices could change over time, and accounts who uploaded their + // conctracts code before the storage deposits where introduced, had not been ever + // charged with any deposit for that (see migration v6). + // + // This is why deposit to be refunded here is calculated as follows: + // + // 1. Calculate the deposit amount for storage before the migration, given current + // prices. + // 2. Given current deposit amount reserved, calculate the correction factor. + // 3. Calculate the deposit amount for storage after the migration, given current + // prices. + // 4. Calculate real deposit amount to be reserved after the migration. + let price_per_byte = T::DepositPerByte::get(); + let price_per_item = T::DepositPerItem::get(); + let bytes_before = module + .encoded_size() + .saturating_add(code.len()) + .saturating_add(old::OwnerInfo::::max_encoded_len()) as u32; + let items_before = 3u32; + let deposit_expected_before = price_per_byte + .saturating_mul(bytes_before.into()) + .saturating_add(price_per_item.saturating_mul(items_before.into())); + let ratio = FixedU128::checked_from_rational(old.deposit, deposit_expected_before) + .unwrap_or_default() + .min(FixedU128::from_u32(1)); + let bytes_after = code.len().saturating_add(CodeInfo::::max_encoded_len()) as u32; + let items_after = 2u32; + let deposit_expected_after = price_per_byte + .saturating_mul(bytes_after.into()) + .saturating_add(price_per_item.saturating_mul(items_after.into())); + let deposit = ratio.saturating_mul_int(deposit_expected_after); let info = CodeInfo { determinism: module.determinism, @@ -151,7 +179,7 @@ impl Migrate for Migration { } else { log::warn!( target: LOG_TARGET, - "new deposit: {:?}, old deposit: {:?}", + "new deposit: {:?} is more than old deposit: {:?}", &info.deposit, &old.deposit ); @@ -187,7 +215,8 @@ impl Migrate for Migration { }) .collect(); - let storage: u32 = old::CodeStorage::::iter().map(|(_k, v)| v.encoded_size() as u32).sum(); + let storage: u32 = + old::CodeStorage::::iter().map(|(_k, v)| v.encoded_size() as u32).sum(); let mut deposit: BalanceOf = Default::default(); old::OwnerInfoOf::::iter().for_each(|(_k, v)| deposit += v.deposit); @@ -207,7 +236,6 @@ impl Migrate for Migration { .expect(format!("CodeInfo for code_hash {:?} not found!", hash).as_str()); ensure!(info.determinism == old.determinism, "invalid determinism"); ensure!(info.owner == old.owner, "invalid owner"); -// ensure!(info.deposit == old.deposit, "invalid deposit"); ensure!(info.refcount == old.refcount, "invalid refcount"); } From 08a15b7066147f400ed3466cb5a26e6614aabab6 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 01:28:18 +0300 Subject: [PATCH 26/70] better try-runtime output --- frame/contracts/src/migration/v12.rs | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 77bba29d6553a..874fc1f363941 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -174,7 +174,7 @@ impl Migrate for Migration { target: LOG_TARGET, "Storage deposit unlocked: {:?} Balance, to: {:?}", &amount, - &info.owner + info.owner ); } else { log::warn!( @@ -259,15 +259,23 @@ impl Migrate for Migration { } let mut deposit: BalanceOf = Default::default(); - let mut bytes = 0u32; + let mut items = 0u32; CodeInfoOf::::iter().for_each(|(_k, v)| { deposit += v.deposit; - bytes += 1; + items += 1; }); let old_deposit = state.1; let storage = state.2; - - log::info!(target: LOG_TARGET, "Storage freed, bytes: {}", storage.saturating_sub(bytes)); + // CodeInfoOf::max_encoded_len == OwnerInfoOf::max_encoded_len + 1 + let bytes_removed = items.clone(); + // We removed 1 storage item (PrefabWasmMod) for every stored contract code. + let items_removed = items; + log::info!( + target: LOG_TARGET, + "Storage freed, bytes: {}, items: {}", + storage.saturating_sub(bytes_removed), + items_removed + ); log::info!( target: LOG_TARGET, "Deposits returned, total: {:?} Balance", From 5f6c1ac3ab4ff4a5877cbf0ada34be4ff5b586cb Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 02:30:40 +0300 Subject: [PATCH 27/70] even better try-runtime output --- frame/contracts/src/migration/v12.rs | 44 ++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 874fc1f363941..153470095ee30 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -30,6 +30,8 @@ use frame_support::{ }; use scale_info::prelude::format; #[cfg(feature = "try-runtime")] +use sp_core::hexdisplay::HexDisplay; +#[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; use sp_runtime::{traits::Zero, FixedPointNumber, FixedU128, Saturating}; use sp_std::{marker::PhantomData, prelude::*}; @@ -121,7 +123,7 @@ impl Migrate for Migration { // We print this to measure the impact of the migration. // Storage removed: deleted PrefabWasmModule's encoded len. // Storage added: determinism field encoded len (as all other CodeInfo fields are the - // same as in the deleted OwnerInfo) + // same as in the deleted OwnerInfo). log::debug!( target: LOG_TARGET, "Storage removed: 1 item, {} bytes", @@ -160,7 +162,7 @@ impl Migrate for Migration { .saturating_add(price_per_item.saturating_mul(items_after.into())); let deposit = ratio.saturating_mul_int(deposit_expected_after); - let info = CodeInfo { + let info = CodeInfo:: { determinism: module.determinism, owner: old.owner, deposit, @@ -172,9 +174,9 @@ impl Migrate for Migration { T::Currency::unreserve(&info.owner, amount); log::debug!( target: LOG_TARGET, - "Storage deposit unlocked: {:?} Balance, to: {:?}", + "Deposit refunded: {:?} Balance, to: {:?}", &amount, - info.owner + HexDisplay::from(&info.owner.encode()) ); } else { log::warn!( @@ -260,26 +262,44 @@ impl Migrate for Migration { let mut deposit: BalanceOf = Default::default(); let mut items = 0u32; + let mut storage_info = 0u32; CodeInfoOf::::iter().for_each(|(_k, v)| { deposit += v.deposit; items += 1; + storage_info += v.encoded_size() as u32; + }); + let mut storage_code = 0u32; + PristineCode::::iter().for_each(|(_k, v)| { + storage_code += v.len() as u32; }); let old_deposit = state.1; - let storage = state.2; + let storage_module = state.2; // CodeInfoOf::max_encoded_len == OwnerInfoOf::max_encoded_len + 1 - let bytes_removed = items.clone(); - // We removed 1 storage item (PrefabWasmMod) for every stored contract code. + // I.e. code info adds up 1 byte per record. + let info_bytes_added = items.clone(); + // We removed 1 PrefabWasmModule, and added 1 byte of determinism flag, per contract code. + let storage_removed = storage_module.saturating_sub(info_bytes_added); + // module+code+info - bytes + let storage_was = storage_module + .saturating_add(storage_code) + .saturating_add(storage_info) + .saturating_sub(info_bytes_added); + // We removed 1 storage item (PrefabWasmMod) for every stored contract code (was stored 3 + // items per code). let items_removed = items; log::info!( target: LOG_TARGET, - "Storage freed, bytes: {}, items: {}", - storage.saturating_sub(bytes_removed), - items_removed + "Storage freed, bytes: {} (of {}), items: {} (of {})", + storage_removed, + storage_was, + items_removed, + items_removed * 3, ); log::info!( target: LOG_TARGET, - "Deposits returned, total: {:?} Balance", - old_deposit.saturating_sub(deposit) + "Deposits returned, total: {:?} Balance (of {:?} Balance)", + old_deposit.saturating_sub(deposit), + old_deposit, ); Ok(()) From b1290f04d00184dc3c9066aa25003cb33371f915 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 14:18:31 +0300 Subject: [PATCH 28/70] benchmark migration --- frame/contracts/src/benchmarking/mod.rs | 22 ++++++++++++++---- frame/contracts/src/migration/v10.rs | 2 +- frame/contracts/src/migration/v12.rs | 31 +++++++++++++++++++------ 3 files changed, 42 insertions(+), 13 deletions(-) diff --git a/frame/contracts/src/benchmarking/mod.rs b/frame/contracts/src/benchmarking/mod.rs index 50ba8d7cc2fe4..c6c84b4149f56 100644 --- a/frame/contracts/src/benchmarking/mod.rs +++ b/frame/contracts/src/benchmarking/mod.rs @@ -30,7 +30,7 @@ use self::{ }; use crate::{ exec::{AccountIdOf, Key}, - migration::{v10, v11, v9, Migrate}, + migration::{v10, v11, v12, v9, Migrate}, wasm::CallFlags, Pallet as Contracts, *, }; @@ -212,7 +212,7 @@ benchmarks! { ContractInfo::::process_deletion_queue_batch(Weight::MAX) } - // This benchmarks the v9 migration step. (update codeStorage) + // This benchmarks the v9 migration step (update codeStorage). #[pov_mode = Measured] v9_migration_step { let c in 0 .. T::MaxCodeLen::get(); @@ -222,20 +222,20 @@ benchmarks! { m.step(); } - // This benchmarks the v10 migration step. (use dedicated deposit_account) + // This benchmarks the v10 migration step (use dedicated deposit_account). #[pov_mode = Measured] v10_migration_step { let contract = >::with_caller( whitelisted_caller(), WasmModule::dummy(), vec![], )?; - v10::store_old_contrat_info::(contract.account_id.clone(), contract.info()?); + v10::store_old_contract_info::(contract.account_id.clone(), contract.info()?); let mut m = v10::Migration::::default(); }: { m.step(); } - // This benchmarks the v11 migration step. + // This benchmarks the v11 migration step (Don't rely on reserved balances keeping an account alive). #[pov_mode = Measured] v11_migration_step { let k in 0 .. 1024; @@ -245,6 +245,18 @@ benchmarks! { m.step(); } + // This benchmarks the v12 migration step (Move `OwnerInfo` to `CodeInfo`, + // add `determinism` field to the latter, clear `CodeStorage` + // and repay deposits). + #[pov_mode = Measured] + v12_migration_step { + let c in 0 .. T::MaxCodeLen::get(); + v12::store_old_dummy_code::(c as usize, account::("account", 0, 0)); + let mut m = v12::Migration::::default(); + }: { + m.step(); + } + // This benchmarks the weight of executing Migration::migrate to execute a noop migration. #[pov_mode = Measured] migration_noop { diff --git a/frame/contracts/src/migration/v10.rs b/frame/contracts/src/migration/v10.rs index cddf67a53c4f8..a9bf7054f9f6e 100644 --- a/frame/contracts/src/migration/v10.rs +++ b/frame/contracts/src/migration/v10.rs @@ -69,7 +69,7 @@ mod old { } #[cfg(feature = "runtime-benchmarks")] -pub fn store_old_contrat_info(account: T::AccountId, info: crate::ContractInfo) { +pub fn store_old_contract_info(account: T::AccountId, info: crate::ContractInfo) { let info = old::ContractInfo { trie_id: info.trie_id, code_hash: info.code_hash, diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 153470095ee30..120fd05c57bef 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -29,7 +29,6 @@ use frame_support::{ DefaultNoBound, Identity, }; use scale_info::prelude::format; -#[cfg(feature = "try-runtime")] use sp_core::hexdisplay::HexDisplay; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; @@ -84,13 +83,32 @@ pub struct CodeInfo { determinism: Determinism, } -type CodeVec = BoundedVec::MaxCodeLen>; - #[storage_alias] pub type CodeInfoOf = StorageMap, Twox64Concat, CodeHash, CodeInfo>; #[storage_alias] -pub type PristineCode = StorageMap, Identity, CodeHash, CodeVec>; +pub type PristineCode = StorageMap, Identity, CodeHash, Vec>; + +#[cfg(feature = "runtime-benchmarks")] +pub fn store_old_dummy_code(len: usize, account: T::AccountId) { + use sp_runtime::traits::Hash; + + let code = vec![42u8; len]; + let hash = T::Hashing::hash(&code); + PristineCode::::insert(hash, code.clone()); + + let module = old::PrefabWasmModule { + instruction_weights_version: Default::default(), + initial: Default::default(), + maximum: Default::default(), + code, + determinism: Determinism::Enforced, + }; + old::CodeStorage::::insert(hash, module); + + let info = old::OwnerInfo { owner: account, deposit: u32::MAX.into(), refcount: u64::MAX }; + old::OwnerInfoOf::::insert(hash, info); +} #[derive(Encode, Decode, MaxEncodedLen, DefaultNoBound)] pub struct Migration { @@ -138,7 +156,7 @@ impl Migrate for Migration { // // 1. Calculate the deposit amount for storage before the migration, given current // prices. - // 2. Given current deposit amount reserved, calculate the correction factor. + // 2. Given current reserved deposit amount, calculate the correction factor. // 3. Calculate the deposit amount for storage after the migration, given current // prices. // 4. Calculate real deposit amount to be reserved after the migration. @@ -190,8 +208,7 @@ impl Migrate for Migration { self.last_key = Some(iter.last_raw_key().to_vec().try_into().unwrap()); - // TODO: write benchmark and pass corrent len instead of freed_bytes - (IsFinished::No, T::WeightInfo::v12_migration_step(42)) + (IsFinished::No, T::WeightInfo::v12_migration_step(code.len() as u32)) } else { log::debug!(target: LOG_TARGET, "No more OwnerInfo to migrate"); (IsFinished::Yes, T::WeightInfo::v12_migration_step(0)) From 94f84763a4f5d826387341444e892aaecab70a6d Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 16:51:23 +0300 Subject: [PATCH 29/70] fix merge leftover --- frame/contracts/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index f45732abeb4fb..beccb71234902 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -102,7 +102,6 @@ use crate::{ gas::GasMeter, storage::{meter::Meter as StorageMeter, ContractInfo, DeletionQueueManager}, wasm::{CodeInfo, TryInstantiate, WasmBlob}, - weights::WeightInfo, }; use codec::{Codec, Decode, Encode, HasCompact}; use environmental::*; From ba6775131e4424b0f1c7f97ac9323f468019d4b3 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 18:24:17 +0300 Subject: [PATCH 30/70] add forgotten fixtures, fix docs --- frame/contracts/fixtures/seal_input_noop.wat | 14 ++++++++++ frame/contracts/fixtures/seal_input_once.wat | 22 +++++++++++++++ frame/contracts/fixtures/seal_input_twice.wat | 28 +++++++++++++++++++ frame/contracts/src/schedule.rs | 5 ---- 4 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 frame/contracts/fixtures/seal_input_noop.wat create mode 100644 frame/contracts/fixtures/seal_input_once.wat create mode 100644 frame/contracts/fixtures/seal_input_twice.wat diff --git a/frame/contracts/fixtures/seal_input_noop.wat b/frame/contracts/fixtures/seal_input_noop.wat new file mode 100644 index 0000000000000..6c6e87f3396e1 --- /dev/null +++ b/frame/contracts/fixtures/seal_input_noop.wat @@ -0,0 +1,14 @@ +;; Stores a value of the passed size. +(module + (import "seal0" "seal_input" (func $seal_input (param i32 i32))) + (import "env" "memory" (memory 1 1)) + + ;; [0, 8) buffer to write input + + ;; [8, 12) size of the input buffer + (data (i32.const 8) "\04") + + (func (export "call")) + + (func (export "deploy")) +) diff --git a/frame/contracts/fixtures/seal_input_once.wat b/frame/contracts/fixtures/seal_input_once.wat new file mode 100644 index 0000000000000..e138c1ade83a0 --- /dev/null +++ b/frame/contracts/fixtures/seal_input_once.wat @@ -0,0 +1,22 @@ +;; Stores a value of the passed size. +(module + (import "seal0" "seal_input" (func $seal_input (param i32 i32))) + (import "env" "memory" (memory 1 1)) + + ;; [0, 8) buffer to write input + + ;; [8, 12) size of the input buffer + (data (i32.const 8) "\04") + + (func (export "call") + ;; instructions to consume engine fuel + (drop + (i32.const 42) + ) + + (call $seal_input (i32.const 0) (i32.const 8)) + + ) + + (func (export "deploy")) +) diff --git a/frame/contracts/fixtures/seal_input_twice.wat b/frame/contracts/fixtures/seal_input_twice.wat new file mode 100644 index 0000000000000..31457d3b998d6 --- /dev/null +++ b/frame/contracts/fixtures/seal_input_twice.wat @@ -0,0 +1,28 @@ +;; Stores a value of the passed size. +(module + (import "seal0" "seal_input" (func $seal_input (param i32 i32))) + (import "env" "memory" (memory 1 1)) + + ;; [0, 8) buffer to write input + + ;; [8, 12) size of the input buffer + (data (i32.const 8) "\04") + + (func (export "call") + ;; instructions to consume engine fuel + (drop + (i32.const 42) + ) + + (call $seal_input (i32.const 0) (i32.const 8)) + + ;; instructions to consume engine fuel + (drop + (i32.const 42) + ) + + (call $seal_input (i32.const 0) (i32.const 8)) + ) + + (func (export "deploy")) +) diff --git a/frame/contracts/src/schedule.rs b/frame/contracts/src/schedule.rs index 6d543c4d31c47..761f0bcef8435 100644 --- a/frame/contracts/src/schedule.rs +++ b/frame/contracts/src/schedule.rs @@ -55,11 +55,6 @@ use sp_std::marker::PhantomData; /// } /// } /// ``` -/// -/// # Note -/// -/// Please make sure to bump the [`InstructionWeights::version`] whenever substantial -/// changes are made to its values. #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] #[cfg_attr(feature = "std", serde(bound(serialize = "", deserialize = "")))] #[derive(Clone, Encode, Decode, PartialEq, Eq, ScheduleDebug, DefaultNoBound, TypeInfo)] From 0ee3293f4950c1b117b49d4289d27c95950c478c Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 19:26:47 +0300 Subject: [PATCH 31/70] address review comments --- frame/contracts/proc-macro/src/lib.rs | 2 -- frame/contracts/src/benchmarking/code.rs | 26 ----------------- frame/contracts/src/exec.rs | 36 ++++++++++-------------- frame/contracts/src/gas.rs | 5 ---- frame/contracts/src/lib.rs | 8 +++--- frame/contracts/src/migration/v12.rs | 5 ++-- frame/contracts/src/tests.rs | 2 +- frame/contracts/src/wasm/mod.rs | 23 ++++++--------- frame/contracts/src/wasm/runtime.rs | 1 - 9 files changed, 30 insertions(+), 78 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 896109b665cb8..5e81c7f5ee67d 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -626,13 +626,11 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) quote! { let result = #body; if ::log::log_enabled!(target: "runtime::contracts::strace", ::log::Level::Trace) { - { use sp_std::fmt::Write; let mut w = sp_std::Writer::default(); let _ = core::write!(&mut w, #trace_fmt_str, #( #trace_fmt_args, )* result); let msg = core::str::from_utf8(&w.inner()).unwrap_or_default(); ctx.ext().append_debug_buffer(msg); - } } result } diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index b629b147729fd..1947496905ea1 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -358,31 +358,6 @@ impl WasmModule { .into() } - #[allow(dead_code)] - pub fn unary_instr(instr: Instruction, repeat: u32) -> Self { - use body::DynInstr::{RandomI64Repeated, Regular}; - ModuleDefinition { - call_body: Some(body::repeated_dyn( - repeat, - vec![RandomI64Repeated(1), Regular(instr), Regular(Instruction::Drop)], - )), - ..Default::default() - } - .into() - } - - #[allow(dead_code)] - pub fn binary_instr(instr: Instruction, repeat: u32) -> Self { - use body::DynInstr::{RandomI64Repeated, Regular}; - ModuleDefinition { - call_body: Some(body::repeated_dyn( - repeat, - vec![RandomI64Repeated(2), Regular(instr), Regular(Instruction::Drop)], - )), - ..Default::default() - } - .into() - } } /// Mechanisms to generate a function body that can be used inside a `ModuleDefinition`. @@ -392,7 +367,6 @@ pub mod body { /// When generating contract code by repeating a wasm sequence, it's sometimes necessary /// to change those instructions on each repetition. The variants of this enum describe /// various ways in which this can happen. - #[allow(dead_code)] pub enum DynInstr { /// Insert the associated instruction. Regular(Instruction), diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index acc73baf76b2c..c1531464c3eb2 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -331,7 +331,6 @@ pub trait Executable: Sized { /// Charges size base load weight from the gas meter. fn from_storage( code_hash: CodeHash, - schedule: &Schedule, gas_meter: &mut GasMeter, ) -> Result; @@ -348,7 +347,6 @@ pub trait Executable: Sized { fn remove_user(code_hash: CodeHash); /// Execute the specified exported function and return the result. - /// `reftime_limit` is passed to the execution engine to account for gas. /// /// When the specified function is `Constructor` the executable is stored and its /// refcount incremented. @@ -367,7 +365,7 @@ pub trait Executable: Sized { /// The code hash of the executable. fn code_hash(&self) -> CodeHash; - /// Size of the conract code in bytes. + /// Size of the contract code in bytes. fn code_len(&self) -> u32; /// The code does not contain any instructions which could lead to indeterminism. @@ -707,7 +705,6 @@ where Weight::zero(), storage_meter, BalanceOf::::zero(), - schedule, determinism, )?; @@ -740,7 +737,6 @@ where gas_limit: Weight, storage_meter: &mut storage::meter::GenericMeter, deposit_limit: BalanceOf, - schedule: &Schedule, determinism: Determinism, ) -> Result<(Frame, E, Option), ExecError> { let (account_id, contract_info, executable, delegate_caller, entry_point, nonce) = @@ -756,7 +752,7 @@ where if let Some(DelegatedCall { executable, caller }) = delegated_call { (executable, Some(caller)) } else { - (E::from_storage(contract.code_hash, schedule, gas_meter)?, None) + (E::from_storage(contract.code_hash, gas_meter)?, None) }; (dest, contract, executable, delegate_caller, ExportedFunction::Call, None) @@ -836,7 +832,6 @@ where gas_limit, nested_storage, deposit_limit, - self.schedule, self.determinism, )?; self.frames.push(frame); @@ -1198,7 +1193,7 @@ where code_hash: CodeHash, input_data: Vec, ) -> Result { - let executable = E::from_storage(code_hash, self.schedule, self.gas_meter_mut())?; + let executable = E::from_storage(code_hash, self.gas_meter_mut())?; let top_frame = self.top_frame_mut(); let contract_info = top_frame.contract_info().clone(); let account_id = top_frame.account_id.clone(); @@ -1225,7 +1220,7 @@ where input_data: Vec, salt: &[u8], ) -> Result<(AccountIdOf, ExecReturnValue), ExecError> { - let executable = E::from_storage(code_hash, self.schedule, self.gas_meter_mut())?; + let executable = E::from_storage(code_hash, self.gas_meter_mut())?; let nonce = self.next_nonce(); let executable = self.push_frame( FrameArgs::Instantiate { @@ -1432,7 +1427,7 @@ where fn set_code_hash(&mut self, hash: CodeHash) -> Result<(), DispatchError> { let frame = top_frame_mut!(self); - if !E::from_storage(hash, self.schedule, &mut frame.nested_gas)?.is_deterministic() { + if !E::from_storage(hash, &mut frame.nested_gas)?.is_deterministic() { return Err(>::Indeterministic.into()) } E::add_user(hash)?; @@ -1600,7 +1595,6 @@ mod tests { impl Executable for MockExecutable { fn from_storage( code_hash: CodeHash, - _schedule: &Schedule, _gas_meter: &mut GasMeter, ) -> Result { Loader::mutate(|loader| { @@ -1962,7 +1956,7 @@ mod tests { let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); let executable = - MockExecutable::from_storage(input_data_ch, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(input_data_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 10_000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2376,7 +2370,7 @@ mod tests { let schedule = ::Schedule::get(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); let executable = - MockExecutable::from_storage(dummy_ch, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = storage::meter::Meter::new(&contract_origin, Some(0), 0).unwrap(); @@ -2409,7 +2403,7 @@ mod tests { let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); let executable = - MockExecutable::from_storage(dummy_ch, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 1000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2455,7 +2449,7 @@ mod tests { let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); let executable = - MockExecutable::from_storage(dummy_ch, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 1000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2624,7 +2618,7 @@ mod tests { let schedule = ::Schedule::get(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); let executable = - MockExecutable::from_storage(terminate_ch, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(terminate_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, 10_000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2726,7 +2720,7 @@ mod tests { let schedule = ::Schedule::get(); let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let executable = MockExecutable::from_storage(code, &schedule, &mut gas_meter).unwrap(); + let executable = MockExecutable::from_storage(code, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 10_000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -3151,13 +3145,13 @@ mod tests { let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); let fail_executable = - MockExecutable::from_storage(fail_code, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(fail_code, &mut gas_meter).unwrap(); let success_executable = - MockExecutable::from_storage(success_code, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(success_code, &mut gas_meter).unwrap(); let succ_fail_executable = - MockExecutable::from_storage(succ_fail_code, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(succ_fail_code, &mut gas_meter).unwrap(); let succ_succ_executable = - MockExecutable::from_storage(succ_succ_code, &schedule, &mut gas_meter).unwrap(); + MockExecutable::from_storage(succ_succ_code, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 10_000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index 8373e9e78ddee..d7cb0a9b392b8 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -230,11 +230,6 @@ impl GasMeter { self.gas_left } - /// Returns current tracked engine fuel consumption. - pub fn engine_consumed(&self) -> u64 { - self.engine_consumed - } - /// Turn this GasMeter into a DispatchResult that contains the actually used gas. pub fn into_dispatch_result( self, diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index beccb71234902..e4024b81e0707 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -360,17 +360,17 @@ pub mod pallet { // Check that given configured `MaxCodeLen`, runtime heap memory limit can't be broken. // - // In worst case, the decoded wasm contract code would be `x16` times larger than the + // In worst case, the decoded Wasm contract code would be `x16` times larger than the // encoded one. This is because even a single-byte wasm instruction has 16-byte size in // wasmi. This gives us `MaxCodeLen*16` safety margin. // // Next, the pallet keeps the Wasm blob for each - // contract, hence we add up one `MaxCodeLen` more to the safety margin. + // contract, hence we add up `MaxCodeLen` to the safety margin. // // Finally, the inefficiencies of the freeing-bump allocator // being used in the client for the runtime memory allocations, could lead to possible // memory allocations for contract code grow up to `x4` times in some extreme cases, - // which gives us total multiplier of `18*4` for `MaxCodeLen`. + // which gives us total multiplier of `17*4` for `MaxCodeLen`. // // That being said, for every contract executed in runtime, at least `MaxCodeLen*17*4` // memory should be available. Note that maximum allowed heap memory and stack size per @@ -1233,7 +1233,7 @@ impl Invokable for InstantiateInput { (executable.open_deposit(code_info), executable) }, Code::Existing(hash) => - (Default::default(), WasmBlob::from_storage(*hash, &schedule, &mut gas_meter)?), + (Default::default(), WasmBlob::from_storage(*hash, &mut gas_meter)?), }; let contract_origin = Origin::from_account_id(origin.clone()); let mut storage_meter = StorageMeter::new( diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 120fd05c57bef..d40ce967a7c37 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -199,7 +199,7 @@ impl Migrate for Migration { } else { log::warn!( target: LOG_TARGET, - "new deposit: {:?} is more than old deposit: {:?}", + "new deposit: {:?} >= old deposit: {:?}", &info.deposit, &old.deposit ); @@ -289,8 +289,7 @@ impl Migrate for Migration { PristineCode::::iter().for_each(|(_k, v)| { storage_code += v.len() as u32; }); - let old_deposit = state.1; - let storage_module = state.2; + let (_, old_deposit, storage_module) = state; // CodeInfoOf::max_encoded_len == OwnerInfoOf::max_encoded_len + 1 // I.e. code info adds up 1 byte per record. let info_bytes_added = items.clone(); diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 925eda3edab31..b06eb7b8a6456 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -123,7 +123,7 @@ pub mod test_utils { <::Hashing as Hash>::hash_of(s) } pub fn expected_deposit(code_len: usize) -> u64 { - // For onwer info, the deposit for max_encoded_len is taken. + // For code_info, the deposit for max_encoded_len is taken. let code_info_len = CodeInfo::::max_encoded_len() as u64; // Calculate deposit to be reserved. // We add 2 storage items: one for code, other for code_info diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index da48e8af19222..66d9910e68f09 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -125,26 +125,20 @@ impl ExportedFunction { } } -/// Costs for operations that are related to code handling. +/// Cost of code loading from storage. #[cfg_attr(test, derive(Debug, PartialEq, Eq))] #[derive(Clone, Copy)] -enum CodeToken { - /// Weight for loading a contract per byte. - Load(u32), -} +struct CodeLoadToken(u32); -impl Token for CodeToken { +impl Token for CodeLoadToken { fn weight(&self) -> Weight { - use self::CodeToken::*; - // In case of `Load` we already covered the general costs of + // When loading the contract, we already covered the general costs of // calling the storage but still need to account for the actual size of the // contract code. This is why we subtract `T::*::(0)`. We need to do this at this // point because when charging the general weight for calling the contract we don't know the // size of the contract. - match *self { - Load(len) => T::WeightInfo::call_with_code_per_byte(len) - .saturating_sub(T::WeightInfo::call_with_code_per_byte(0)), - } + T::WeightInfo::call_with_code_per_byte(self.0) + .saturating_sub(T::WeightInfo::call_with_code_per_byte(0)) } } @@ -316,11 +310,11 @@ impl WasmBlob { gas_meter: &mut GasMeter, ) -> Result, DispatchError> { let max_code_len = T::MaxCodeLen::get(); - let charged = gas_meter.charge(CodeToken::Load(max_code_len))?; + let charged = gas_meter.charge(CodeLoadToken(max_code_len))?; let code = >::get(code_hash).ok_or(Error::::CodeNotFound)?; let code_len = code.len() as u32; - gas_meter.adjust_gas(charged, CodeToken::Load(code_len)); + gas_meter.adjust_gas(charged, CodeLoadToken(code_len)); Ok(code) } @@ -395,7 +389,6 @@ impl CodeInfo { impl Executable for WasmBlob { fn from_storage( code_hash: CodeHash, - _schedule: &Schedule, gas_meter: &mut GasMeter, ) -> Result { let code = Self::load_code(code_hash, gas_meter)?; diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index e6b71e3c72dce..08c48aab6ef80 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -67,7 +67,6 @@ pub trait Environment { } /// Type of a storage key. -#[allow(dead_code)] enum KeyType { /// Legacy fix sized key `[u8;32]`. Fix, From a45c538b0dc1533e2f2367d942b9ea7cf7b599dc Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 14 Jun 2023 20:39:16 +0300 Subject: [PATCH 32/70] ci fixes --- frame/contracts/src/benchmarking/code.rs | 6 ++++-- frame/contracts/src/exec.rs | 18 ++++++------------ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 1947496905ea1..5e1b88f74d853 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -357,16 +357,18 @@ impl WasmModule { } .into() } - } /// Mechanisms to generate a function body that can be used inside a `ModuleDefinition`. pub mod body { use super::*; - /// When generating contract code by repeating a wasm sequence, it's sometimes necessary + /// When generating contract code by repeating a Wasm sequence, it's sometimes necessary /// to change those instructions on each repetition. The variants of this enum describe /// various ways in which this can happen. + // Not all variants are used in the current benchmarks, + // but they could be used in future benchmarks. Hence keeping them with the attribute. + #[allow(dead_code)] pub enum DynInstr { /// Insert the associated instruction. Regular(Instruction), diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index c1531464c3eb2..2f5a9f6087ce6 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -1955,8 +1955,7 @@ mod tests { let schedule = ::Schedule::get(); let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let executable = - MockExecutable::from_storage(input_data_ch, &mut gas_meter).unwrap(); + let executable = MockExecutable::from_storage(input_data_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 10_000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2369,8 +2368,7 @@ mod tests { ExtBuilder::default().existential_deposit(15).build().execute_with(|| { let schedule = ::Schedule::get(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let executable = - MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); + let executable = MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = storage::meter::Meter::new(&contract_origin, Some(0), 0).unwrap(); @@ -2402,8 +2400,7 @@ mod tests { let schedule = ::Schedule::get(); let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let executable = - MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); + let executable = MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 1000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2448,8 +2445,7 @@ mod tests { let schedule = ::Schedule::get(); let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let executable = - MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); + let executable = MockExecutable::from_storage(dummy_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, min_balance * 1000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -2617,8 +2613,7 @@ mod tests { ExtBuilder::default().existential_deposit(15).build().execute_with(|| { let schedule = ::Schedule::get(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let executable = - MockExecutable::from_storage(terminate_ch, &mut gas_meter).unwrap(); + let executable = MockExecutable::from_storage(terminate_ch, &mut gas_meter).unwrap(); set_balance(&ALICE, 10_000); let contract_origin = Origin::from_account_id(ALICE); let mut storage_meter = @@ -3144,8 +3139,7 @@ mod tests { let schedule = ::Schedule::get(); let min_balance = ::Currency::minimum_balance(); let mut gas_meter = GasMeter::::new(GAS_LIMIT); - let fail_executable = - MockExecutable::from_storage(fail_code, &mut gas_meter).unwrap(); + let fail_executable = MockExecutable::from_storage(fail_code, &mut gas_meter).unwrap(); let success_executable = MockExecutable::from_storage(success_code, &mut gas_meter).unwrap(); let succ_fail_executable = From f24a2672e5bdaaafa8043313a4a5a103badba8ee Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Thu, 15 Jun 2023 12:02:01 +0300 Subject: [PATCH 33/70] cleanup --- frame/contracts/src/wasm/mod.rs | 2 +- frame/contracts/src/wasm/prepare.rs | 16 ++++++---------- frame/contracts/src/wasm/runtime.rs | 1 - 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 66d9910e68f09..acecd90a7a2b9 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -292,7 +292,7 @@ impl WasmBlob { >::try_mutate_exists(&code_hash, |existing| { if let Some(code_info) = existing { ensure!(code_info.refcount == 0, >::CodeInUse); - ensure!(&code_info.owner == origin, BadOrigin); // TODO: what if origin is root? + ensure!(&code_info.owner == origin, BadOrigin); T::Currency::unreserve(&code_info.owner, code_info.deposit); *existing = None; >::remove(&code_hash); diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index ed2e73c18b800..532370dbfb401 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -369,13 +369,12 @@ where // Extract memory limits from the module. // This also checks that module's memory import satisfies the schedule. let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; - let code = contract_module.into_wasm_code()?; Ok((code, memory_limits)) })() .map_err(|msg: &str| { - log::debug!(target: LOG_TARGET, "new code rejected: {}", msg); + log::debug!(target: LOG_TARGET, "New code rejected: {}", msg); (Error::::CodeRejected.into(), msg) })?; @@ -396,7 +395,7 @@ where ) .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); - (Error::::CodeRejected.into(), "new code rejected on wasmi instantiation") + (Error::::CodeRejected.into(), "New code rejected on wasmi instantiation!") })?; } @@ -422,14 +421,11 @@ where T: Config, { let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; - - let err = |_| (>::CodeTooLarge.into(), "preparation enlarged the code excessively"); - - let changed_code: CodeVec = checked_code.try_into().map_err(err)?; - // TODO: either remove this, or if the code really changes, explain in the docs, why + let err = |_| (>::CodeTooLarge.into(), "Validation enlarged the code size!"); + let checked_code: CodeVec = checked_code.try_into().map_err(err)?; ensure!( - code == changed_code, - (>::CodeTooLarge.into(), "preparation altered the code") + code == checked_code, + (>::CodeRejected.into(), "Validation altered the code!") ); // Calculate deposit for storing contract code and `code_info` in two different storage items. diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index 08c48aab6ef80..a191f9858995d 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -507,7 +507,6 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { .ok_or(Error::::InvalidCallFlags)?; return Ok(ExecReturnValue { flags, data: data.to_vec() }) }, - // TODO check sanity Termination => return Ok(ExecReturnValue { flags: ReturnFlags::empty(), From e6c21f3579fac53ce77b0dd5e0ad031adaccc7ed Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Thu, 15 Jun 2023 12:50:03 +0300 Subject: [PATCH 34/70] benchmarks::prepare to return DispatchError --- frame/contracts/src/tests.rs | 2 +- frame/contracts/src/wasm/mod.rs | 1 - frame/contracts/src/wasm/prepare.rs | 23 +++++++++++------------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index b06eb7b8a6456..e81e4bc05a022 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -4402,7 +4402,7 @@ 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" + "Validation of new code failed!" ); let (wasm, _) = compile_module::("invalid_contract").unwrap(); diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index acecd90a7a2b9..2515d627d7f2d 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -374,7 +374,6 @@ impl WasmBlob { owner: T::AccountId, ) -> Result { prepare::benchmarking::prepare(code, schedule, owner) - .map_err::(Into::into) } } diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 532370dbfb401..32ceacfbe950b 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -354,7 +354,7 @@ where .validate_all(code) .map_err(|err| { log::debug!(target: LOG_TARGET, "{}", err); - (Error::::CodeRejected.into(), "validation of new code failed") + (Error::::CodeRejected.into(), "Validation of new code failed!") })?; let (code, memory_limits) = (|| { @@ -453,12 +453,11 @@ pub mod benchmarking { code: Vec, schedule: &Schedule, owner: AccountIdOf, - ) -> Result, &'static str> { + ) -> Result, DispatchError> { let contract_module = ContractModule::new(&code)?; // We do this here just to check that module's memory import satisfies the schedule let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; - - let code = code.try_into().map_err(|_| "Code too large!")?; + let code = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { owner, // this is a helper function for benchmarking which skips deposit collection @@ -562,7 +561,7 @@ mod tests { ) (func (export "deploy")) )"#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); mod functions { @@ -715,7 +714,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); prepare_test!( @@ -768,7 +767,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); prepare_test!( @@ -933,7 +932,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("new code rejected on wasmi instantiation") + Err("New code rejected on wasmi instantiation!") ); } @@ -1030,7 +1029,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); prepare_test!( @@ -1042,7 +1041,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); prepare_test!( @@ -1054,7 +1053,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); prepare_test!( @@ -1066,7 +1065,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("validation of new code failed") + Err("Validation of new code failed!") ); } } From d3f59b2e4d850ccddf1eb523b2fb547906748eff Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Thu, 15 Jun 2023 18:00:59 +0000 Subject: [PATCH 35/70] ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 4594 +++++++++++++------------------- 1 file changed, 1818 insertions(+), 2776 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index cbd906a0b213d..bc33d6ac76a6c 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-05-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-15, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 @@ -52,11 +52,10 @@ use core::marker::PhantomData; pub trait WeightInfo { fn on_process_deletion_queue_batch() -> Weight; fn on_initialize_per_trie_key(k: u32, ) -> Weight; - fn reinstrument(c: u32, ) -> Weight; fn v9_migration_step(c: u32, ) -> Weight; fn v10_migration_step() -> Weight; fn v11_migration_step(k: u32, ) -> Weight; - fn v12_migration_step(k: u32, ) -> Weight; + fn v12_migration_step(c: u32, ) -> Weight; fn migration_noop() -> Weight; fn migrate() -> Weight; fn on_runtime_upgrade_noop() -> Weight; @@ -83,7 +82,6 @@ pub trait WeightInfo { fn seal_block_number(r: u32, ) -> Weight; fn seal_now(r: u32, ) -> Weight; fn seal_weight_to_fee(r: u32, ) -> Weight; - fn seal_gas(r: u32, ) -> Weight; fn seal_input(r: u32, ) -> Weight; fn seal_input_per_byte(n: u32, ) -> Weight; fn seal_return(r: u32, ) -> Weight; @@ -128,56 +126,6 @@ pub trait WeightInfo { fn seal_account_reentrance_count(r: u32, ) -> Weight; fn seal_instantiation_nonce(r: u32, ) -> Weight; fn instr_i64const(r: u32, ) -> Weight; - fn instr_i64load(r: u32, ) -> Weight; - fn instr_i64store(r: u32, ) -> Weight; - fn instr_select(r: u32, ) -> Weight; - fn instr_if(r: u32, ) -> Weight; - fn instr_br(r: u32, ) -> Weight; - fn instr_br_if(r: u32, ) -> Weight; - fn instr_br_table(r: u32, ) -> Weight; - fn instr_br_table_per_entry(e: u32, ) -> Weight; - fn instr_call(r: u32, ) -> Weight; - fn instr_call_indirect(r: u32, ) -> Weight; - fn instr_call_per_local(l: u32, ) -> Weight; - fn instr_local_get(r: u32, ) -> Weight; - fn instr_local_set(r: u32, ) -> Weight; - fn instr_local_tee(r: u32, ) -> Weight; - fn instr_global_get(r: u32, ) -> Weight; - fn instr_global_set(r: u32, ) -> Weight; - fn instr_memory_current(r: u32, ) -> Weight; - fn instr_memory_grow(r: u32, ) -> Weight; - fn instr_i64clz(r: u32, ) -> Weight; - fn instr_i64ctz(r: u32, ) -> Weight; - fn instr_i64popcnt(r: u32, ) -> Weight; - fn instr_i64eqz(r: u32, ) -> Weight; - fn instr_i64extendsi32(r: u32, ) -> Weight; - fn instr_i64extendui32(r: u32, ) -> Weight; - fn instr_i32wrapi64(r: u32, ) -> Weight; - fn instr_i64eq(r: u32, ) -> Weight; - fn instr_i64ne(r: u32, ) -> Weight; - fn instr_i64lts(r: u32, ) -> Weight; - fn instr_i64ltu(r: u32, ) -> Weight; - fn instr_i64gts(r: u32, ) -> Weight; - fn instr_i64gtu(r: u32, ) -> Weight; - fn instr_i64les(r: u32, ) -> Weight; - fn instr_i64leu(r: u32, ) -> Weight; - fn instr_i64ges(r: u32, ) -> Weight; - fn instr_i64geu(r: u32, ) -> Weight; - fn instr_i64add(r: u32, ) -> Weight; - fn instr_i64sub(r: u32, ) -> Weight; - fn instr_i64mul(r: u32, ) -> Weight; - fn instr_i64divs(r: u32, ) -> Weight; - fn instr_i64divu(r: u32, ) -> Weight; - fn instr_i64rems(r: u32, ) -> Weight; - fn instr_i64remu(r: u32, ) -> Weight; - fn instr_i64and(r: u32, ) -> Weight; - fn instr_i64or(r: u32, ) -> Weight; - fn instr_i64xor(r: u32, ) -> Weight; - fn instr_i64shl(r: u32, ) -> Weight; - fn instr_i64shrs(r: u32, ) -> Weight; - fn instr_i64shru(r: u32, ) -> Weight; - fn instr_i64rotl(r: u32, ) -> Weight; - fn instr_i64rotr(r: u32, ) -> Weight; } /// Weights for pallet_contracts using the Substrate node and recommended hardware. @@ -187,10 +135,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) fn on_process_deletion_queue_batch() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 2_630_000 picoseconds. - Weight::from_parts(2_778_000, 1594) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 2_551_000 picoseconds. + Weight::from_parts(2_657_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -198,46 +146,29 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `488 + k * (69 ±0)` - // Estimated: `478 + k * (70 ±0)` - // Minimum execution time: 13_453_000 picoseconds. - Weight::from_parts(10_904_078, 478) - // Standard Error: 931 - .saturating_add(Weight::from_parts(982_122, 0).saturating_mul(k.into())) + // Measured: `451 + k * (69 ±0)` + // Estimated: `441 + k * (70 ±0)` + // Minimum execution time: 12_208_000 picoseconds. + Weight::from_parts(7_113_931, 441) + // Standard Error: 1_217 + .saturating_add(Weight::from_parts(990_509, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn reinstrument(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `238 + c * (1 ±0)` - // Estimated: `3708 + c * (1 ±0)` - // Minimum execution time: 30_972_000 picoseconds. - Weight::from_parts(31_129_287, 3708) - // Standard Error: 52 - .saturating_add(Weight::from_parts(54_996, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts CodeStorage (r:2 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// The range of component `c` is `[0, 125952]`. fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `178 + c * (1 ±0)` - // Estimated: `6114 + c * (1 ±0)` - // Minimum execution time: 9_696_000 picoseconds. - Weight::from_parts(10_697_026, 6114) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_307, 0).saturating_mul(c.into())) + // Measured: `211 + c * (1 ±0)` + // Estimated: `6149 + c * (1 ±0)` + // Minimum execution time: 8_768_000 picoseconds. + Weight::from_parts(9_700_270, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_299, 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())) @@ -248,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: `544` - // Estimated: `6484` - // Minimum execution time: 18_132_000 picoseconds. - Weight::from_parts(18_842_000, 6484) + // Measured: `548` + // Estimated: `6488` + // Minimum execution time: 17_711_000 picoseconds. + Weight::from_parts(17_981_000, 6488) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -262,41 +193,48 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn v11_migration_step(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 0).saturating_mul(k.into())) + // Measured: `171 + k * (1 ±0)` + // Estimated: `3635 + k * (1 ±0)` + // Minimum execution time: 3_916_000 picoseconds. + Weight::from_parts(2_658_809, 3635) + // Standard Error: 941 + .saturating_add(Weight::from_parts(950_491, 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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - - /// Placeholder, should be replaced with new benchmarked weight - fn v12_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:0 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn v12_migration_step(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `378 + c * (2 ±0)` + // Estimated: `6313 + c * (2 ±0)` + // Minimum execution time: 23_031_000 picoseconds. + Weight::from_parts(26_028_856, 6313) + // Standard Error: 1 + .saturating_add(Weight::from_parts(961, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn migration_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 3_528_000 picoseconds. - Weight::from_parts(3_641_000, 1594) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 3_339_000 picoseconds. + Weight::from_parts(3_454_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -306,10 +244,10 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) fn migrate() -> Weight { // Proof Size summary in bytes: - // Measured: `133` - // Estimated: `3598` - // Minimum execution time: 13_433_000 picoseconds. - Weight::from_parts(13_710_000, 3598) + // Measured: `166` + // Estimated: `3631` + // Minimum execution time: 13_244_000 picoseconds. + Weight::from_parts(13_527_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -317,10 +255,10 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) fn on_runtime_upgrade_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 5_502_000 picoseconds. - Weight::from_parts(5_689_000, 3574) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 5_322_000 picoseconds. + Weight::from_parts(5_622_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -329,10 +267,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn on_runtime_upgrade_in_progress() -> Weight { // Proof Size summary in bytes: - // Measured: `134` - // Estimated: `3599` - // Minimum execution time: 7_846_000 picoseconds. - Weight::from_parts(8_078_000, 3599) + // Measured: `167` + // Estimated: `3632` + // Minimum execution time: 7_395_000 picoseconds. + Weight::from_parts(7_621_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -341,10 +279,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn on_runtime_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 8_390_000 picoseconds. - Weight::from_parts(8_602_000, 3574) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 8_184_000 picoseconds. + Weight::from_parts(8_405_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -352,8 +290,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -363,20 +303,20 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 125952]`. fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `707` - // Estimated: `6656 + c * (1 ±0)` - // Minimum execution time: 280_993_000 picoseconds. - Weight::from_parts(289_622_441, 6656) - // Standard Error: 26 - .saturating_add(Weight::from_parts(38_061, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `786` + // Estimated: `6735 + c * (1 ±0)` + // Minimum execution time: 268_170_000 picoseconds. + Weight::from_parts(255_802_329, 6735) + // Standard Error: 61 + .saturating_add(Weight::from_parts(45_879, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -387,32 +327,32 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// The range of component `c` is `[0, 125952]`. /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `270` - // Estimated: `8659` - // Minimum execution time: 3_136_130_000 picoseconds. - Weight::from_parts(568_808_049, 8659) - // Standard Error: 288 - .saturating_add(Weight::from_parts(108_649, 0).saturating_mul(c.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(i.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_502, 0).saturating_mul(s.into())) + // Measured: `303` + // Estimated: `8745` + // Minimum execution time: 3_103_535_000 picoseconds. + Weight::from_parts(709_110_372, 8745) + // Standard Error: 150 + .saturating_add(Weight::from_parts(81_085, 0).saturating_mul(c.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_021, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_373, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(10_u64)) + .saturating_add(T::DbWeight::get().writes(9_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -421,22 +361,20 @@ impl WeightInfo for SubstrateWeight { /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:2 w:2) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `482` - // Estimated: `6408` - // Minimum execution time: 1_655_107_000 picoseconds. - Weight::from_parts(266_843_437, 6408) + // Measured: `503` + // Estimated: `6429` + // Minimum execution time: 1_621_225_000 picoseconds. + Weight::from_parts(285_978_517, 6429) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_463, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_398, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_458, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_428, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -444,8 +382,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -454,68 +394,64 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn call() -> Weight { // Proof Size summary in bytes: - // Measured: `759` - // Estimated: `6699` - // Minimum execution time: 197_684_000 picoseconds. - Weight::from_parts(199_222_000, 6699) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `838` + // Estimated: `6778` + // Minimum execution time: 193_482_000 picoseconds. + Weight::from_parts(195_003_000, 6778) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// The range of component `c` is `[0, 125952]`. fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 254_766_000 picoseconds. - Weight::from_parts(247_865_224, 3574) - // Standard Error: 146 - .saturating_add(Weight::from_parts(108_830, 0).saturating_mul(c.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 228_563_000 picoseconds. + Weight::from_parts(213_483_237, 3607) + // Standard Error: 87 + .saturating_add(Weight::from_parts(69_335, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) fn remove_code() -> Weight { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3720` - // Minimum execution time: 36_038_000 picoseconds. - Weight::from_parts(36_503_000, 3720) + // Minimum execution time: 32_166_000 picoseconds. + Weight::from_parts(32_782_000, 3720) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:2 w:2) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:2) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `570` - // Estimated: `8985` - // Minimum execution time: 35_312_000 picoseconds. - Weight::from_parts(35_852_000, 8985) + // Measured: `575` + // Estimated: `8990` + // Minimum execution time: 35_579_000 picoseconds. + Weight::from_parts(36_177_000, 8990) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -525,8 +461,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -534,13 +472,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `781 + r * (6 ±0)` - // Estimated: `6722 + r * (6 ±0)` - // Minimum execution time: 241_668_000 picoseconds. - Weight::from_parts(256_167_627, 6722) - // Standard Error: 2_447 - .saturating_add(Weight::from_parts(328_424, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `860 + r * (6 ±0)` + // Estimated: `6801 + r * (6 ±0)` + // Minimum execution time: 246_674_000 picoseconds. + Weight::from_parts(252_221_210, 6801) + // Standard Error: 784 + .saturating_add(Weight::from_parts(372_935, 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())) } @@ -550,8 +488,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -559,13 +499,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `839 + r * (240 ±0)` - // Estimated: `6743 + r * (2715 ±0)` - // Minimum execution time: 242_353_000 picoseconds. - Weight::from_parts(82_743_116, 6743) - // Standard Error: 6_271 - .saturating_add(Weight::from_parts(3_331_316, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `918 + r * (240 ±0)` + // Estimated: `6822 + r * (2715 ±0)` + // Minimum execution time: 247_549_000 picoseconds. + Weight::from_parts(71_679_562, 6822) + // Standard Error: 6_718 + .saturating_add(Weight::from_parts(3_416_535, 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)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -576,8 +516,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -585,13 +527,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `831 + r * (244 ±0)` - // Estimated: `6747 + r * (2719 ±0)` - // Minimum execution time: 243_370_000 picoseconds. - Weight::from_parts(77_198_453, 6747) - // Standard Error: 6_968 - .saturating_add(Weight::from_parts(4_162_946, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `910 + r * (244 ±0)` + // Estimated: `6826 + r * (2719 ±0)` + // Minimum execution time: 251_268_000 picoseconds. + Weight::from_parts(105_839_822, 6826) + // Standard Error: 8_060 + .saturating_add(Weight::from_parts(4_148_193, 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)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -602,8 +544,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -611,13 +555,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `788 + r * (6 ±0)` - // Estimated: `6730 + r * (6 ±0)` - // Minimum execution time: 244_083_000 picoseconds. - Weight::from_parts(239_899_316, 6730) - // Standard Error: 5_254 - .saturating_add(Weight::from_parts(423_863, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `867 + r * (6 ±0)` + // Estimated: `6809 + r * (6 ±0)` + // Minimum execution time: 249_994_000 picoseconds. + Weight::from_parts(254_429_021, 6809) + // Standard Error: 807 + .saturating_add(Weight::from_parts(444_253, 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())) } @@ -627,8 +571,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -636,13 +582,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 239_835_000 picoseconds. - Weight::from_parts(247_929_454, 6723) - // Standard Error: 2_309 - .saturating_add(Weight::from_parts(169_642, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 244_726_000 picoseconds. + Weight::from_parts(249_118_388, 6802) + // Standard Error: 527 + .saturating_add(Weight::from_parts(210_682, 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())) } @@ -650,8 +596,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -659,13 +607,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `668 + r * (3 ±0)` - // Estimated: `6608 + r * (3 ±0)` - // Minimum execution time: 229_091_000 picoseconds. - Weight::from_parts(235_369_797, 6608) - // Standard Error: 283 - .saturating_add(Weight::from_parts(146_485, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(6_u64)) + // Measured: `747 + r * (3 ±0)` + // Estimated: `6687 + r * (3 ±0)` + // Minimum execution time: 233_682_000 picoseconds. + Weight::from_parts(240_279_064, 6687) + // Standard Error: 738 + .saturating_add(Weight::from_parts(189_666, 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())) } @@ -675,8 +623,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -684,13 +634,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `782 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_638_000 picoseconds. - Weight::from_parts(245_890_126, 6724) - // Standard Error: 508 - .saturating_add(Weight::from_parts(323_232, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `861 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 249_122_000 picoseconds. + Weight::from_parts(249_521_157, 6803) + // Standard Error: 818 + .saturating_add(Weight::from_parts(371_111, 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())) } @@ -700,8 +650,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -709,13 +661,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6719 + r * (6 ±0)` - // Minimum execution time: 241_740_000 picoseconds. - Weight::from_parts(244_490_855, 6719) - // Standard Error: 1_872 - .saturating_add(Weight::from_parts(543_651, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6798 + r * (6 ±0)` + // Minimum execution time: 247_469_000 picoseconds. + Weight::from_parts(254_571_323, 6798) + // Standard Error: 1_535 + .saturating_add(Weight::from_parts(545_161, 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())) } @@ -725,8 +677,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -734,13 +688,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `922 + r * (6 ±0)` - // Estimated: `6846 + r * (6 ±0)` - // Minimum execution time: 241_787_000 picoseconds. - Weight::from_parts(243_819_464, 6846) - // Standard Error: 5_017 - .saturating_add(Weight::from_parts(1_496_444, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1001 + r * (6 ±0)` + // Estimated: `6925 + r * (6 ±0)` + // Minimum execution time: 246_529_000 picoseconds. + Weight::from_parts(260_398_990, 6925) + // Standard Error: 1_720 + .saturating_add(Weight::from_parts(1_466_536, 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())) } @@ -750,8 +704,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -759,13 +715,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (6 ±0)` - // Estimated: `6741 + r * (6 ±0)` - // Minimum execution time: 243_498_000 picoseconds. - Weight::from_parts(251_019_668, 6741) - // Standard Error: 1_479 - .saturating_add(Weight::from_parts(318_979, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `871 + r * (6 ±0)` + // Estimated: `6820 + r * (6 ±0)` + // Minimum execution time: 247_329_000 picoseconds. + Weight::from_parts(254_263_214, 6820) + // Standard Error: 642 + .saturating_add(Weight::from_parts(357_316, 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())) } @@ -775,8 +731,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -784,13 +742,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `790 + r * (6 ±0)` - // Estimated: `6739 + r * (6 ±0)` - // Minimum execution time: 242_572_000 picoseconds. - Weight::from_parts(246_453_396, 6739) - // Standard Error: 978 - .saturating_add(Weight::from_parts(320_095, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `869 + r * (6 ±0)` + // Estimated: `6818 + r * (6 ±0)` + // Minimum execution time: 247_182_000 picoseconds. + Weight::from_parts(253_497_801, 6818) + // Standard Error: 707 + .saturating_add(Weight::from_parts(359_827, 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())) } @@ -800,8 +758,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -809,13 +769,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787 + r * (6 ±0)` - // Estimated: `6737 + r * (6 ±0)` - // Minimum execution time: 241_872_000 picoseconds. - Weight::from_parts(257_272_904, 6737) - // Standard Error: 4_146 - .saturating_add(Weight::from_parts(314_645, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `866 + r * (6 ±0)` + // Estimated: `6816 + r * (6 ±0)` + // Minimum execution time: 246_803_000 picoseconds. + Weight::from_parts(253_965_244, 6816) + // Standard Error: 654 + .saturating_add(Weight::from_parts(358_101, 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,8 +785,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -834,13 +796,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6723 + r * (6 ±0)` - // Minimum execution time: 242_139_000 picoseconds. - Weight::from_parts(244_667_764, 6723) - // Standard Error: 580 - .saturating_add(Weight::from_parts(323_005, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6802 + r * (6 ±0)` + // Minimum execution time: 246_464_000 picoseconds. + Weight::from_parts(251_825_755, 6802) + // Standard Error: 650 + .saturating_add(Weight::from_parts(363_675, 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())) } @@ -850,8 +812,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -861,13 +825,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `852 + r * (14 ±0)` - // Estimated: `6785 + r * (14 ±0)` - // Minimum execution time: 242_370_000 picoseconds. - Weight::from_parts(247_330_421, 6785) - // Standard Error: 1_832 - .saturating_add(Weight::from_parts(1_396_737, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `931 + r * (14 ±0)` + // Estimated: `6864 + r * (14 ±0)` + // Minimum execution time: 246_052_000 picoseconds. + Weight::from_parts(243_000_370, 6864) + // Standard Error: 8_219 + .saturating_add(Weight::from_parts(1_449_883, 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())) } @@ -877,33 +841,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_gas(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `745 + r * (4 ±0)` - // Estimated: `6687 + r * (4 ±0)` - // Minimum execution time: 167_583_000 picoseconds. - Weight::from_parts(173_694_884, 6687) - // Standard Error: 2_880 - .saturating_add(Weight::from_parts(133_811, 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, 4).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -911,13 +852,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `780 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_932_000 picoseconds. - Weight::from_parts(246_356_239, 6724) - // Standard Error: 479 - .saturating_add(Weight::from_parts(268_456, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 247_044_000 picoseconds. + Weight::from_parts(250_396_204, 6803) + // Standard Error: 577 + .saturating_add(Weight::from_parts(327_275, 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())) } @@ -927,8 +868,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -936,13 +879,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `784` - // Estimated: `6724` - // Minimum execution time: 245_611_000 picoseconds. - Weight::from_parts(246_102_856, 6724) + // Measured: `863` + // Estimated: `6803` + // Minimum execution time: 248_160_000 picoseconds. + Weight::from_parts(251_383_883, 6803) // Standard Error: 1 - .saturating_add(Weight::from_parts(596, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(565, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -951,8 +894,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -960,13 +905,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `768 + r * (45 ±0)` - // Estimated: `6708 + r * (45 ±0)` - // Minimum execution time: 238_764_000 picoseconds. - Weight::from_parts(241_225_075, 6708) - // Standard Error: 196_899 - .saturating_add(Weight::from_parts(3_361_624, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `847 + r * (45 ±0)` + // Estimated: `6787 + r * (45 ±0)` + // Minimum execution time: 240_756_000 picoseconds. + Weight::from_parts(243_426_985, 6787) + // Standard Error: 333_936 + .saturating_add(Weight::from_parts(2_469_114, 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())) } @@ -976,8 +921,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -985,13 +932,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778` - // Estimated: `6731` - // Minimum execution time: 243_075_000 picoseconds. - Weight::from_parts(244_139_227, 6731) + // Measured: `857` + // Estimated: `6810` + // Minimum execution time: 243_946_000 picoseconds. + Weight::from_parts(248_146_498, 6810) // Standard Error: 0 - .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1000,14 +947,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -1015,17 +962,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (356 ±0)` - // Estimated: `6750 + r * (7781 ±0)` - // Minimum execution time: 241_330_000 picoseconds. - Weight::from_parts(244_187_673, 6750) - // Standard Error: 473_741 - .saturating_add(Weight::from_parts(117_358_926, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) + // Measured: `889 + r * (300 ±0)` + // Estimated: `6829 + r * (7725 ±0)` + // Minimum execution time: 246_106_000 picoseconds. + Weight::from_parts(248_555_834, 6829) + // Standard Error: 321_109 + .saturating_add(Weight::from_parts(109_005_365, 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)) .saturating_add(T::DbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1033,8 +980,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -1044,13 +993,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (10 ±0)` - // Estimated: `6769 + r * (10 ±0)` - // Minimum execution time: 243_298_000 picoseconds. - Weight::from_parts(246_393_253, 6769) - // Standard Error: 4_125 - .saturating_add(Weight::from_parts(1_876_317, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `938 + r * (10 ±0)` + // Estimated: `6879 + r * (10 ±0)` + // Minimum execution time: 247_429_000 picoseconds. + Weight::from_parts(261_792_203, 6879) + // Standard Error: 1_580 + .saturating_add(Weight::from_parts(1_807_671, 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())) } @@ -1060,8 +1009,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1069,13 +1020,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (10 ±0)` - // Estimated: `6723 + r * (10 ±0)` - // Minimum execution time: 240_477_000 picoseconds. - Weight::from_parts(252_579_330, 6723) - // Standard Error: 1_993 - .saturating_add(Weight::from_parts(3_510_388, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (10 ±0)` + // Estimated: `6802 + r * (10 ±0)` + // Minimum execution time: 241_602_000 picoseconds. + Weight::from_parts(266_862_900, 6802) + // Standard Error: 2_956 + .saturating_add(Weight::from_parts(3_458_802, 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())) } @@ -1085,8 +1036,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -1095,15 +1048,15 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `797 + t * (32 ±0)` - // Estimated: `6744 + t * (2508 ±0)` - // Minimum execution time: 259_029_000 picoseconds. - Weight::from_parts(252_262_484, 6744) - // Standard Error: 35_710 - .saturating_add(Weight::from_parts(2_236_764, 0).saturating_mul(t.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(648, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `876 + t * (32 ±0)` + // Estimated: `6823 + t * (2508 ±0)` + // Minimum execution time: 264_004_000 picoseconds. + Weight::from_parts(257_089_675, 6823) + // Standard Error: 57_656 + .saturating_add(Weight::from_parts(2_102_756, 0).saturating_mul(t.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(699, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -1115,8 +1068,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1124,13 +1079,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `777 + r * (7 ±0)` - // Estimated: `6721 + r * (7 ±0)` - // Minimum execution time: 170_544_000 picoseconds. - Weight::from_parts(174_555_287, 6721) - // Standard Error: 320 - .saturating_add(Weight::from_parts(233_911, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `856 + r * (7 ±0)` + // Estimated: `6800 + r * (7 ±0)` + // Minimum execution time: 171_907_000 picoseconds. + Weight::from_parts(178_461_426, 6800) + // Standard Error: 450 + .saturating_add(Weight::from_parts(299_613, 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())) } @@ -1140,8 +1095,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -1149,13 +1106,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125728` - // Estimated: `131670` - // Minimum execution time: 357_160_000 picoseconds. - Weight::from_parts(359_930_328, 131670) + // Measured: `125807` + // Estimated: `131749` + // Minimum execution time: 568_827_000 picoseconds. + Weight::from_parts(580_108_064, 131749) // Standard Error: 1 - .saturating_add(Weight::from_parts(738, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(860, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1163,13 +1120,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `845 + r * (292 ±0)` - // Estimated: `843 + r * (293 ±0)` - // Minimum execution time: 242_846_000 picoseconds. - Weight::from_parts(135_611_732, 843) - // Standard Error: 10_708 - .saturating_add(Weight::from_parts(6_146_995, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `924 + r * (292 ±0)` + // Estimated: `922 + r * (293 ±0)` + // Minimum execution time: 248_581_000 picoseconds. + Weight::from_parts(138_859_949, 922) + // Standard Error: 9_964 + .saturating_add(Weight::from_parts(6_289_734, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1178,15 +1135,13 @@ impl WeightInfo for SubstrateWeight { /// Storage: Skipped Metadata (r:0 w:0) /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) /// The range of component `n` is `[0, 16384]`. - fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1304` - // Estimated: `1280` - // Minimum execution time: 258_885_000 picoseconds. - Weight::from_parts(292_699_689, 1280) - // Standard Error: 47 - .saturating_add(Weight::from_parts(433, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + fn seal_set_storage_per_new_byte(_n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1383` + // Estimated: `1359` + // Minimum execution time: 261_463_000 picoseconds. + Weight::from_parts(300_008_557, 1359) + .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1194,11 +1149,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1167 + n * (1 ±0)` - // Estimated: `1167 + n * (1 ±0)` - // Minimum execution time: 258_297_000 picoseconds. - Weight::from_parts(262_380_805, 1167) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1246 + n * (1 ±0)` + // Estimated: `1246 + n * (1 ±0)` + // Minimum execution time: 261_037_000 picoseconds. + Weight::from_parts(263_137_925, 1246) + // Standard Error: 12 + .saturating_add(Weight::from_parts(130, 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())) } @@ -1207,13 +1164,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `841 + r * (288 ±0)` - // Estimated: `845 + r * (289 ±0)` - // Minimum execution time: 242_945_000 picoseconds. - Weight::from_parts(126_721_339, 845) - // Standard Error: 11_891 - .saturating_add(Weight::from_parts(6_134_319, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `920 + r * (288 ±0)` + // Estimated: `924 + r * (289 ±0)` + // Minimum execution time: 248_244_000 picoseconds. + Weight::from_parts(137_928_954, 924) + // Standard Error: 10_340 + .saturating_add(Weight::from_parts(6_156_172, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1224,13 +1181,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1163 + n * (1 ±0)` - // Estimated: `1163 + n * (1 ±0)` - // Minimum execution time: 259_872_000 picoseconds. - Weight::from_parts(259_910_037, 1163) - // Standard Error: 142 - .saturating_add(Weight::from_parts(629, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1242 + n * (1 ±0)` + // Estimated: `1242 + n * (1 ±0)` + // Minimum execution time: 261_094_000 picoseconds. + Weight::from_parts(263_393_430, 1242) + // Standard Error: 17 + .saturating_add(Weight::from_parts(106, 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())) } @@ -1239,13 +1196,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `835 + r * (296 ±0)` - // Estimated: `840 + r * (297 ±0)` - // Minimum execution time: 245_005_000 picoseconds. - Weight::from_parts(155_891_939, 840) - // Standard Error: 9_938 - .saturating_add(Weight::from_parts(4_992_231, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `914 + r * (296 ±0)` + // Estimated: `919 + r * (297 ±0)` + // Minimum execution time: 249_093_000 picoseconds. + Weight::from_parts(165_491_364, 919) + // Standard Error: 8_723 + .saturating_add(Weight::from_parts(5_162_679, 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)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -1255,13 +1212,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1179 + n * (1 ±0)` - // Estimated: `1179 + n * (1 ±0)` - // Minimum execution time: 257_926_000 picoseconds. - Weight::from_parts(261_438_340, 1179) - // Standard Error: 24 - .saturating_add(Weight::from_parts(659, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1258 + n * (1 ±0)` + // Estimated: `1258 + n * (1 ±0)` + // Minimum execution time: 260_849_000 picoseconds. + Weight::from_parts(264_254_567, 1258) + // Standard Error: 16 + .saturating_add(Weight::from_parts(664, 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())) } @@ -1270,13 +1227,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (288 ±0)` - // Estimated: `857 + r * (289 ±0)` - // Minimum execution time: 244_392_000 picoseconds. - Weight::from_parts(156_243_434, 857) - // Standard Error: 8_716 - .saturating_add(Weight::from_parts(4_813_682, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `935 + r * (288 ±0)` + // Estimated: `936 + r * (289 ±0)` + // Minimum execution time: 248_442_000 picoseconds. + Weight::from_parts(160_049_679, 936) + // Standard Error: 8_384 + .saturating_add(Weight::from_parts(4_965_970, 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)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -1286,13 +1243,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1166 + n * (1 ±0)` - // Estimated: `1166 + n * (1 ±0)` - // Minimum execution time: 255_731_000 picoseconds. - Weight::from_parts(258_937_245, 1166) - // Standard Error: 26 - .saturating_add(Weight::from_parts(61, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1245 + n * (1 ±0)` + // Estimated: `1245 + n * (1 ±0)` + // Minimum execution time: 258_525_000 picoseconds. + Weight::from_parts(267_159_833, 1245) + .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())) } @@ -1301,13 +1256,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `829 + r * (296 ±0)` - // Estimated: `836 + r * (297 ±0)` - // Minimum execution time: 242_902_000 picoseconds. - Weight::from_parts(140_670_703, 836) - // Standard Error: 10_042 - .saturating_add(Weight::from_parts(6_206_728, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `908 + r * (296 ±0)` + // Estimated: `915 + r * (297 ±0)` + // Minimum execution time: 249_374_000 picoseconds. + Weight::from_parts(143_170_561, 915) + // Standard Error: 9_740 + .saturating_add(Weight::from_parts(6_363_267, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1318,13 +1273,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1180 + n * (1 ±0)` - // Estimated: `1180 + n * (1 ±0)` - // Minimum execution time: 258_425_000 picoseconds. - Weight::from_parts(266_011_498, 1180) - // Standard Error: 137 - .saturating_add(Weight::from_parts(383, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1259 + n * (1 ±0)` + // Estimated: `1259 + n * (1 ±0)` + // Minimum execution time: 262_488_000 picoseconds. + Weight::from_parts(264_414_408, 1259) + // Standard Error: 19 + .saturating_add(Weight::from_parts(747, 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())) } @@ -1334,8 +1289,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1343,13 +1300,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1373 + r * (45 ±0)` - // Estimated: `7270 + r * (2520 ±0)` - // Minimum execution time: 243_533_000 picoseconds. - Weight::from_parts(67_275_548, 7270) - // Standard Error: 29_687 - .saturating_add(Weight::from_parts(36_086_917, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1452 + r * (45 ±0)` + // Estimated: `7349 + r * (2520 ±0)` + // Minimum execution time: 250_531_000 picoseconds. + Weight::from_parts(156_750_956, 7349) + // Standard Error: 25_858 + .saturating_add(Weight::from_parts(33_857_380, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1361,8 +1318,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -1370,13 +1329,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1140 + r * (276 ±0)` - // Estimated: `9332 + r * (2752 ±0)` - // Minimum execution time: 246_206_000 picoseconds. - Weight::from_parts(246_946_000, 9332) - // Standard Error: 74_648 - .saturating_add(Weight::from_parts(217_429_651, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1296 + r * (276 ±0)` + // Estimated: `9481 + r * (2752 ±0)` + // Minimum execution time: 252_712_000 picoseconds. + Weight::from_parts(253_423_000, 9481) + // Standard Error: 82_522 + .saturating_add(Weight::from_parts(214_147_947, 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)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -1388,8 +1347,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:736 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:736 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:736 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -1397,17 +1358,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (502 ±0)` - // Estimated: `6727 + r * (2572 ±10)` - // Minimum execution time: 245_170_000 picoseconds. - Weight::from_parts(245_460_000, 6727) - // Standard Error: 110_429 - .saturating_add(Weight::from_parts(212_316_013, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (572 ±0)` + // Estimated: `6806 + r * (2633 ±3)` + // Minimum execution time: 254_932_000 picoseconds. + Weight::from_parts(255_413_000, 6806) + // Standard Error: 104_944 + .saturating_add(Weight::from_parts(214_798_030, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2633).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1415,8 +1376,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -1425,15 +1388,15 @@ 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: `1154 + t * (204 ±0)` - // Estimated: `12044 + t * (5154 ±0)` - // Minimum execution time: 424_523_000 picoseconds. - Weight::from_parts(392_267_161, 12044) - // Standard Error: 956_686 - .saturating_add(Weight::from_parts(36_399_297, 0).saturating_mul(t.into())) + // Measured: `1308 + t * (204 ±0)` + // Estimated: `12198 + t * (5154 ±0)` + // Minimum execution time: 426_927_000 picoseconds. + Weight::from_parts(417_488_401, 12198) + // Standard Error: 1_354_920 + .saturating_add(Weight::from_parts(23_589_444, 0).saturating_mul(t.into())) // Standard Error: 1 - .saturating_add(Weight::from_parts(600, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(11_u64)) + .saturating_add(Weight::from_parts(555, 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()))) @@ -1445,30 +1408,30 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:801 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:801 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:801 w:800) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:800 w:800) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1322 + r * (254 ±0)` - // Estimated: `7146 + r * (5205 ±0)` - // Minimum execution time: 582_323_000 picoseconds. - Weight::from_parts(584_276_000, 7146) - // Standard Error: 280_418 - .saturating_add(Weight::from_parts(349_510_405, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1383 + r * (251 ±0)` + // Estimated: `7207 + r * (5202 ±0)` + // Minimum execution time: 578_324_000 picoseconds. + Weight::from_parts(579_296_000, 7207) + // Standard Error: 272_850 + .saturating_add(Weight::from_parts(339_289_932, 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)) .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5202).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1476,14 +1439,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `t` is `[0, 1]`. @@ -1491,17 +1454,17 @@ 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: `1071 + t * (187 ±0)` - // Estimated: `9492 + t * (2634 ±2)` - // Minimum execution time: 1_627_228_000 picoseconds. - Weight::from_parts(358_838_236, 9492) - // Standard Error: 4_785_521 - .saturating_add(Weight::from_parts(114_920_186, 0).saturating_mul(t.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_163, 0).saturating_mul(i.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(14_u64)) + // Measured: `1131 + t * (187 ±0)` + // Estimated: `9552 + t * (2634 ±2)` + // Minimum execution time: 1_579_497_000 picoseconds. + Weight::from_parts(314_987_461, 9552) + // Standard Error: 5_205_375 + .saturating_add(Weight::from_parts(133_593_989, 0).saturating_mul(t.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_147, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_317, 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()))) @@ -1513,8 +1476,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1522,13 +1487,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `777 + r * (8 ±0)` - // Estimated: `6718 + r * (8 ±0)` - // Minimum execution time: 239_228_000 picoseconds. - Weight::from_parts(245_525_858, 6718) - // Standard Error: 1_774 - .saturating_add(Weight::from_parts(578_001, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `856 + r * (8 ±0)` + // Estimated: `6797 + r * (8 ±0)` + // Minimum execution time: 242_869_000 picoseconds. + Weight::from_parts(245_069_714, 6797) + // Standard Error: 859 + .saturating_add(Weight::from_parts(661_377, 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())) } @@ -1538,8 +1503,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1547,13 +1514,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `785` - // Estimated: `6725` - // Minimum execution time: 241_876_000 picoseconds. - Weight::from_parts(240_629_797, 6725) + // Measured: `864` + // Estimated: `6804` + // Minimum execution time: 243_969_000 picoseconds. + Weight::from_parts(242_208_448, 6804) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_947, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(3_946, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1562,8 +1529,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1571,13 +1540,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6721 + r * (8 ±0)` - // Minimum execution time: 239_345_000 picoseconds. - Weight::from_parts(245_512_118, 6721) - // Standard Error: 771 - .saturating_add(Weight::from_parts(735_528, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6800 + r * (8 ±0)` + // Minimum execution time: 241_475_000 picoseconds. + Weight::from_parts(250_897_752, 6800) + // Standard Error: 2_431 + .saturating_add(Weight::from_parts(811_717, 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())) } @@ -1587,8 +1556,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1596,13 +1567,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6729` - // Minimum execution time: 242_741_000 picoseconds. - Weight::from_parts(232_209_398, 6729) + // Measured: `866` + // Estimated: `6808` + // Minimum execution time: 243_429_000 picoseconds. + Weight::from_parts(234_426_173, 6808) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_099, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1611,8 +1582,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1620,13 +1593,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6724 + r * (8 ±0)` - // Minimum execution time: 239_254_000 picoseconds. - Weight::from_parts(244_250_047, 6724) - // Standard Error: 2_223 - .saturating_add(Weight::from_parts(421_533, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6803 + r * (8 ±0)` + // Minimum execution time: 241_277_000 picoseconds. + Weight::from_parts(249_179_982, 6803) + // Standard Error: 635 + .saturating_add(Weight::from_parts(497_309, 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())) } @@ -1636,8 +1609,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1645,13 +1620,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6733` - // Minimum execution time: 240_848_000 picoseconds. - Weight::from_parts(239_049_162, 6733) - // Standard Error: 3 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `866` + // Estimated: `6812` + // Minimum execution time: 242_654_000 picoseconds. + Weight::from_parts(238_213_063, 6812) + // Standard Error: 2 + .saturating_add(Weight::from_parts(910, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1660,8 +1635,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1669,13 +1646,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6725 + r * (8 ±0)` - // Minimum execution time: 240_496_000 picoseconds. - Weight::from_parts(245_279_278, 6725) - // Standard Error: 1_047 - .saturating_add(Weight::from_parts(414_108, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6804 + r * (8 ±0)` + // Minimum execution time: 242_405_000 picoseconds. + Weight::from_parts(244_244_783, 6804) + // Standard Error: 628 + .saturating_add(Weight::from_parts(502_346, 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())) } @@ -1685,8 +1662,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1694,13 +1673,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6727` - // Minimum execution time: 241_529_000 picoseconds. - Weight::from_parts(234_715_148, 6727) + // Measured: `866` + // Estimated: `6806` + // Minimum execution time: 244_080_000 picoseconds. + Weight::from_parts(234_972_989, 6806) // Standard Error: 1 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(909, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1709,8 +1688,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1718,13 +1699,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 125697]`. fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `912 + n * (1 ±0)` - // Estimated: `6849 + n * (1 ±0)` - // Minimum execution time: 294_982_000 picoseconds. - Weight::from_parts(299_613_855, 6849) - // Standard Error: 7 - .saturating_add(Weight::from_parts(4_668, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `991 + n * (1 ±0)` + // Estimated: `6928 + n * (1 ±0)` + // Minimum execution time: 301_859_000 picoseconds. + Weight::from_parts(305_390_229, 6928) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_443, 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())) } @@ -1734,8 +1715,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1743,13 +1726,13 @@ 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: `726 + r * (112 ±0)` - // Estimated: `6666 + r * (112 ±0)` - // Minimum execution time: 242_583_000 picoseconds. - Weight::from_parts(251_860_767, 6666) - // Standard Error: 24_034 - .saturating_add(Weight::from_parts(48_144_071, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `801 + r * (112 ±0)` + // Estimated: `6745 + r * (112 ±0)` + // Minimum execution time: 250_401_000 picoseconds. + Weight::from_parts(257_682_069, 6745) + // Standard Error: 23_114 + .saturating_add(Weight::from_parts(48_240_664, 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())) } @@ -1759,8 +1742,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1768,13 +1753,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `822 + r * (76 ±0)` - // Estimated: `6716 + r * (77 ±0)` - // Minimum execution time: 242_331_000 picoseconds. - Weight::from_parts(254_816_298, 6716) - // Standard Error: 17_941 - .saturating_add(Weight::from_parts(37_725_489, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `901 + r * (76 ±0)` + // Estimated: `6795 + r * (77 ±0)` + // Minimum execution time: 249_466_000 picoseconds. + Weight::from_parts(266_685_211, 6795) + // Standard Error: 20_091 + .saturating_add(Weight::from_parts(37_913_270, 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,8 +1769,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1793,13 +1780,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (42 ±0)` - // Estimated: `6731 + r * (42 ±0)` - // Minimum execution time: 242_951_000 picoseconds. - Weight::from_parts(246_055_289, 6731) - // Standard Error: 10_074 - .saturating_add(Weight::from_parts(9_421_877, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `871 + r * (42 ±0)` + // Estimated: `6810 + r * (42 ±0)` + // Minimum execution time: 247_024_000 picoseconds. + Weight::from_parts(251_944_650, 6810) + // Standard Error: 9_580 + .saturating_add(Weight::from_parts(9_688_086, 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())) } @@ -1809,28 +1796,28 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1536 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1536 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1536 w:1536) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (964 ±0)` - // Estimated: `8190 + r * (3090 ±7)` - // Minimum execution time: 245_310_000 picoseconds. - Weight::from_parts(245_703_000, 8190) - // Standard Error: 45_813 - .saturating_add(Weight::from_parts(21_837_058, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `0 + r * (961 ±0)` + // Estimated: `6801 + r * (3087 ±10)` + // Minimum execution time: 248_461_000 picoseconds. + Weight::from_parts(248_876_000, 6801) + // Standard Error: 48_987 + .saturating_add(Weight::from_parts(23_039_701, 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)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 3087).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1838,8 +1825,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1847,13 +1836,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `773 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 241_955_000 picoseconds. - Weight::from_parts(246_148_234, 6723) - // Standard Error: 384 - .saturating_add(Weight::from_parts(162_123, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `852 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 245_559_000 picoseconds. + Weight::from_parts(249_677_207, 6802) + // Standard Error: 299 + .saturating_add(Weight::from_parts(204_780, 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())) } @@ -1863,8 +1852,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1872,13 +1863,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1975 + r * (39 ±0)` - // Estimated: `7805 + r * (40 ±0)` - // Minimum execution time: 243_928_000 picoseconds. - Weight::from_parts(276_404_668, 7805) - // Standard Error: 1_263 - .saturating_add(Weight::from_parts(262_830, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `2092 + r * (39 ±0)` + // Estimated: `7919 + r * (40 ±0)` + // Minimum execution time: 249_583_000 picoseconds. + Weight::from_parts(278_918_312, 7919) + // Standard Error: 1_206 + .saturating_add(Weight::from_parts(381_976, 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())) } @@ -1888,8 +1879,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) @@ -1899,13 +1892,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `776 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 242_853_000 picoseconds. - Weight::from_parts(250_429_787, 6723) - // Standard Error: 433 - .saturating_add(Weight::from_parts(139_180, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `855 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 244_154_000 picoseconds. + Weight::from_parts(252_444_886, 6802) + // Standard Error: 504 + .saturating_add(Weight::from_parts(181_466, 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())) } @@ -1914,871 +1907,363 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_620_000 picoseconds. - Weight::from_parts(1_894_980, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_995, 0).saturating_mul(r.into())) + // Minimum execution time: 1_449_000 picoseconds. + Weight::from_parts(1_913_474, 0) + // Standard Error: 23 + .saturating_add(Weight::from_parts(8_654, 0).saturating_mul(r.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64load(r: u32, ) -> Weight { +} + +// For backwards compatibility and tests +impl WeightInfo for () { + /// Storage: Contracts DeletionQueueCounter (r:1 w:0) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + fn on_process_deletion_queue_batch() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_716_000 picoseconds. - Weight::from_parts(2_353_783, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_414, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 2_551_000 picoseconds. + Weight::from_parts(2_657_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64store(r: u32, ) -> Weight { + /// Storage: Skipped Metadata (r:0 w:0) + /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_735_000 picoseconds. - Weight::from_parts(2_266_096, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_015, 0).saturating_mul(r.into())) + // Measured: `451 + k * (69 ±0)` + // Estimated: `441 + k * (70 ±0)` + // Minimum execution time: 12_208_000 picoseconds. + Weight::from_parts(7_113_931, 441) + // Standard Error: 1_217 + .saturating_add(Weight::from_parts(990_509, 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)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_select(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// The range of component `c` is `[0, 125952]`. + fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_698_000 picoseconds. - Weight::from_parts(2_080_936, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(7_921, 0).saturating_mul(r.into())) + // Measured: `211 + c * (1 ±0)` + // Estimated: `6149 + c * (1 ±0)` + // Minimum execution time: 8_768_000 picoseconds. + Weight::from_parts(9_700_270, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_299, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_if(r: u32, ) -> Weight { + /// Storage: Contracts ContractInfoOf (r:2 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// 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: `0` - // Estimated: `0` - // Minimum execution time: 1_636_000 picoseconds. - Weight::from_parts(1_913_876, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(10_836, 0).saturating_mul(r.into())) + // Measured: `548` + // Estimated: `6488` + // Minimum execution time: 17_711_000 picoseconds. + Weight::from_parts(17_981_000, 6488) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br(r: u32, ) -> Weight { + /// Storage: Contracts DeletionQueue (r:1 w:1025) + /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) + /// Storage: Contracts DeletionQueueCounter (r:0 w:1) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn v11_migration_step(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(1_838_470, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(4_613, 0).saturating_mul(r.into())) + // Measured: `171 + k * (1 ±0)` + // Estimated: `3635 + k * (1 ±0)` + // Minimum execution time: 3_916_000 picoseconds. + Weight::from_parts(2_658_809, 3635) + // Standard Error: 941 + .saturating_add(Weight::from_parts(950_491, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_if(r: u32, ) -> Weight { + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:0 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn v12_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_744_254, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(7_020, 0).saturating_mul(r.into())) + // Measured: `378 + c * (2 ±0)` + // Estimated: `6313 + c * (2 ±0)` + // Minimum execution time: 23_031_000 picoseconds. + Weight::from_parts(26_028_856, 6313) + // Standard Error: 1 + .saturating_add(Weight::from_parts(961, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_table(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn migration_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_621_000 picoseconds. - Weight::from_parts(1_511_579, 0) - // Standard Error: 33 - .saturating_add(Weight::from_parts(9_479, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 3_339_000 picoseconds. + Weight::from_parts(3_454_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `e` is `[1, 256]`. - fn instr_br_table_per_entry(_e: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + fn migrate() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_758_000 picoseconds. - Weight::from_parts(2_066_494, 0) + // Measured: `166` + // Estimated: `3631` + // Minimum execution time: 13_244_000 picoseconds. + Weight::from_parts(13_527_000, 3631) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_call(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + fn on_runtime_upgrade_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_690_000 picoseconds. - Weight::from_parts(2_029_755, 0) - // Standard Error: 9 - .saturating_add(Weight::from_parts(17_946, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 5_322_000 picoseconds. + Weight::from_parts(5_622_000, 3607) + .saturating_add(RocksDbWeight::get().reads(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_call_indirect(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade_in_progress() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_894_000 picoseconds. - Weight::from_parts(5_533_643, 0) - // Standard Error: 176 - .saturating_add(Weight::from_parts(23_511, 0).saturating_mul(r.into())) + // Measured: `167` + // Estimated: `3632` + // Minimum execution time: 7_395_000 picoseconds. + Weight::from_parts(7_621_000, 3632) + .saturating_add(RocksDbWeight::get().reads(2_u64)) } - /// The range of component `l` is `[0, 1024]`. - fn instr_call_per_local(l: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(1_978_038, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(1_176, 0).saturating_mul(l.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 8_184_000 picoseconds. + Weight::from_parts(8_405_000, 3607) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_get(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_889_000 picoseconds. - Weight::from_parts(3_181_705, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_516, 0).saturating_mul(r.into())) + // Measured: `786` + // Estimated: `6735 + c * (1 ±0)` + // Minimum execution time: 268_170_000 picoseconds. + Weight::from_parts(255_802_329, 6735) + // Standard Error: 61 + .saturating_add(Weight::from_parts(45_879, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_set(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_871_000 picoseconds. - Weight::from_parts(3_186_198, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_619, 0).saturating_mul(r.into())) + // Measured: `303` + // Estimated: `8745` + // Minimum execution time: 3_103_535_000 picoseconds. + Weight::from_parts(709_110_372, 8745) + // Standard Error: 150 + .saturating_add(Weight::from_parts(81_085, 0).saturating_mul(c.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_021, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_373, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(9_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_tee(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_890_000 picoseconds. - Weight::from_parts(3_237_380, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_963, 0).saturating_mul(r.into())) + // Measured: `503` + // Estimated: `6429` + // Minimum execution time: 1_621_225_000 picoseconds. + Weight::from_parts(285_978_517, 6429) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_398, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_428, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_get(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn call() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(2_180_563, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(8_400, 0).saturating_mul(r.into())) + // Measured: `838` + // Estimated: `6778` + // Minimum execution time: 193_482_000 picoseconds. + Weight::from_parts(195_003_000, 6778) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_set(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_807_000 picoseconds. - Weight::from_parts(2_247_402, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(8_798, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 228_563_000 picoseconds. + Weight::from_parts(213_483_237, 3607) + // Standard Error: 87 + .saturating_add(Weight::from_parts(69_335, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_memory_current(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + fn remove_code() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(2_050_199, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_833, 0).saturating_mul(r.into())) + // Measured: `255` + // Estimated: `3720` + // Minimum execution time: 32_166_000 picoseconds. + Weight::from_parts(32_782_000, 3720) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 16]`. - fn instr_memory_grow(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:2) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(720_378, 0) - // Standard Error: 141_036 - .saturating_add(Weight::from_parts(13_193_405, 0).saturating_mul(r.into())) + // Measured: `575` + // Estimated: `8990` + // Minimum execution time: 35_579_000 picoseconds. + Weight::from_parts(36_177_000, 8990) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64clz(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_654_000 picoseconds. - Weight::from_parts(1_934_279, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(4_049, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ctz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_609_000 picoseconds. - Weight::from_parts(1_938_511, 0) - // Standard Error: 20 - .saturating_add(Weight::from_parts(3_780, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64popcnt(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_634_000 picoseconds. - Weight::from_parts(1_941_109, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(3_770, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eqz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_939_447, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_666, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendsi32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_637_000 picoseconds. - Weight::from_parts(1_921_355, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_977, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendui32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_668_000 picoseconds. - Weight::from_parts(1_993_872, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_809, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i32wrapi64(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_657_000 picoseconds. - Weight::from_parts(1_954_737, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_734, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eq(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_688_000 picoseconds. - Weight::from_parts(1_993_611, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(5_962, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ne(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_965_361, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_965, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64lts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_679_000 picoseconds. - Weight::from_parts(1_946_910, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_987, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ltu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_925_830, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_001, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_984_702, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_817, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gtu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_660_000 picoseconds. - Weight::from_parts(1_978_370, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_115, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64les(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_655_000 picoseconds. - Weight::from_parts(2_008_659, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_985, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64leu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_608_000 picoseconds. - Weight::from_parts(1_912_542, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_084, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ges(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_959_896, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_968, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64geu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_653_000 picoseconds. - Weight::from_parts(1_984_715, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_971, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64add(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_610_000 picoseconds. - Weight::from_parts(1_919_305, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_877, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64sub(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_691_000 picoseconds. - Weight::from_parts(2_284_292, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(6_027, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64mul(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_960_370, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(5_760, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divs(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_656_000 picoseconds. - Weight::from_parts(1_915_002, 0) - // Standard Error: 21 - .saturating_add(Weight::from_parts(11_896, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_645_000 picoseconds. - Weight::from_parts(2_952_497, 0) - // Standard Error: 122 - .saturating_add(Weight::from_parts(10_646, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rems(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_669_000 picoseconds. - Weight::from_parts(1_661_488, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(12_330, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64remu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_989_633, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(10_649, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64and(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_715_000 picoseconds. - Weight::from_parts(1_994_636, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_667, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64or(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_685_000 picoseconds. - Weight::from_parts(2_075_238, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_743, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64xor(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_649_000 picoseconds. - Weight::from_parts(1_911_373, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_894, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shl(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_682_000 picoseconds. - Weight::from_parts(2_000_076, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_932, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shrs(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(1_999_600, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_129, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shru(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_628_000 picoseconds. - Weight::from_parts(1_893_440, 0) - // Standard Error: 15 - .saturating_add(Weight::from_parts(5_938, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotl(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_721_000 picoseconds. - Weight::from_parts(1_982_227, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_008, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotr(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_648_000 picoseconds. - Weight::from_parts(2_003_359, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_875, 0).saturating_mul(r.into())) - } -} - -// For backwards compatibility and tests -impl WeightInfo for () { - /// Storage: Contracts DeletionQueueCounter (r:1 w:0) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - fn on_process_deletion_queue_batch() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 2_630_000 picoseconds. - Weight::from_parts(2_778_000, 1594) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - } - /// Storage: Skipped Metadata (r:0 w:0) - /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn on_initialize_per_trie_key(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `488 + k * (69 ±0)` - // Estimated: `478 + k * (70 ±0)` - // Minimum execution time: 13_453_000 picoseconds. - Weight::from_parts(10_904_078, 478) - // Standard Error: 931 - .saturating_add(Weight::from_parts(982_122, 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)) - .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) - } - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn reinstrument(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `238 + c * (1 ±0)` - // Estimated: `3708 + c * (1 ±0)` - // Minimum execution time: 30_972_000 picoseconds. - Weight::from_parts(31_129_287, 3708) - // Standard Error: 52 - .saturating_add(Weight::from_parts(54_996, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts CodeStorage (r:2 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn v9_migration_step(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `178 + c * (1 ±0)` - // Estimated: `6114 + c * (1 ±0)` - // Minimum execution time: 9_696_000 picoseconds. - Weight::from_parts(10_697_026, 6114) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_307, 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())) - } - /// Storage: Contracts ContractInfoOf (r:2 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// 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: `544` - // Estimated: `6484` - // Minimum execution time: 18_132_000 picoseconds. - Weight::from_parts(18_842_000, 6484) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts DeletionQueue (r:1 w:1025) - /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) - /// Storage: Contracts DeletionQueueCounter (r:0 w:1) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn v11_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) - } - - /// Placeholder, should be replaced with new benchmarked weight - fn v12_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) - } - - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn migration_noop() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 3_528_000 picoseconds. - Weight::from_parts(3_641_000, 1594) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - fn migrate() -> Weight { - // Proof Size summary in bytes: - // Measured: `133` - // Estimated: `3598` - // Minimum execution time: 13_433_000 picoseconds. - Weight::from_parts(13_710_000, 3598) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - fn on_runtime_upgrade_noop() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 5_502_000 picoseconds. - Weight::from_parts(5_689_000, 3574) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade_in_progress() -> Weight { - // Proof Size summary in bytes: - // Measured: `134` - // Estimated: `3599` - // Minimum execution time: 7_846_000 picoseconds. - Weight::from_parts(8_078_000, 3599) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 8_390_000 picoseconds. - Weight::from_parts(8_602_000, 3574) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn call_with_code_per_byte(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `707` - // Estimated: `6656 + c * (1 ±0)` - // Minimum execution time: 280_993_000 picoseconds. - Weight::from_parts(289_622_441, 6656) - // Standard Error: 26 - .saturating_add(Weight::from_parts(38_061, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `270` - // Estimated: `8659` - // Minimum execution time: 3_136_130_000 picoseconds. - Weight::from_parts(568_808_049, 8659) - // Standard Error: 288 - .saturating_add(Weight::from_parts(108_649, 0).saturating_mul(c.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(i.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_502, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(10_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate(i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `482` - // Estimated: `6408` - // Minimum execution time: 1_655_107_000 picoseconds. - Weight::from_parts(266_843_437, 6408) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_463, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_458, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn call() -> Weight { - // Proof Size summary in bytes: - // Measured: `759` - // Estimated: `6699` - // Minimum execution time: 197_684_000 picoseconds. - Weight::from_parts(199_222_000, 6699) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn upload_code(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 254_766_000 picoseconds. - Weight::from_parts(247_865_224, 3574) - // Standard Error: 146 - .saturating_add(Weight::from_parts(108_830, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - fn remove_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `255` - // Estimated: `3720` - // Minimum execution time: 36_038_000 picoseconds. - Weight::from_parts(36_503_000, 3720) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:2 w:2) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn set_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `570` - // Estimated: `8985` - // Minimum execution time: 35_312_000 picoseconds. - Weight::from_parts(35_852_000, 8985) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(6_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_caller(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `781 + r * (6 ±0)` - // Estimated: `6722 + r * (6 ±0)` - // Minimum execution time: 241_668_000 picoseconds. - Weight::from_parts(256_167_627, 6722) - // Standard Error: 2_447 - .saturating_add(Weight::from_parts(328_424, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `860 + r * (6 ±0)` + // Estimated: `6801 + r * (6 ±0)` + // Minimum execution time: 246_674_000 picoseconds. + Weight::from_parts(252_221_210, 6801) + // Standard Error: 784 + .saturating_add(Weight::from_parts(372_935, 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())) } @@ -2788,8 +2273,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2797,13 +2284,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `839 + r * (240 ±0)` - // Estimated: `6743 + r * (2715 ±0)` - // Minimum execution time: 242_353_000 picoseconds. - Weight::from_parts(82_743_116, 6743) - // Standard Error: 6_271 - .saturating_add(Weight::from_parts(3_331_316, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `918 + r * (240 ±0)` + // Estimated: `6822 + r * (2715 ±0)` + // Minimum execution time: 247_549_000 picoseconds. + Weight::from_parts(71_679_562, 6822) + // Standard Error: 6_718 + .saturating_add(Weight::from_parts(3_416_535, 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)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -2814,8 +2301,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2823,13 +2312,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `831 + r * (244 ±0)` - // Estimated: `6747 + r * (2719 ±0)` - // Minimum execution time: 243_370_000 picoseconds. - Weight::from_parts(77_198_453, 6747) - // Standard Error: 6_968 - .saturating_add(Weight::from_parts(4_162_946, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `910 + r * (244 ±0)` + // Estimated: `6826 + r * (2719 ±0)` + // Minimum execution time: 251_268_000 picoseconds. + Weight::from_parts(105_839_822, 6826) + // Standard Error: 8_060 + .saturating_add(Weight::from_parts(4_148_193, 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)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -2840,8 +2329,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2849,13 +2340,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `788 + r * (6 ±0)` - // Estimated: `6730 + r * (6 ±0)` - // Minimum execution time: 244_083_000 picoseconds. - Weight::from_parts(239_899_316, 6730) - // Standard Error: 5_254 - .saturating_add(Weight::from_parts(423_863, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `867 + r * (6 ±0)` + // Estimated: `6809 + r * (6 ±0)` + // Minimum execution time: 249_994_000 picoseconds. + Weight::from_parts(254_429_021, 6809) + // Standard Error: 807 + .saturating_add(Weight::from_parts(444_253, 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())) } @@ -2865,8 +2356,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2874,13 +2367,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 239_835_000 picoseconds. - Weight::from_parts(247_929_454, 6723) - // Standard Error: 2_309 - .saturating_add(Weight::from_parts(169_642, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 244_726_000 picoseconds. + Weight::from_parts(249_118_388, 6802) + // Standard Error: 527 + .saturating_add(Weight::from_parts(210_682, 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())) } @@ -2888,8 +2381,10 @@ impl WeightInfo for () { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2897,13 +2392,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `668 + r * (3 ±0)` - // Estimated: `6608 + r * (3 ±0)` - // Minimum execution time: 229_091_000 picoseconds. - Weight::from_parts(235_369_797, 6608) - // Standard Error: 283 - .saturating_add(Weight::from_parts(146_485, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(6_u64)) + // Measured: `747 + r * (3 ±0)` + // Estimated: `6687 + r * (3 ±0)` + // Minimum execution time: 233_682_000 picoseconds. + Weight::from_parts(240_279_064, 6687) + // Standard Error: 738 + .saturating_add(Weight::from_parts(189_666, 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())) } @@ -2913,8 +2408,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2922,13 +2419,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `782 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_638_000 picoseconds. - Weight::from_parts(245_890_126, 6724) - // Standard Error: 508 - .saturating_add(Weight::from_parts(323_232, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `861 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 249_122_000 picoseconds. + Weight::from_parts(249_521_157, 6803) + // Standard Error: 818 + .saturating_add(Weight::from_parts(371_111, 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())) } @@ -2938,8 +2435,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2947,13 +2446,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6719 + r * (6 ±0)` - // Minimum execution time: 241_740_000 picoseconds. - Weight::from_parts(244_490_855, 6719) - // Standard Error: 1_872 - .saturating_add(Weight::from_parts(543_651, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6798 + r * (6 ±0)` + // Minimum execution time: 247_469_000 picoseconds. + Weight::from_parts(254_571_323, 6798) + // Standard Error: 1_535 + .saturating_add(Weight::from_parts(545_161, 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())) } @@ -2963,8 +2462,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2972,13 +2473,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `922 + r * (6 ±0)` - // Estimated: `6846 + r * (6 ±0)` - // Minimum execution time: 241_787_000 picoseconds. - Weight::from_parts(243_819_464, 6846) - // Standard Error: 5_017 - .saturating_add(Weight::from_parts(1_496_444, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1001 + r * (6 ±0)` + // Estimated: `6925 + r * (6 ±0)` + // Minimum execution time: 246_529_000 picoseconds. + Weight::from_parts(260_398_990, 6925) + // Standard Error: 1_720 + .saturating_add(Weight::from_parts(1_466_536, 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())) } @@ -2988,8 +2489,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2997,13 +2500,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (6 ±0)` - // Estimated: `6741 + r * (6 ±0)` - // Minimum execution time: 243_498_000 picoseconds. - Weight::from_parts(251_019_668, 6741) - // Standard Error: 1_479 - .saturating_add(Weight::from_parts(318_979, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `871 + r * (6 ±0)` + // Estimated: `6820 + r * (6 ±0)` + // Minimum execution time: 247_329_000 picoseconds. + Weight::from_parts(254_263_214, 6820) + // Standard Error: 642 + .saturating_add(Weight::from_parts(357_316, 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())) } @@ -3013,8 +2516,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3022,13 +2527,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `790 + r * (6 ±0)` - // Estimated: `6739 + r * (6 ±0)` - // Minimum execution time: 242_572_000 picoseconds. - Weight::from_parts(246_453_396, 6739) - // Standard Error: 978 - .saturating_add(Weight::from_parts(320_095, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `869 + r * (6 ±0)` + // Estimated: `6818 + r * (6 ±0)` + // Minimum execution time: 247_182_000 picoseconds. + Weight::from_parts(253_497_801, 6818) + // Standard Error: 707 + .saturating_add(Weight::from_parts(359_827, 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())) } @@ -3038,8 +2543,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3047,13 +2554,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787 + r * (6 ±0)` - // Estimated: `6737 + r * (6 ±0)` - // Minimum execution time: 241_872_000 picoseconds. - Weight::from_parts(257_272_904, 6737) - // Standard Error: 4_146 - .saturating_add(Weight::from_parts(314_645, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `866 + r * (6 ±0)` + // Estimated: `6816 + r * (6 ±0)` + // Minimum execution time: 246_803_000 picoseconds. + Weight::from_parts(253_965_244, 6816) + // Standard Error: 654 + .saturating_add(Weight::from_parts(358_101, 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())) } @@ -3063,8 +2570,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3072,13 +2581,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6723 + r * (6 ±0)` - // Minimum execution time: 242_139_000 picoseconds. - Weight::from_parts(244_667_764, 6723) - // Standard Error: 580 - .saturating_add(Weight::from_parts(323_005, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6802 + r * (6 ±0)` + // Minimum execution time: 246_464_000 picoseconds. + Weight::from_parts(251_825_755, 6802) + // Standard Error: 650 + .saturating_add(Weight::from_parts(363_675, 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())) } @@ -3088,8 +2597,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -3099,13 +2610,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `852 + r * (14 ±0)` - // Estimated: `6785 + r * (14 ±0)` - // Minimum execution time: 242_370_000 picoseconds. - Weight::from_parts(247_330_421, 6785) - // Standard Error: 1_832 - .saturating_add(Weight::from_parts(1_396_737, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `931 + r * (14 ±0)` + // Estimated: `6864 + r * (14 ±0)` + // Minimum execution time: 246_052_000 picoseconds. + Weight::from_parts(243_000_370, 6864) + // Standard Error: 8_219 + .saturating_add(Weight::from_parts(1_449_883, 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())) } @@ -3115,33 +2626,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_gas(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `745 + r * (4 ±0)` - // Estimated: `6687 + r * (4 ±0)` - // Minimum execution time: 167_583_000 picoseconds. - Weight::from_parts(173_694_884, 6687) - // Standard Error: 2_880 - .saturating_add(Weight::from_parts(133_811, 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, 4).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3149,13 +2637,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `780 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_932_000 picoseconds. - Weight::from_parts(246_356_239, 6724) - // Standard Error: 479 - .saturating_add(Weight::from_parts(268_456, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 247_044_000 picoseconds. + Weight::from_parts(250_396_204, 6803) + // Standard Error: 577 + .saturating_add(Weight::from_parts(327_275, 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())) } @@ -3165,8 +2653,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3174,13 +2664,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `784` - // Estimated: `6724` - // Minimum execution time: 245_611_000 picoseconds. - Weight::from_parts(246_102_856, 6724) + // Measured: `863` + // Estimated: `6803` + // Minimum execution time: 248_160_000 picoseconds. + Weight::from_parts(251_383_883, 6803) // Standard Error: 1 - .saturating_add(Weight::from_parts(596, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(565, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -3189,8 +2679,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3198,13 +2690,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `768 + r * (45 ±0)` - // Estimated: `6708 + r * (45 ±0)` - // Minimum execution time: 238_764_000 picoseconds. - Weight::from_parts(241_225_075, 6708) - // Standard Error: 196_899 - .saturating_add(Weight::from_parts(3_361_624, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `847 + r * (45 ±0)` + // Estimated: `6787 + r * (45 ±0)` + // Minimum execution time: 240_756_000 picoseconds. + Weight::from_parts(243_426_985, 6787) + // Standard Error: 333_936 + .saturating_add(Weight::from_parts(2_469_114, 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())) } @@ -3214,8 +2706,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3223,13 +2717,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778` - // Estimated: `6731` - // Minimum execution time: 243_075_000 picoseconds. - Weight::from_parts(244_139_227, 6731) + // Measured: `857` + // Estimated: `6810` + // Minimum execution time: 243_946_000 picoseconds. + Weight::from_parts(248_146_498, 6810) // Standard Error: 0 - .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -3238,14 +2732,14 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -3253,17 +2747,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (356 ±0)` - // Estimated: `6750 + r * (7781 ±0)` - // Minimum execution time: 241_330_000 picoseconds. - Weight::from_parts(244_187_673, 6750) - // Standard Error: 473_741 - .saturating_add(Weight::from_parts(117_358_926, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) + // Measured: `889 + r * (300 ±0)` + // Estimated: `6829 + r * (7725 ±0)` + // Minimum execution time: 246_106_000 picoseconds. + Weight::from_parts(248_555_834, 6829) + // Standard Error: 321_109 + .saturating_add(Weight::from_parts(109_005_365, 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)) .saturating_add(RocksDbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3271,8 +2765,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -3282,13 +2778,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (10 ±0)` - // Estimated: `6769 + r * (10 ±0)` - // Minimum execution time: 243_298_000 picoseconds. - Weight::from_parts(246_393_253, 6769) - // Standard Error: 4_125 - .saturating_add(Weight::from_parts(1_876_317, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `938 + r * (10 ±0)` + // Estimated: `6879 + r * (10 ±0)` + // Minimum execution time: 247_429_000 picoseconds. + Weight::from_parts(261_792_203, 6879) + // Standard Error: 1_580 + .saturating_add(Weight::from_parts(1_807_671, 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())) } @@ -3298,8 +2794,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3307,13 +2805,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (10 ±0)` - // Estimated: `6723 + r * (10 ±0)` - // Minimum execution time: 240_477_000 picoseconds. - Weight::from_parts(252_579_330, 6723) - // Standard Error: 1_993 - .saturating_add(Weight::from_parts(3_510_388, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (10 ±0)` + // Estimated: `6802 + r * (10 ±0)` + // Minimum execution time: 241_602_000 picoseconds. + Weight::from_parts(266_862_900, 6802) + // Standard Error: 2_956 + .saturating_add(Weight::from_parts(3_458_802, 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())) } @@ -3323,8 +2821,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -3333,15 +2833,15 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `797 + t * (32 ±0)` - // Estimated: `6744 + t * (2508 ±0)` - // Minimum execution time: 259_029_000 picoseconds. - Weight::from_parts(252_262_484, 6744) - // Standard Error: 35_710 - .saturating_add(Weight::from_parts(2_236_764, 0).saturating_mul(t.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(648, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `876 + t * (32 ±0)` + // Estimated: `6823 + t * (2508 ±0)` + // Minimum execution time: 264_004_000 picoseconds. + Weight::from_parts(257_089_675, 6823) + // Standard Error: 57_656 + .saturating_add(Weight::from_parts(2_102_756, 0).saturating_mul(t.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(699, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -3353,8 +2853,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3362,13 +2864,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `777 + r * (7 ±0)` - // Estimated: `6721 + r * (7 ±0)` - // Minimum execution time: 170_544_000 picoseconds. - Weight::from_parts(174_555_287, 6721) - // Standard Error: 320 - .saturating_add(Weight::from_parts(233_911, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `856 + r * (7 ±0)` + // Estimated: `6800 + r * (7 ±0)` + // Minimum execution time: 171_907_000 picoseconds. + Weight::from_parts(178_461_426, 6800) + // Standard Error: 450 + .saturating_add(Weight::from_parts(299_613, 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())) } @@ -3378,8 +2880,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -3387,13 +2891,13 @@ impl WeightInfo for () { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125728` - // Estimated: `131670` - // Minimum execution time: 357_160_000 picoseconds. - Weight::from_parts(359_930_328, 131670) + // Measured: `125807` + // Estimated: `131749` + // Minimum execution time: 568_827_000 picoseconds. + Weight::from_parts(580_108_064, 131749) // Standard Error: 1 - .saturating_add(Weight::from_parts(738, 0).saturating_mul(i.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(860, 0).saturating_mul(i.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -3401,13 +2905,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `845 + r * (292 ±0)` - // Estimated: `843 + r * (293 ±0)` - // Minimum execution time: 242_846_000 picoseconds. - Weight::from_parts(135_611_732, 843) - // Standard Error: 10_708 - .saturating_add(Weight::from_parts(6_146_995, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `924 + r * (292 ±0)` + // Estimated: `922 + r * (293 ±0)` + // Minimum execution time: 248_581_000 picoseconds. + Weight::from_parts(138_859_949, 922) + // Standard Error: 9_964 + .saturating_add(Weight::from_parts(6_289_734, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3416,15 +2920,13 @@ impl WeightInfo for () { /// Storage: Skipped Metadata (r:0 w:0) /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) /// The range of component `n` is `[0, 16384]`. - fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1304` - // Estimated: `1280` - // Minimum execution time: 258_885_000 picoseconds. - Weight::from_parts(292_699_689, 1280) - // Standard Error: 47 - .saturating_add(Weight::from_parts(433, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + fn seal_set_storage_per_new_byte(_n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1383` + // Estimated: `1359` + // Minimum execution time: 261_463_000 picoseconds. + Weight::from_parts(300_008_557, 1359) + .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -3432,11 +2934,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1167 + n * (1 ±0)` - // Estimated: `1167 + n * (1 ±0)` - // Minimum execution time: 258_297_000 picoseconds. - Weight::from_parts(262_380_805, 1167) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1246 + n * (1 ±0)` + // Estimated: `1246 + n * (1 ±0)` + // Minimum execution time: 261_037_000 picoseconds. + Weight::from_parts(263_137_925, 1246) + // Standard Error: 12 + .saturating_add(Weight::from_parts(130, 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())) } @@ -3445,13 +2949,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `841 + r * (288 ±0)` - // Estimated: `845 + r * (289 ±0)` - // Minimum execution time: 242_945_000 picoseconds. - Weight::from_parts(126_721_339, 845) - // Standard Error: 11_891 - .saturating_add(Weight::from_parts(6_134_319, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `920 + r * (288 ±0)` + // Estimated: `924 + r * (289 ±0)` + // Minimum execution time: 248_244_000 picoseconds. + Weight::from_parts(137_928_954, 924) + // Standard Error: 10_340 + .saturating_add(Weight::from_parts(6_156_172, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3462,13 +2966,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1163 + n * (1 ±0)` - // Estimated: `1163 + n * (1 ±0)` - // Minimum execution time: 259_872_000 picoseconds. - Weight::from_parts(259_910_037, 1163) - // Standard Error: 142 - .saturating_add(Weight::from_parts(629, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1242 + n * (1 ±0)` + // Estimated: `1242 + n * (1 ±0)` + // Minimum execution time: 261_094_000 picoseconds. + Weight::from_parts(263_393_430, 1242) + // Standard Error: 17 + .saturating_add(Weight::from_parts(106, 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())) } @@ -3477,13 +2981,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `835 + r * (296 ±0)` - // Estimated: `840 + r * (297 ±0)` - // Minimum execution time: 245_005_000 picoseconds. - Weight::from_parts(155_891_939, 840) - // Standard Error: 9_938 - .saturating_add(Weight::from_parts(4_992_231, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `914 + r * (296 ±0)` + // Estimated: `919 + r * (297 ±0)` + // Minimum execution time: 249_093_000 picoseconds. + Weight::from_parts(165_491_364, 919) + // Standard Error: 8_723 + .saturating_add(Weight::from_parts(5_162_679, 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)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -3493,13 +2997,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1179 + n * (1 ±0)` - // Estimated: `1179 + n * (1 ±0)` - // Minimum execution time: 257_926_000 picoseconds. - Weight::from_parts(261_438_340, 1179) - // Standard Error: 24 - .saturating_add(Weight::from_parts(659, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1258 + n * (1 ±0)` + // Estimated: `1258 + n * (1 ±0)` + // Minimum execution time: 260_849_000 picoseconds. + Weight::from_parts(264_254_567, 1258) + // Standard Error: 16 + .saturating_add(Weight::from_parts(664, 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())) } @@ -3508,13 +3012,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (288 ±0)` - // Estimated: `857 + r * (289 ±0)` - // Minimum execution time: 244_392_000 picoseconds. - Weight::from_parts(156_243_434, 857) - // Standard Error: 8_716 - .saturating_add(Weight::from_parts(4_813_682, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `935 + r * (288 ±0)` + // Estimated: `936 + r * (289 ±0)` + // Minimum execution time: 248_442_000 picoseconds. + Weight::from_parts(160_049_679, 936) + // Standard Error: 8_384 + .saturating_add(Weight::from_parts(4_965_970, 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)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -3524,13 +3028,11 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1166 + n * (1 ±0)` - // Estimated: `1166 + n * (1 ±0)` - // Minimum execution time: 255_731_000 picoseconds. - Weight::from_parts(258_937_245, 1166) - // Standard Error: 26 - .saturating_add(Weight::from_parts(61, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1245 + n * (1 ±0)` + // Estimated: `1245 + n * (1 ±0)` + // Minimum execution time: 258_525_000 picoseconds. + Weight::from_parts(267_159_833, 1245) + .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())) } @@ -3539,13 +3041,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `829 + r * (296 ±0)` - // Estimated: `836 + r * (297 ±0)` - // Minimum execution time: 242_902_000 picoseconds. - Weight::from_parts(140_670_703, 836) - // Standard Error: 10_042 - .saturating_add(Weight::from_parts(6_206_728, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `908 + r * (296 ±0)` + // Estimated: `915 + r * (297 ±0)` + // Minimum execution time: 249_374_000 picoseconds. + Weight::from_parts(143_170_561, 915) + // Standard Error: 9_740 + .saturating_add(Weight::from_parts(6_363_267, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3556,13 +3058,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1180 + n * (1 ±0)` - // Estimated: `1180 + n * (1 ±0)` - // Minimum execution time: 258_425_000 picoseconds. - Weight::from_parts(266_011_498, 1180) - // Standard Error: 137 - .saturating_add(Weight::from_parts(383, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1259 + n * (1 ±0)` + // Estimated: `1259 + n * (1 ±0)` + // Minimum execution time: 262_488_000 picoseconds. + Weight::from_parts(264_414_408, 1259) + // Standard Error: 19 + .saturating_add(Weight::from_parts(747, 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())) } @@ -3572,8 +3074,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3581,13 +3085,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1373 + r * (45 ±0)` - // Estimated: `7270 + r * (2520 ±0)` - // Minimum execution time: 243_533_000 picoseconds. - Weight::from_parts(67_275_548, 7270) - // Standard Error: 29_687 - .saturating_add(Weight::from_parts(36_086_917, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1452 + r * (45 ±0)` + // Estimated: `7349 + r * (2520 ±0)` + // Minimum execution time: 250_531_000 picoseconds. + Weight::from_parts(156_750_956, 7349) + // Standard Error: 25_858 + .saturating_add(Weight::from_parts(33_857_380, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3599,8 +3103,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -3608,13 +3114,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1140 + r * (276 ±0)` - // Estimated: `9332 + r * (2752 ±0)` - // Minimum execution time: 246_206_000 picoseconds. - Weight::from_parts(246_946_000, 9332) - // Standard Error: 74_648 - .saturating_add(Weight::from_parts(217_429_651, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1296 + r * (276 ±0)` + // Estimated: `9481 + r * (2752 ±0)` + // Minimum execution time: 252_712_000 picoseconds. + Weight::from_parts(253_423_000, 9481) + // Standard Error: 82_522 + .saturating_add(Weight::from_parts(214_147_947, 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)) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -3626,8 +3132,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:736 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:736 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:736 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -3635,17 +3143,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (502 ±0)` - // Estimated: `6727 + r * (2572 ±10)` - // Minimum execution time: 245_170_000 picoseconds. - Weight::from_parts(245_460_000, 6727) - // Standard Error: 110_429 - .saturating_add(Weight::from_parts(212_316_013, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (572 ±0)` + // Estimated: `6806 + r * (2633 ±3)` + // Minimum execution time: 254_932_000 picoseconds. + Weight::from_parts(255_413_000, 6806) + // Standard Error: 104_944 + .saturating_add(Weight::from_parts(214_798_030, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2633).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3653,8 +3161,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -3663,15 +3173,15 @@ 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: `1154 + t * (204 ±0)` - // Estimated: `12044 + t * (5154 ±0)` - // Minimum execution time: 424_523_000 picoseconds. - Weight::from_parts(392_267_161, 12044) - // Standard Error: 956_686 - .saturating_add(Weight::from_parts(36_399_297, 0).saturating_mul(t.into())) + // Measured: `1308 + t * (204 ±0)` + // Estimated: `12198 + t * (5154 ±0)` + // Minimum execution time: 426_927_000 picoseconds. + Weight::from_parts(417_488_401, 12198) + // Standard Error: 1_354_920 + .saturating_add(Weight::from_parts(23_589_444, 0).saturating_mul(t.into())) // Standard Error: 1 - .saturating_add(Weight::from_parts(600, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(11_u64)) + .saturating_add(Weight::from_parts(555, 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()))) @@ -3683,30 +3193,30 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:801 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:801 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:801 w:800) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:800 w:800) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1322 + r * (254 ±0)` - // Estimated: `7146 + r * (5205 ±0)` - // Minimum execution time: 582_323_000 picoseconds. - Weight::from_parts(584_276_000, 7146) - // Standard Error: 280_418 - .saturating_add(Weight::from_parts(349_510_405, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1383 + r * (251 ±0)` + // Estimated: `7207 + r * (5202 ±0)` + // Minimum execution time: 578_324_000 picoseconds. + Weight::from_parts(579_296_000, 7207) + // Standard Error: 272_850 + .saturating_add(Weight::from_parts(339_289_932, 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)) .saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5202).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3714,332 +3224,36 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `t` is `[0, 1]`. - /// The range of component `i` is `[0, 983040]`. - /// The range of component `s` is `[0, 983040]`. - fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1071 + t * (187 ±0)` - // Estimated: `9492 + t * (2634 ±2)` - // Minimum execution time: 1_627_228_000 picoseconds. - Weight::from_parts(358_838_236, 9492) - // Standard Error: 4_785_521 - .saturating_add(Weight::from_parts(114_920_186, 0).saturating_mul(t.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_163, 0).saturating_mul(i.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(14_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())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_sha2_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `777 + r * (8 ±0)` - // Estimated: `6718 + r * (8 ±0)` - // Minimum execution time: 239_228_000 picoseconds. - Weight::from_parts(245_525_858, 6718) - // Standard Error: 1_774 - .saturating_add(Weight::from_parts(578_001, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `785` - // Estimated: `6725` - // Minimum execution time: 241_876_000 picoseconds. - Weight::from_parts(240_629_797, 6725) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_947, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_keccak_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6721 + r * (8 ±0)` - // Minimum execution time: 239_345_000 picoseconds. - Weight::from_parts(245_512_118, 6721) - // Standard Error: 771 - .saturating_add(Weight::from_parts(735_528, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6729` - // Minimum execution time: 242_741_000 picoseconds. - Weight::from_parts(232_209_398, 6729) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_099, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6724 + r * (8 ±0)` - // Minimum execution time: 239_254_000 picoseconds. - Weight::from_parts(244_250_047, 6724) - // Standard Error: 2_223 - .saturating_add(Weight::from_parts(421_533, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6733` - // Minimum execution time: 240_848_000 picoseconds. - Weight::from_parts(239_049_162, 6733) - // Standard Error: 3 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_128(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6725 + r * (8 ±0)` - // Minimum execution time: 240_496_000 picoseconds. - Weight::from_parts(245_279_278, 6725) - // Standard Error: 1_047 - .saturating_add(Weight::from_parts(414_108, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6727` - // Minimum execution time: 241_529_000 picoseconds. - Weight::from_parts(234_715_148, 6727) - // Standard Error: 1 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 125697]`. - fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `912 + n * (1 ±0)` - // Estimated: `6849 + n * (1 ±0)` - // Minimum execution time: 294_982_000 picoseconds. - Weight::from_parts(299_613_855, 6849) - // Standard Error: 7 - .saturating_add(Weight::from_parts(4_668, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_sr25519_verify(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `726 + r * (112 ±0)` - // Estimated: `6666 + r * (112 ±0)` - // Minimum execution time: 242_583_000 picoseconds. - Weight::from_parts(251_860_767, 6666) - // Standard Error: 24_034 - .saturating_add(Weight::from_parts(48_144_071, 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, 112).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_recover(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `822 + r * (76 ±0)` - // Estimated: `6716 + r * (77 ±0)` - // Minimum execution time: 242_331_000 picoseconds. - Weight::from_parts(254_816_298, 6716) - // Standard Error: 17_941 - .saturating_add(Weight::from_parts(37_725_489, 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, 77).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) + /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { + /// The range of component `t` is `[0, 1]`. + /// The range of component `i` is `[0, 983040]`. + /// The range of component `s` is `[0, 983040]`. + fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (42 ±0)` - // Estimated: `6731 + r * (42 ±0)` - // Minimum execution time: 242_951_000 picoseconds. - Weight::from_parts(246_055_289, 6731) - // Standard Error: 10_074 - .saturating_add(Weight::from_parts(9_421_877, 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, 42).saturating_mul(r.into())) + // Measured: `1131 + t * (187 ±0)` + // Estimated: `9552 + t * (2634 ±2)` + // Minimum execution time: 1_579_497_000 picoseconds. + Weight::from_parts(314_987_461, 9552) + // Standard Error: 5_205_375 + .saturating_add(Weight::from_parts(133_593_989, 0).saturating_mul(t.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_147, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_317, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4047,28 +3261,26 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1536 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1538 w:1538) + /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_set_code_hash(r: u32, ) -> Weight { + fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (964 ±0)` - // Estimated: `8190 + r * (3090 ±7)` - // Minimum execution time: 245_310_000 picoseconds. - Weight::from_parts(245_703_000, 8190) - // Standard Error: 45_813 - .saturating_add(Weight::from_parts(21_837_058, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) + // Measured: `856 + r * (8 ±0)` + // Estimated: `6797 + r * (8 ±0)` + // Minimum execution time: 242_869_000 picoseconds. + Weight::from_parts(245_069_714, 6797) + // Standard Error: 859 + .saturating_add(Weight::from_parts(661_377, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4076,24 +3288,25 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_reentrance_count(r: u32, ) -> Weight { + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `773 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 241_955_000 picoseconds. - Weight::from_parts(246_148_234, 6723) - // Standard Error: 384 - .saturating_add(Weight::from_parts(162_123, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `864` + // Estimated: `6804` + // Minimum execution time: 243_969_000 picoseconds. + Weight::from_parts(242_208_448, 6804) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_946, 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, 3).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4101,24 +3314,26 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_account_reentrance_count(r: u32, ) -> Weight { + fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1975 + r * (39 ±0)` - // Estimated: `7805 + r * (40 ±0)` - // Minimum execution time: 243_928_000 picoseconds. - Weight::from_parts(276_404_668, 7805) - // Standard Error: 1_263 - .saturating_add(Weight::from_parts(262_830, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6800 + r * (8 ±0)` + // Minimum execution time: 241_475_000 picoseconds. + Weight::from_parts(250_897_752, 6800) + // Standard Error: 2_431 + .saturating_add(Weight::from_parts(811_717, 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())) + .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4126,533 +3341,360 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_instantiation_nonce(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `776 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 242_853_000 picoseconds. - Weight::from_parts(250_429_787, 6723) - // Standard Error: 433 - .saturating_add(Weight::from_parts(139_180, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64const(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_620_000 picoseconds. - Weight::from_parts(1_894_980, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_995, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64load(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_716_000 picoseconds. - Weight::from_parts(2_353_783, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_414, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64store(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_735_000 picoseconds. - Weight::from_parts(2_266_096, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_015, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_select(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_698_000 picoseconds. - Weight::from_parts(2_080_936, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(7_921, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_if(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_636_000 picoseconds. - Weight::from_parts(1_913_876, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(10_836, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(1_838_470, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(4_613, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_if(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_744_254, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(7_020, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_table(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_621_000 picoseconds. - Weight::from_parts(1_511_579, 0) - // Standard Error: 33 - .saturating_add(Weight::from_parts(9_479, 0).saturating_mul(r.into())) - } - /// The range of component `e` is `[1, 256]`. - fn instr_br_table_per_entry(_e: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_758_000 picoseconds. - Weight::from_parts(2_066_494, 0) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_call(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_690_000 picoseconds. - Weight::from_parts(2_029_755, 0) - // Standard Error: 9 - .saturating_add(Weight::from_parts(17_946, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_call_indirect(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_894_000 picoseconds. - Weight::from_parts(5_533_643, 0) - // Standard Error: 176 - .saturating_add(Weight::from_parts(23_511, 0).saturating_mul(r.into())) - } - /// The range of component `l` is `[0, 1024]`. - fn instr_call_per_local(l: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(1_978_038, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(1_176, 0).saturating_mul(l.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_get(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_889_000 picoseconds. - Weight::from_parts(3_181_705, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_516, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_set(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_871_000 picoseconds. - Weight::from_parts(3_186_198, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_619, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_tee(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_890_000 picoseconds. - Weight::from_parts(3_237_380, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_963, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_get(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(2_180_563, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(8_400, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_set(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_807_000 picoseconds. - Weight::from_parts(2_247_402, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(8_798, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_memory_current(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(2_050_199, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_833, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 16]`. - fn instr_memory_grow(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(720_378, 0) - // Standard Error: 141_036 - .saturating_add(Weight::from_parts(13_193_405, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64clz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_654_000 picoseconds. - Weight::from_parts(1_934_279, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(4_049, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ctz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_609_000 picoseconds. - Weight::from_parts(1_938_511, 0) - // Standard Error: 20 - .saturating_add(Weight::from_parts(3_780, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64popcnt(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_634_000 picoseconds. - Weight::from_parts(1_941_109, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(3_770, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eqz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_939_447, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_666, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendsi32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_637_000 picoseconds. - Weight::from_parts(1_921_355, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_977, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendui32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_668_000 picoseconds. - Weight::from_parts(1_993_872, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_809, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i32wrapi64(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_657_000 picoseconds. - Weight::from_parts(1_954_737, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_734, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eq(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_688_000 picoseconds. - Weight::from_parts(1_993_611, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(5_962, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ne(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_965_361, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_965, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64lts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_679_000 picoseconds. - Weight::from_parts(1_946_910, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_987, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ltu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_925_830, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_001, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_984_702, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_817, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gtu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_660_000 picoseconds. - Weight::from_parts(1_978_370, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_115, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64les(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_655_000 picoseconds. - Weight::from_parts(2_008_659, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_985, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64leu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_608_000 picoseconds. - Weight::from_parts(1_912_542, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_084, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ges(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_959_896, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_968, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64geu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_653_000 picoseconds. - Weight::from_parts(1_984_715, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_971, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64add(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_610_000 picoseconds. - Weight::from_parts(1_919_305, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_877, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64sub(r: u32, ) -> Weight { + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_691_000 picoseconds. - Weight::from_parts(2_284_292, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(6_027, 0).saturating_mul(r.into())) + // Measured: `866` + // Estimated: `6808` + // Minimum execution time: 243_429_000 picoseconds. + Weight::from_parts(234_426_173, 6808) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64mul(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_960_370, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(5_760, 0).saturating_mul(r.into())) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6803 + r * (8 ±0)` + // Minimum execution time: 241_277_000 picoseconds. + Weight::from_parts(249_179_982, 6803) + // Standard Error: 635 + .saturating_add(Weight::from_parts(497_309, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divs(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_656_000 picoseconds. - Weight::from_parts(1_915_002, 0) - // Standard Error: 21 - .saturating_add(Weight::from_parts(11_896, 0).saturating_mul(r.into())) + // Measured: `866` + // Estimated: `6812` + // Minimum execution time: 242_654_000 picoseconds. + Weight::from_parts(238_213_063, 6812) + // Standard Error: 2 + .saturating_add(Weight::from_parts(910, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divu(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_645_000 picoseconds. - Weight::from_parts(2_952_497, 0) - // Standard Error: 122 - .saturating_add(Weight::from_parts(10_646, 0).saturating_mul(r.into())) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6804 + r * (8 ±0)` + // Minimum execution time: 242_405_000 picoseconds. + Weight::from_parts(244_244_783, 6804) + // Standard Error: 628 + .saturating_add(Weight::from_parts(502_346, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rems(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_669_000 picoseconds. - Weight::from_parts(1_661_488, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(12_330, 0).saturating_mul(r.into())) + // Measured: `866` + // Estimated: `6806` + // Minimum execution time: 244_080_000 picoseconds. + Weight::from_parts(234_972_989, 6806) + // Standard Error: 1 + .saturating_add(Weight::from_parts(909, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64remu(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 125697]`. + fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_989_633, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(10_649, 0).saturating_mul(r.into())) + // Measured: `991 + n * (1 ±0)` + // Estimated: `6928 + n * (1 ±0)` + // Minimum execution time: 301_859_000 picoseconds. + Weight::from_parts(305_390_229, 6928) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_443, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64and(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_sr25519_verify(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_715_000 picoseconds. - Weight::from_parts(1_994_636, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_667, 0).saturating_mul(r.into())) + // Measured: `801 + r * (112 ±0)` + // Estimated: `6745 + r * (112 ±0)` + // Minimum execution time: 250_401_000 picoseconds. + Weight::from_parts(257_682_069, 6745) + // Standard Error: 23_114 + .saturating_add(Weight::from_parts(48_240_664, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64or(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_685_000 picoseconds. - Weight::from_parts(2_075_238, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_743, 0).saturating_mul(r.into())) + // Measured: `901 + r * (76 ±0)` + // Estimated: `6795 + r * (77 ±0)` + // Minimum execution time: 249_466_000 picoseconds. + Weight::from_parts(266_685_211, 6795) + // Standard Error: 20_091 + .saturating_add(Weight::from_parts(37_913_270, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64xor(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_649_000 picoseconds. - Weight::from_parts(1_911_373, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_894, 0).saturating_mul(r.into())) + // Measured: `871 + r * (42 ±0)` + // Estimated: `6810 + r * (42 ±0)` + // Minimum execution time: 247_024_000 picoseconds. + Weight::from_parts(251_944_650, 6810) + // Standard Error: 9_580 + .saturating_add(Weight::from_parts(9_688_086, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shl(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1536 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1536 w:1536) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:1538 w:1538) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_682_000 picoseconds. - Weight::from_parts(2_000_076, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_932, 0).saturating_mul(r.into())) + // Measured: `0 + r * (961 ±0)` + // Estimated: `6801 + r * (3087 ±10)` + // Minimum execution time: 248_461_000 picoseconds. + Weight::from_parts(248_876_000, 6801) + // Standard Error: 48_987 + .saturating_add(Weight::from_parts(23_039_701, 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)) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) + .saturating_add(Weight::from_parts(0, 3087).saturating_mul(r.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shrs(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(1_999_600, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_129, 0).saturating_mul(r.into())) + // Measured: `852 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 245_559_000 picoseconds. + Weight::from_parts(249_677_207, 6802) + // Standard Error: 299 + .saturating_add(Weight::from_parts(204_780, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shru(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_628_000 picoseconds. - Weight::from_parts(1_893_440, 0) - // Standard Error: 15 - .saturating_add(Weight::from_parts(5_938, 0).saturating_mul(r.into())) + // Measured: `2092 + r * (39 ±0)` + // Estimated: `7919 + r * (40 ±0)` + // Minimum execution time: 249_583_000 picoseconds. + Weight::from_parts(278_918_312, 7919) + // Standard Error: 1_206 + .saturating_add(Weight::from_parts(381_976, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotl(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_721_000 picoseconds. - Weight::from_parts(1_982_227, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_008, 0).saturating_mul(r.into())) + // Measured: `855 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 244_154_000 picoseconds. + Weight::from_parts(252_444_886, 6802) + // Standard Error: 504 + .saturating_add(Weight::from_parts(181_466, 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())) } /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotr(r: u32, ) -> Weight { + fn instr_i64const(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_648_000 picoseconds. - Weight::from_parts(2_003_359, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_875, 0).saturating_mul(r.into())) + // Minimum execution time: 1_449_000 picoseconds. + Weight::from_parts(1_913_474, 0) + // Standard Error: 23 + .saturating_add(Weight::from_parts(8_654, 0).saturating_mul(r.into())) } } From f12927de527ba6448917ce0655fdae1e94d2d810 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 16 Jun 2023 13:43:02 +0300 Subject: [PATCH 36/70] store memory limits to CodeInfo --- frame/contracts/src/tests.rs | 2 +- frame/contracts/src/wasm/mod.rs | 12 +++++++----- frame/contracts/src/wasm/prepare.rs | 15 +++++++++------ 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index e81e4bc05a022..a685e8c1dff86 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -2038,7 +2038,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![],), - "module uses chain extensions but chain extensions are disabled", + Error::::NoChainExtension, ); }); } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 2515d627d7f2d..d99099249b036 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -88,6 +88,12 @@ pub struct CodeInfo { /// The number of instantiated contracts that use this as their code. #[codec(compact)] refcount: u64, + /// Initial memory size of a contract's sandbox. + #[codec(compact)] + initial: u32, + /// Maximum memory size of a contract's sandbox. + #[codec(compact)] + maximum: u32, /// Marks if the code might contain non-deterministic features and is therefore never allowed /// to be run on-chain. Specifically, such a code can never be instantiated into a contract /// and can just be used through a delegate call. @@ -416,13 +422,9 @@ impl Executable for WasmBlob { input_data: Vec, ) -> ExecResult { let code = self.code.as_slice(); - let contract_module = prepare::ContractModule::new(code)?; - // Extract memory limits from the module. - // This also checks that module's memory import satisfies the schedule. - let memory_limits = - prepare::get_memory_limits(contract_module.scan_imports::(&[])?, ext.schedule())?; // Instantiate the Wasm module to the engine. let runtime = Runtime::new(ext, input_data); + let memory_limits = (self.code_info.initial, self.code_info.maximum); let (mut store, memory, instance) = Self::instantiate::( code, runtime, diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 32ceacfbe950b..e307d1d62b2a6 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -320,7 +320,7 @@ fn validate( schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result, (DispatchError, &'static str)> +) -> Result<(Vec, (u32, u32)), (DispatchError, &'static str)> where E: Environment<()>, T: Config, @@ -399,7 +399,7 @@ where })?; } - Ok(code) + Ok((code, memory_limits)) } /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: @@ -420,7 +420,8 @@ where E: Environment<()>, T: Config, { - let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; + let (checked_code, (initial, maximum)) = + validate::(code.as_ref(), schedule, determinism, try_instantiate)?; let err = |_| (>::CodeTooLarge.into(), "Validation enlarged the code size!"); let checked_code: CodeVec = checked_code.try_into().map_err(err)?; ensure!( @@ -434,7 +435,7 @@ where .update_contract::(None) .charge_or_zero(); - let code_info = CodeInfo { owner, deposit, determinism, refcount: 0 }; + let code_info = CodeInfo { owner, deposit, determinism, refcount: 0, initial, maximum }; Ok(WasmBlob { code, code_info }) } @@ -455,8 +456,8 @@ pub mod benchmarking { owner: AccountIdOf, ) -> Result, DispatchError> { let contract_module = ContractModule::new(&code)?; - // We do this here just to check that module's memory import satisfies the schedule - let _memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + let (initial, maximum) = + get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { owner, @@ -464,6 +465,8 @@ pub mod benchmarking { deposit: Default::default(), refcount: 0, determinism: Determinism::Enforced, + initial, + maximum, }; Ok(WasmBlob { code, code_info }) From 0a9b3514c9b8f703fdca754020356f217de9bb88 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 16 Jun 2023 13:57:49 +0300 Subject: [PATCH 37/70] ci: roll back weights --- frame/contracts/src/weights.rs | 4598 +++++++++++++++++++------------- 1 file changed, 2778 insertions(+), 1820 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index bc33d6ac76a6c..cbd906a0b213d 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-15, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-05-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 @@ -52,10 +52,11 @@ use core::marker::PhantomData; pub trait WeightInfo { fn on_process_deletion_queue_batch() -> Weight; fn on_initialize_per_trie_key(k: u32, ) -> Weight; + fn reinstrument(c: u32, ) -> Weight; fn v9_migration_step(c: u32, ) -> Weight; fn v10_migration_step() -> Weight; fn v11_migration_step(k: u32, ) -> Weight; - fn v12_migration_step(c: u32, ) -> Weight; + fn v12_migration_step(k: u32, ) -> Weight; fn migration_noop() -> Weight; fn migrate() -> Weight; fn on_runtime_upgrade_noop() -> Weight; @@ -82,6 +83,7 @@ pub trait WeightInfo { fn seal_block_number(r: u32, ) -> Weight; fn seal_now(r: u32, ) -> Weight; fn seal_weight_to_fee(r: u32, ) -> Weight; + fn seal_gas(r: u32, ) -> Weight; fn seal_input(r: u32, ) -> Weight; fn seal_input_per_byte(n: u32, ) -> Weight; fn seal_return(r: u32, ) -> Weight; @@ -126,6 +128,56 @@ pub trait WeightInfo { fn seal_account_reentrance_count(r: u32, ) -> Weight; fn seal_instantiation_nonce(r: u32, ) -> Weight; fn instr_i64const(r: u32, ) -> Weight; + fn instr_i64load(r: u32, ) -> Weight; + fn instr_i64store(r: u32, ) -> Weight; + fn instr_select(r: u32, ) -> Weight; + fn instr_if(r: u32, ) -> Weight; + fn instr_br(r: u32, ) -> Weight; + fn instr_br_if(r: u32, ) -> Weight; + fn instr_br_table(r: u32, ) -> Weight; + fn instr_br_table_per_entry(e: u32, ) -> Weight; + fn instr_call(r: u32, ) -> Weight; + fn instr_call_indirect(r: u32, ) -> Weight; + fn instr_call_per_local(l: u32, ) -> Weight; + fn instr_local_get(r: u32, ) -> Weight; + fn instr_local_set(r: u32, ) -> Weight; + fn instr_local_tee(r: u32, ) -> Weight; + fn instr_global_get(r: u32, ) -> Weight; + fn instr_global_set(r: u32, ) -> Weight; + fn instr_memory_current(r: u32, ) -> Weight; + fn instr_memory_grow(r: u32, ) -> Weight; + fn instr_i64clz(r: u32, ) -> Weight; + fn instr_i64ctz(r: u32, ) -> Weight; + fn instr_i64popcnt(r: u32, ) -> Weight; + fn instr_i64eqz(r: u32, ) -> Weight; + fn instr_i64extendsi32(r: u32, ) -> Weight; + fn instr_i64extendui32(r: u32, ) -> Weight; + fn instr_i32wrapi64(r: u32, ) -> Weight; + fn instr_i64eq(r: u32, ) -> Weight; + fn instr_i64ne(r: u32, ) -> Weight; + fn instr_i64lts(r: u32, ) -> Weight; + fn instr_i64ltu(r: u32, ) -> Weight; + fn instr_i64gts(r: u32, ) -> Weight; + fn instr_i64gtu(r: u32, ) -> Weight; + fn instr_i64les(r: u32, ) -> Weight; + fn instr_i64leu(r: u32, ) -> Weight; + fn instr_i64ges(r: u32, ) -> Weight; + fn instr_i64geu(r: u32, ) -> Weight; + fn instr_i64add(r: u32, ) -> Weight; + fn instr_i64sub(r: u32, ) -> Weight; + fn instr_i64mul(r: u32, ) -> Weight; + fn instr_i64divs(r: u32, ) -> Weight; + fn instr_i64divu(r: u32, ) -> Weight; + fn instr_i64rems(r: u32, ) -> Weight; + fn instr_i64remu(r: u32, ) -> Weight; + fn instr_i64and(r: u32, ) -> Weight; + fn instr_i64or(r: u32, ) -> Weight; + fn instr_i64xor(r: u32, ) -> Weight; + fn instr_i64shl(r: u32, ) -> Weight; + fn instr_i64shrs(r: u32, ) -> Weight; + fn instr_i64shru(r: u32, ) -> Weight; + fn instr_i64rotl(r: u32, ) -> Weight; + fn instr_i64rotr(r: u32, ) -> Weight; } /// Weights for pallet_contracts using the Substrate node and recommended hardware. @@ -135,10 +187,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) fn on_process_deletion_queue_batch() -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 2_551_000 picoseconds. - Weight::from_parts(2_657_000, 1627) + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 2_630_000 picoseconds. + Weight::from_parts(2_778_000, 1594) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -146,29 +198,46 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + k * (69 ±0)` - // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_208_000 picoseconds. - Weight::from_parts(7_113_931, 441) - // Standard Error: 1_217 - .saturating_add(Weight::from_parts(990_509, 0).saturating_mul(k.into())) + // Measured: `488 + k * (69 ±0)` + // Estimated: `478 + k * (70 ±0)` + // Minimum execution time: 13_453_000 picoseconds. + Weight::from_parts(10_904_078, 478) + // Standard Error: 931 + .saturating_add(Weight::from_parts(982_122, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// The range of component `c` is `[0, 125952]`. + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn reinstrument(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `238 + c * (1 ±0)` + // Estimated: `3708 + c * (1 ±0)` + // Minimum execution time: 30_972_000 picoseconds. + Weight::from_parts(31_129_287, 3708) + // Standard Error: 52 + .saturating_add(Weight::from_parts(54_996, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: Contracts CodeStorage (r:2 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `211 + c * (1 ±0)` - // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_768_000 picoseconds. - Weight::from_parts(9_700_270, 6149) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_299, 0).saturating_mul(c.into())) + // Measured: `178 + c * (1 ±0)` + // Estimated: `6114 + c * (1 ±0)` + // Minimum execution time: 9_696_000 picoseconds. + Weight::from_parts(10_697_026, 6114) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_307, 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 +248,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_711_000 picoseconds. - Weight::from_parts(17_981_000, 6488) + // Measured: `544` + // Estimated: `6484` + // Minimum execution time: 18_132_000 picoseconds. + Weight::from_parts(18_842_000, 6484) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -193,48 +262,41 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn v11_migration_step(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `171 + k * (1 ±0)` - // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_916_000 picoseconds. - Weight::from_parts(2_658_809, 3635) - // Standard Error: 941 - .saturating_add(Weight::from_parts(950_491, 0).saturating_mul(k.into())) + // Measured: `138 + k * (1 ±0)` + // Estimated: `3602 + k * (1 ±0)` + // Minimum execution time: 3_952_000 picoseconds. + Weight::from_parts(4_129_000, 3602) + // Standard Error: 1_521 + .saturating_add(Weight::from_parts(1_013_657, 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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:0 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn v12_migration_step(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_031_000 picoseconds. - Weight::from_parts(26_028_856, 6313) - // Standard Error: 1 - .saturating_add(Weight::from_parts(961, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) + + /// Placeholder, should be replaced with new benchmarked weight + fn v12_migration_step(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `138 + k * (1 ±0)` + // Estimated: `3602 + k * (1 ±0)` + // Minimum execution time: 3_952_000 picoseconds. + Weight::from_parts(4_129_000, 3602) + // Standard Error: 1_521 + .saturating_add(Weight::from_parts(1_013_657, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } + /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn migration_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 3_339_000 picoseconds. - Weight::from_parts(3_454_000, 1627) + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 3_528_000 picoseconds. + Weight::from_parts(3_641_000, 1594) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -244,10 +306,10 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) fn migrate() -> Weight { // Proof Size summary in bytes: - // Measured: `166` - // Estimated: `3631` - // Minimum execution time: 13_244_000 picoseconds. - Weight::from_parts(13_527_000, 3631) + // Measured: `133` + // Estimated: `3598` + // Minimum execution time: 13_433_000 picoseconds. + Weight::from_parts(13_710_000, 3598) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -255,10 +317,10 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) fn on_runtime_upgrade_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 5_322_000 picoseconds. - Weight::from_parts(5_622_000, 3607) + // Measured: `109` + // Estimated: `3574` + // Minimum execution time: 5_502_000 picoseconds. + Weight::from_parts(5_689_000, 3574) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -267,10 +329,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn on_runtime_upgrade_in_progress() -> Weight { // Proof Size summary in bytes: - // Measured: `167` - // Estimated: `3632` - // Minimum execution time: 7_395_000 picoseconds. - Weight::from_parts(7_621_000, 3632) + // Measured: `134` + // Estimated: `3599` + // Minimum execution time: 7_846_000 picoseconds. + Weight::from_parts(8_078_000, 3599) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -279,10 +341,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn on_runtime_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 8_184_000 picoseconds. - Weight::from_parts(8_405_000, 3607) + // Measured: `109` + // Estimated: `3574` + // Minimum execution time: 8_390_000 picoseconds. + Weight::from_parts(8_602_000, 3574) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -290,10 +352,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -303,20 +363,20 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 125952]`. fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `786` - // Estimated: `6735 + c * (1 ±0)` - // Minimum execution time: 268_170_000 picoseconds. - Weight::from_parts(255_802_329, 6735) - // Standard Error: 61 - .saturating_add(Weight::from_parts(45_879, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `707` + // Estimated: `6656 + c * (1 ±0)` + // Minimum execution time: 280_993_000 picoseconds. + Weight::from_parts(289_622_441, 6656) + // Standard Error: 26 + .saturating_add(Weight::from_parts(38_061, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -327,32 +387,32 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. + /// The range of component `c` is `[0, 61717]`. /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `303` - // Estimated: `8745` - // Minimum execution time: 3_103_535_000 picoseconds. - Weight::from_parts(709_110_372, 8745) - // Standard Error: 150 - .saturating_add(Weight::from_parts(81_085, 0).saturating_mul(c.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_021, 0).saturating_mul(i.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_373, 0).saturating_mul(s.into())) + // Measured: `270` + // Estimated: `8659` + // Minimum execution time: 3_136_130_000 picoseconds. + Weight::from_parts(568_808_049, 8659) + // Standard Error: 288 + .saturating_add(Weight::from_parts(108_649, 0).saturating_mul(c.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(i.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_502, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(9_u64)) + .saturating_add(T::DbWeight::get().writes(10_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -361,20 +421,22 @@ impl WeightInfo for SubstrateWeight { /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:2 w:2) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `i` is `[0, 1048576]`. /// 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: 1_621_225_000 picoseconds. - Weight::from_parts(285_978_517, 6429) + // Measured: `482` + // Estimated: `6408` + // Minimum execution time: 1_655_107_000 picoseconds. + Weight::from_parts(266_843_437, 6408) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_398, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_463, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_428, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_458, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -382,10 +444,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -394,64 +454,68 @@ 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: 193_482_000 picoseconds. - Weight::from_parts(195_003_000, 6778) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `759` + // Estimated: `6699` + // Minimum execution time: 197_684_000 picoseconds. + Weight::from_parts(199_222_000, 6699) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. + /// The range of component `c` is `[0, 61717]`. fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 228_563_000 picoseconds. - Weight::from_parts(213_483_237, 3607) - // Standard Error: 87 - .saturating_add(Weight::from_parts(69_335, 0).saturating_mul(c.into())) + // Measured: `109` + // Estimated: `3574` + // Minimum execution time: 254_766_000 picoseconds. + Weight::from_parts(247_865_224, 3574) + // Standard Error: 146 + .saturating_add(Weight::from_parts(108_830, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) fn remove_code() -> Weight { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3720` - // Minimum execution time: 32_166_000 picoseconds. - Weight::from_parts(32_782_000, 3720) + // Minimum execution time: 36_038_000 picoseconds. + Weight::from_parts(36_503_000, 3720) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:2) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:2 w:2) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `575` - // Estimated: `8990` - // Minimum execution time: 35_579_000 picoseconds. - Weight::from_parts(36_177_000, 8990) + // Measured: `570` + // Estimated: `8985` + // Minimum execution time: 35_312_000 picoseconds. + Weight::from_parts(35_852_000, 8985) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -461,10 +525,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -472,13 +534,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (6 ±0)` - // Estimated: `6801 + r * (6 ±0)` - // Minimum execution time: 246_674_000 picoseconds. - Weight::from_parts(252_221_210, 6801) - // Standard Error: 784 - .saturating_add(Weight::from_parts(372_935, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `781 + r * (6 ±0)` + // Estimated: `6722 + r * (6 ±0)` + // Minimum execution time: 241_668_000 picoseconds. + Weight::from_parts(256_167_627, 6722) + // Standard Error: 2_447 + .saturating_add(Weight::from_parts(328_424, 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, 6).saturating_mul(r.into())) } @@ -488,10 +550,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -499,13 +559,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `918 + r * (240 ±0)` - // Estimated: `6822 + r * (2715 ±0)` - // Minimum execution time: 247_549_000 picoseconds. - Weight::from_parts(71_679_562, 6822) - // Standard Error: 6_718 - .saturating_add(Weight::from_parts(3_416_535, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `839 + r * (240 ±0)` + // Estimated: `6743 + r * (2715 ±0)` + // Minimum execution time: 242_353_000 picoseconds. + Weight::from_parts(82_743_116, 6743) + // Standard Error: 6_271 + .saturating_add(Weight::from_parts(3_331_316, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -516,10 +576,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -527,13 +585,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `910 + r * (244 ±0)` - // Estimated: `6826 + r * (2719 ±0)` - // Minimum execution time: 251_268_000 picoseconds. - Weight::from_parts(105_839_822, 6826) - // Standard Error: 8_060 - .saturating_add(Weight::from_parts(4_148_193, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `831 + r * (244 ±0)` + // Estimated: `6747 + r * (2719 ±0)` + // Minimum execution time: 243_370_000 picoseconds. + Weight::from_parts(77_198_453, 6747) + // Standard Error: 6_968 + .saturating_add(Weight::from_parts(4_162_946, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -544,10 +602,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -555,13 +611,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `867 + r * (6 ±0)` - // Estimated: `6809 + r * (6 ±0)` - // Minimum execution time: 249_994_000 picoseconds. - Weight::from_parts(254_429_021, 6809) - // Standard Error: 807 - .saturating_add(Weight::from_parts(444_253, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `788 + r * (6 ±0)` + // Estimated: `6730 + r * (6 ±0)` + // Minimum execution time: 244_083_000 picoseconds. + Weight::from_parts(239_899_316, 6730) + // Standard Error: 5_254 + .saturating_add(Weight::from_parts(423_863, 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, 6).saturating_mul(r.into())) } @@ -571,10 +627,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -582,13 +636,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (3 ±0)` - // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 244_726_000 picoseconds. - Weight::from_parts(249_118_388, 6802) - // Standard Error: 527 - .saturating_add(Weight::from_parts(210_682, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `778 + r * (3 ±0)` + // Estimated: `6723 + r * (3 ±0)` + // Minimum execution time: 239_835_000 picoseconds. + Weight::from_parts(247_929_454, 6723) + // Standard Error: 2_309 + .saturating_add(Weight::from_parts(169_642, 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())) } @@ -596,10 +650,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -607,13 +659,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `747 + r * (3 ±0)` - // Estimated: `6687 + r * (3 ±0)` - // Minimum execution time: 233_682_000 picoseconds. - Weight::from_parts(240_279_064, 6687) - // Standard Error: 738 - .saturating_add(Weight::from_parts(189_666, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `668 + r * (3 ±0)` + // Estimated: `6608 + r * (3 ±0)` + // Minimum execution time: 229_091_000 picoseconds. + Weight::from_parts(235_369_797, 6608) + // Standard Error: 283 + .saturating_add(Weight::from_parts(146_485, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) } @@ -623,10 +675,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -634,13 +684,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `861 + r * (6 ±0)` - // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 249_122_000 picoseconds. - Weight::from_parts(249_521_157, 6803) - // Standard Error: 818 - .saturating_add(Weight::from_parts(371_111, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `782 + r * (6 ±0)` + // Estimated: `6724 + r * (6 ±0)` + // Minimum execution time: 242_638_000 picoseconds. + Weight::from_parts(245_890_126, 6724) + // Standard Error: 508 + .saturating_add(Weight::from_parts(323_232, 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, 6).saturating_mul(r.into())) } @@ -650,10 +700,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -661,13 +709,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (6 ±0)` - // Estimated: `6798 + r * (6 ±0)` - // Minimum execution time: 247_469_000 picoseconds. - Weight::from_parts(254_571_323, 6798) - // Standard Error: 1_535 - .saturating_add(Weight::from_parts(545_161, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `778 + r * (6 ±0)` + // Estimated: `6719 + r * (6 ±0)` + // Minimum execution time: 241_740_000 picoseconds. + Weight::from_parts(244_490_855, 6719) + // Standard Error: 1_872 + .saturating_add(Weight::from_parts(543_651, 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, 6).saturating_mul(r.into())) } @@ -677,10 +725,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -688,13 +734,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1001 + r * (6 ±0)` - // Estimated: `6925 + r * (6 ±0)` - // Minimum execution time: 246_529_000 picoseconds. - Weight::from_parts(260_398_990, 6925) - // Standard Error: 1_720 - .saturating_add(Weight::from_parts(1_466_536, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `922 + r * (6 ±0)` + // Estimated: `6846 + r * (6 ±0)` + // Minimum execution time: 241_787_000 picoseconds. + Weight::from_parts(243_819_464, 6846) + // Standard Error: 5_017 + .saturating_add(Weight::from_parts(1_496_444, 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())) } @@ -704,10 +750,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -715,13 +759,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `871 + r * (6 ±0)` - // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 247_329_000 picoseconds. - Weight::from_parts(254_263_214, 6820) - // Standard Error: 642 - .saturating_add(Weight::from_parts(357_316, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `792 + r * (6 ±0)` + // Estimated: `6741 + r * (6 ±0)` + // Minimum execution time: 243_498_000 picoseconds. + Weight::from_parts(251_019_668, 6741) + // Standard Error: 1_479 + .saturating_add(Weight::from_parts(318_979, 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, 6).saturating_mul(r.into())) } @@ -731,10 +775,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -742,13 +784,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `869 + r * (6 ±0)` - // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 247_182_000 picoseconds. - Weight::from_parts(253_497_801, 6818) - // Standard Error: 707 - .saturating_add(Weight::from_parts(359_827, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `790 + r * (6 ±0)` + // Estimated: `6739 + r * (6 ±0)` + // Minimum execution time: 242_572_000 picoseconds. + Weight::from_parts(246_453_396, 6739) + // Standard Error: 978 + .saturating_add(Weight::from_parts(320_095, 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, 6).saturating_mul(r.into())) } @@ -758,10 +800,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -769,13 +809,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866 + r * (6 ±0)` - // Estimated: `6816 + r * (6 ±0)` - // Minimum execution time: 246_803_000 picoseconds. - Weight::from_parts(253_965_244, 6816) - // Standard Error: 654 - .saturating_add(Weight::from_parts(358_101, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `787 + r * (6 ±0)` + // Estimated: `6737 + r * (6 ±0)` + // Minimum execution time: 241_872_000 picoseconds. + Weight::from_parts(257_272_904, 6737) + // Standard Error: 4_146 + .saturating_add(Weight::from_parts(314_645, 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, 6).saturating_mul(r.into())) } @@ -785,10 +825,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -796,13 +834,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (6 ±0)` - // Estimated: `6802 + r * (6 ±0)` - // Minimum execution time: 246_464_000 picoseconds. - Weight::from_parts(251_825_755, 6802) - // Standard Error: 650 - .saturating_add(Weight::from_parts(363_675, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `778 + r * (6 ±0)` + // Estimated: `6723 + r * (6 ±0)` + // Minimum execution time: 242_139_000 picoseconds. + Weight::from_parts(244_667_764, 6723) + // Standard Error: 580 + .saturating_add(Weight::from_parts(323_005, 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, 6).saturating_mul(r.into())) } @@ -812,10 +850,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -825,13 +861,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `931 + r * (14 ±0)` - // Estimated: `6864 + r * (14 ±0)` - // Minimum execution time: 246_052_000 picoseconds. - Weight::from_parts(243_000_370, 6864) - // Standard Error: 8_219 - .saturating_add(Weight::from_parts(1_449_883, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `852 + r * (14 ±0)` + // Estimated: `6785 + r * (14 ±0)` + // Minimum execution time: 242_370_000 picoseconds. + Weight::from_parts(247_330_421, 6785) + // Standard Error: 1_832 + .saturating_add(Weight::from_parts(1_396_737, 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, 14).saturating_mul(r.into())) } @@ -841,10 +877,33 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_gas(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `745 + r * (4 ±0)` + // Estimated: `6687 + r * (4 ±0)` + // Minimum execution time: 167_583_000 picoseconds. + Weight::from_parts(173_694_884, 6687) + // Standard Error: 2_880 + .saturating_add(Weight::from_parts(133_811, 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, 4).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -852,13 +911,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (6 ±0)` - // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 247_044_000 picoseconds. - Weight::from_parts(250_396_204, 6803) - // Standard Error: 577 - .saturating_add(Weight::from_parts(327_275, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `780 + r * (6 ±0)` + // Estimated: `6724 + r * (6 ±0)` + // Minimum execution time: 242_932_000 picoseconds. + Weight::from_parts(246_356_239, 6724) + // Standard Error: 479 + .saturating_add(Weight::from_parts(268_456, 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, 6).saturating_mul(r.into())) } @@ -868,10 +927,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -879,13 +936,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `863` - // Estimated: `6803` - // Minimum execution time: 248_160_000 picoseconds. - Weight::from_parts(251_383_883, 6803) + // Measured: `784` + // Estimated: `6724` + // Minimum execution time: 245_611_000 picoseconds. + Weight::from_parts(246_102_856, 6724) // Standard Error: 1 - .saturating_add(Weight::from_parts(565, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(596, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -894,10 +951,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -905,13 +960,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `847 + r * (45 ±0)` - // Estimated: `6787 + r * (45 ±0)` - // Minimum execution time: 240_756_000 picoseconds. - Weight::from_parts(243_426_985, 6787) - // Standard Error: 333_936 - .saturating_add(Weight::from_parts(2_469_114, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `768 + r * (45 ±0)` + // Estimated: `6708 + r * (45 ±0)` + // Minimum execution time: 238_764_000 picoseconds. + Weight::from_parts(241_225_075, 6708) + // Standard Error: 196_899 + .saturating_add(Weight::from_parts(3_361_624, 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, 45).saturating_mul(r.into())) } @@ -921,10 +976,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -932,13 +985,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857` - // Estimated: `6810` - // Minimum execution time: 243_946_000 picoseconds. - Weight::from_parts(248_146_498, 6810) + // Measured: `778` + // Estimated: `6731` + // Minimum execution time: 243_075_000 picoseconds. + Weight::from_parts(244_139_227, 6731) // Standard Error: 0 - .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -947,14 +1000,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -962,17 +1015,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `889 + r * (300 ±0)` - // Estimated: `6829 + r * (7725 ±0)` - // Minimum execution time: 246_106_000 picoseconds. - Weight::from_parts(248_555_834, 6829) - // Standard Error: 321_109 - .saturating_add(Weight::from_parts(109_005_365, 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()))) + // Measured: `810 + r * (356 ±0)` + // Estimated: `6750 + r * (7781 ±0)` + // Minimum execution time: 241_330_000 picoseconds. + Weight::from_parts(244_187_673, 6750) + // Standard Error: 473_741 + .saturating_add(Weight::from_parts(117_358_926, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -980,10 +1033,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -993,13 +1044,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `938 + r * (10 ±0)` - // Estimated: `6879 + r * (10 ±0)` - // Minimum execution time: 247_429_000 picoseconds. - Weight::from_parts(261_792_203, 6879) - // Standard Error: 1_580 - .saturating_add(Weight::from_parts(1_807_671, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `825 + r * (10 ±0)` + // Estimated: `6769 + r * (10 ±0)` + // Minimum execution time: 243_298_000 picoseconds. + Weight::from_parts(246_393_253, 6769) + // Standard Error: 4_125 + .saturating_add(Weight::from_parts(1_876_317, 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())) } @@ -1009,10 +1060,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1020,13 +1069,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (10 ±0)` - // Estimated: `6802 + r * (10 ±0)` - // Minimum execution time: 241_602_000 picoseconds. - Weight::from_parts(266_862_900, 6802) - // Standard Error: 2_956 - .saturating_add(Weight::from_parts(3_458_802, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `778 + r * (10 ±0)` + // Estimated: `6723 + r * (10 ±0)` + // Minimum execution time: 240_477_000 picoseconds. + Weight::from_parts(252_579_330, 6723) + // Standard Error: 1_993 + .saturating_add(Weight::from_parts(3_510_388, 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, 10).saturating_mul(r.into())) } @@ -1036,10 +1085,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -1048,15 +1095,15 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `876 + t * (32 ±0)` - // Estimated: `6823 + t * (2508 ±0)` - // Minimum execution time: 264_004_000 picoseconds. - Weight::from_parts(257_089_675, 6823) - // Standard Error: 57_656 - .saturating_add(Weight::from_parts(2_102_756, 0).saturating_mul(t.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(699, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `797 + t * (32 ±0)` + // Estimated: `6744 + t * (2508 ±0)` + // Minimum execution time: 259_029_000 picoseconds. + Weight::from_parts(252_262_484, 6744) + // Standard Error: 35_710 + .saturating_add(Weight::from_parts(2_236_764, 0).saturating_mul(t.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(648, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -1068,10 +1115,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1079,13 +1124,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (7 ±0)` - // Estimated: `6800 + r * (7 ±0)` - // Minimum execution time: 171_907_000 picoseconds. - Weight::from_parts(178_461_426, 6800) - // Standard Error: 450 - .saturating_add(Weight::from_parts(299_613, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `777 + r * (7 ±0)` + // Estimated: `6721 + r * (7 ±0)` + // Minimum execution time: 170_544_000 picoseconds. + Weight::from_parts(174_555_287, 6721) + // Standard Error: 320 + .saturating_add(Weight::from_parts(233_911, 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, 7).saturating_mul(r.into())) } @@ -1095,10 +1140,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -1106,13 +1149,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125807` - // Estimated: `131749` - // Minimum execution time: 568_827_000 picoseconds. - Weight::from_parts(580_108_064, 131749) + // Measured: `125728` + // Estimated: `131670` + // Minimum execution time: 357_160_000 picoseconds. + Weight::from_parts(359_930_328, 131670) // Standard Error: 1 - .saturating_add(Weight::from_parts(860, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(738, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1120,13 +1163,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `924 + r * (292 ±0)` - // Estimated: `922 + r * (293 ±0)` - // Minimum execution time: 248_581_000 picoseconds. - Weight::from_parts(138_859_949, 922) - // Standard Error: 9_964 - .saturating_add(Weight::from_parts(6_289_734, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `845 + r * (292 ±0)` + // Estimated: `843 + r * (293 ±0)` + // Minimum execution time: 242_846_000 picoseconds. + Weight::from_parts(135_611_732, 843) + // Standard Error: 10_708 + .saturating_add(Weight::from_parts(6_146_995, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1135,13 +1178,15 @@ impl WeightInfo for SubstrateWeight { /// Storage: Skipped Metadata (r:0 w:0) /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) /// The range of component `n` is `[0, 16384]`. - fn seal_set_storage_per_new_byte(_n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1383` - // Estimated: `1359` - // Minimum execution time: 261_463_000 picoseconds. - Weight::from_parts(300_008_557, 1359) - .saturating_add(T::DbWeight::get().reads(10_u64)) + fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1304` + // Estimated: `1280` + // Minimum execution time: 258_885_000 picoseconds. + Weight::from_parts(292_699_689, 1280) + // Standard Error: 47 + .saturating_add(Weight::from_parts(433, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1149,13 +1194,11 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1246 + n * (1 ±0)` - // Estimated: `1246 + n * (1 ±0)` - // Minimum execution time: 261_037_000 picoseconds. - Weight::from_parts(263_137_925, 1246) - // Standard Error: 12 - .saturating_add(Weight::from_parts(130, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1167 + n * (1 ±0)` + // Estimated: `1167 + n * (1 ±0)` + // Minimum execution time: 258_297_000 picoseconds. + Weight::from_parts(262_380_805, 1167) + .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(n.into())) } @@ -1164,13 +1207,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `920 + r * (288 ±0)` - // Estimated: `924 + r * (289 ±0)` - // Minimum execution time: 248_244_000 picoseconds. - Weight::from_parts(137_928_954, 924) - // Standard Error: 10_340 - .saturating_add(Weight::from_parts(6_156_172, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `841 + r * (288 ±0)` + // Estimated: `845 + r * (289 ±0)` + // Minimum execution time: 242_945_000 picoseconds. + Weight::from_parts(126_721_339, 845) + // Standard Error: 11_891 + .saturating_add(Weight::from_parts(6_134_319, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1181,13 +1224,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1242 + n * (1 ±0)` - // Estimated: `1242 + n * (1 ±0)` - // Minimum execution time: 261_094_000 picoseconds. - Weight::from_parts(263_393_430, 1242) - // Standard Error: 17 - .saturating_add(Weight::from_parts(106, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1163 + n * (1 ±0)` + // Estimated: `1163 + n * (1 ±0)` + // Minimum execution time: 259_872_000 picoseconds. + Weight::from_parts(259_910_037, 1163) + // Standard Error: 142 + .saturating_add(Weight::from_parts(629, 0).saturating_mul(n.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(n.into())) } @@ -1196,13 +1239,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `914 + r * (296 ±0)` - // Estimated: `919 + r * (297 ±0)` - // Minimum execution time: 249_093_000 picoseconds. - Weight::from_parts(165_491_364, 919) - // Standard Error: 8_723 - .saturating_add(Weight::from_parts(5_162_679, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `835 + r * (296 ±0)` + // Estimated: `840 + r * (297 ±0)` + // Minimum execution time: 245_005_000 picoseconds. + Weight::from_parts(155_891_939, 840) + // Standard Error: 9_938 + .saturating_add(Weight::from_parts(4_992_231, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -1212,13 +1255,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1258 + n * (1 ±0)` - // Estimated: `1258 + n * (1 ±0)` - // Minimum execution time: 260_849_000 picoseconds. - Weight::from_parts(264_254_567, 1258) - // Standard Error: 16 - .saturating_add(Weight::from_parts(664, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1179 + n * (1 ±0)` + // Estimated: `1179 + n * (1 ±0)` + // Minimum execution time: 257_926_000 picoseconds. + Weight::from_parts(261_438_340, 1179) + // Standard Error: 24 + .saturating_add(Weight::from_parts(659, 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())) } @@ -1227,13 +1270,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `935 + r * (288 ±0)` - // Estimated: `936 + r * (289 ±0)` - // Minimum execution time: 248_442_000 picoseconds. - Weight::from_parts(160_049_679, 936) - // Standard Error: 8_384 - .saturating_add(Weight::from_parts(4_965_970, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `856 + r * (288 ±0)` + // Estimated: `857 + r * (289 ±0)` + // Minimum execution time: 244_392_000 picoseconds. + Weight::from_parts(156_243_434, 857) + // Standard Error: 8_716 + .saturating_add(Weight::from_parts(4_813_682, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -1243,11 +1286,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1245 + n * (1 ±0)` - // Estimated: `1245 + n * (1 ±0)` - // Minimum execution time: 258_525_000 picoseconds. - Weight::from_parts(267_159_833, 1245) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1166 + n * (1 ±0)` + // Estimated: `1166 + n * (1 ±0)` + // Minimum execution time: 255_731_000 picoseconds. + Weight::from_parts(258_937_245, 1166) + // Standard Error: 26 + .saturating_add(Weight::from_parts(61, 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())) } @@ -1256,13 +1301,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `908 + r * (296 ±0)` - // Estimated: `915 + r * (297 ±0)` - // Minimum execution time: 249_374_000 picoseconds. - Weight::from_parts(143_170_561, 915) - // Standard Error: 9_740 - .saturating_add(Weight::from_parts(6_363_267, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `829 + r * (296 ±0)` + // Estimated: `836 + r * (297 ±0)` + // Minimum execution time: 242_902_000 picoseconds. + Weight::from_parts(140_670_703, 836) + // Standard Error: 10_042 + .saturating_add(Weight::from_parts(6_206_728, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1273,13 +1318,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1259 + n * (1 ±0)` - // Estimated: `1259 + n * (1 ±0)` - // Minimum execution time: 262_488_000 picoseconds. - Weight::from_parts(264_414_408, 1259) - // Standard Error: 19 - .saturating_add(Weight::from_parts(747, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1180 + n * (1 ±0)` + // Estimated: `1180 + n * (1 ±0)` + // Minimum execution time: 258_425_000 picoseconds. + Weight::from_parts(266_011_498, 1180) + // Standard Error: 137 + .saturating_add(Weight::from_parts(383, 0).saturating_mul(n.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(n.into())) } @@ -1289,10 +1334,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1300,13 +1343,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1452 + r * (45 ±0)` - // Estimated: `7349 + r * (2520 ±0)` - // Minimum execution time: 250_531_000 picoseconds. - Weight::from_parts(156_750_956, 7349) - // Standard Error: 25_858 - .saturating_add(Weight::from_parts(33_857_380, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1373 + r * (45 ±0)` + // Estimated: `7270 + r * (2520 ±0)` + // Minimum execution time: 243_533_000 picoseconds. + Weight::from_parts(67_275_548, 7270) + // Standard Error: 29_687 + .saturating_add(Weight::from_parts(36_086_917, 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(4_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1318,10 +1361,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -1329,13 +1370,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1296 + r * (276 ±0)` - // Estimated: `9481 + r * (2752 ±0)` - // Minimum execution time: 252_712_000 picoseconds. - Weight::from_parts(253_423_000, 9481) - // Standard Error: 82_522 - .saturating_add(Weight::from_parts(214_147_947, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(11_u64)) + // Measured: `1140 + r * (276 ±0)` + // Estimated: `9332 + r * (2752 ±0)` + // Minimum execution time: 246_206_000 picoseconds. + Weight::from_parts(246_946_000, 9332) + // Standard Error: 74_648 + .saturating_add(Weight::from_parts(217_429_651, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -1347,10 +1388,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:736 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:736 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:736 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -1358,17 +1397,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. 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: 254_932_000 picoseconds. - Weight::from_parts(255_413_000, 6806) - // Standard Error: 104_944 - .saturating_add(Weight::from_parts(214_798_030, 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()))) + // Measured: `0 + r * (502 ±0)` + // Estimated: `6727 + r * (2572 ±10)` + // Minimum execution time: 245_170_000 picoseconds. + Weight::from_parts(245_460_000, 6727) + // Standard Error: 110_429 + .saturating_add(Weight::from_parts(212_316_013, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2633).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1376,10 +1415,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -1388,15 +1425,15 @@ 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: 426_927_000 picoseconds. - Weight::from_parts(417_488_401, 12198) - // Standard Error: 1_354_920 - .saturating_add(Weight::from_parts(23_589_444, 0).saturating_mul(t.into())) + // Measured: `1154 + t * (204 ±0)` + // Estimated: `12044 + t * (5154 ±0)` + // Minimum execution time: 424_523_000 picoseconds. + Weight::from_parts(392_267_161, 12044) + // Standard Error: 956_686 + .saturating_add(Weight::from_parts(36_399_297, 0).saturating_mul(t.into())) // Standard Error: 1 - .saturating_add(Weight::from_parts(555, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(13_u64)) + .saturating_add(Weight::from_parts(600, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(11_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()))) @@ -1408,30 +1445,30 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:801 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:801 w:800) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:801 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:800 w:800) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1383 + r * (251 ±0)` - // Estimated: `7207 + r * (5202 ±0)` - // Minimum execution time: 578_324_000 picoseconds. - Weight::from_parts(579_296_000, 7207) - // Standard Error: 272_850 - .saturating_add(Weight::from_parts(339_289_932, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(10_u64)) + // Measured: `1322 + r * (254 ±0)` + // Estimated: `7146 + r * (5205 ±0)` + // Minimum execution time: 582_323_000 picoseconds. + Weight::from_parts(584_276_000, 7146) + // Standard Error: 280_418 + .saturating_add(Weight::from_parts(349_510_405, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(6_u64)) .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5202).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1439,14 +1476,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `t` is `[0, 1]`. @@ -1454,17 +1491,17 @@ 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: 1_579_497_000 picoseconds. - Weight::from_parts(314_987_461, 9552) - // Standard Error: 5_205_375 - .saturating_add(Weight::from_parts(133_593_989, 0).saturating_mul(t.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_147, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_317, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(15_u64)) + // Measured: `1071 + t * (187 ±0)` + // Estimated: `9492 + t * (2634 ±2)` + // Minimum execution time: 1_627_228_000 picoseconds. + Weight::from_parts(358_838_236, 9492) + // Standard Error: 4_785_521 + .saturating_add(Weight::from_parts(114_920_186, 0).saturating_mul(t.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_163, 0).saturating_mul(i.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(14_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()))) @@ -1476,10 +1513,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1487,13 +1522,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (8 ±0)` - // Estimated: `6797 + r * (8 ±0)` - // Minimum execution time: 242_869_000 picoseconds. - Weight::from_parts(245_069_714, 6797) - // Standard Error: 859 - .saturating_add(Weight::from_parts(661_377, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `777 + r * (8 ±0)` + // Estimated: `6718 + r * (8 ±0)` + // Minimum execution time: 239_228_000 picoseconds. + Weight::from_parts(245_525_858, 6718) + // Standard Error: 1_774 + .saturating_add(Weight::from_parts(578_001, 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, 8).saturating_mul(r.into())) } @@ -1503,10 +1538,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1514,13 +1547,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `864` - // Estimated: `6804` - // Minimum execution time: 243_969_000 picoseconds. - Weight::from_parts(242_208_448, 6804) + // Measured: `785` + // Estimated: `6725` + // Minimum execution time: 241_876_000 picoseconds. + Weight::from_parts(240_629_797, 6725) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_946, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(3_947, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1529,10 +1562,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1540,13 +1571,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6800 + r * (8 ±0)` - // Minimum execution time: 241_475_000 picoseconds. - Weight::from_parts(250_897_752, 6800) - // Standard Error: 2_431 - .saturating_add(Weight::from_parts(811_717, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `779 + r * (8 ±0)` + // Estimated: `6721 + r * (8 ±0)` + // Minimum execution time: 239_345_000 picoseconds. + Weight::from_parts(245_512_118, 6721) + // Standard Error: 771 + .saturating_add(Weight::from_parts(735_528, 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, 8).saturating_mul(r.into())) } @@ -1556,10 +1587,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1567,13 +1596,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6808` - // Minimum execution time: 243_429_000 picoseconds. - Weight::from_parts(234_426_173, 6808) + // Measured: `787` + // Estimated: `6729` + // Minimum execution time: 242_741_000 picoseconds. + Weight::from_parts(232_209_398, 6729) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(3_099, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1582,10 +1611,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1593,13 +1620,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6803 + r * (8 ±0)` - // Minimum execution time: 241_277_000 picoseconds. - Weight::from_parts(249_179_982, 6803) - // Standard Error: 635 - .saturating_add(Weight::from_parts(497_309, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `779 + r * (8 ±0)` + // Estimated: `6724 + r * (8 ±0)` + // Minimum execution time: 239_254_000 picoseconds. + Weight::from_parts(244_250_047, 6724) + // Standard Error: 2_223 + .saturating_add(Weight::from_parts(421_533, 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, 8).saturating_mul(r.into())) } @@ -1609,10 +1636,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1620,13 +1645,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6812` - // Minimum execution time: 242_654_000 picoseconds. - Weight::from_parts(238_213_063, 6812) - // Standard Error: 2 - .saturating_add(Weight::from_parts(910, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `787` + // Estimated: `6733` + // Minimum execution time: 240_848_000 picoseconds. + Weight::from_parts(239_049_162, 6733) + // Standard Error: 3 + .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1635,10 +1660,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1646,13 +1669,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6804 + r * (8 ±0)` - // Minimum execution time: 242_405_000 picoseconds. - Weight::from_parts(244_244_783, 6804) - // Standard Error: 628 - .saturating_add(Weight::from_parts(502_346, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `779 + r * (8 ±0)` + // Estimated: `6725 + r * (8 ±0)` + // Minimum execution time: 240_496_000 picoseconds. + Weight::from_parts(245_279_278, 6725) + // Standard Error: 1_047 + .saturating_add(Weight::from_parts(414_108, 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, 8).saturating_mul(r.into())) } @@ -1662,10 +1685,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1673,13 +1694,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6806` - // Minimum execution time: 244_080_000 picoseconds. - Weight::from_parts(234_972_989, 6806) + // Measured: `787` + // Estimated: `6727` + // Minimum execution time: 241_529_000 picoseconds. + Weight::from_parts(234_715_148, 6727) // Standard Error: 1 - .saturating_add(Weight::from_parts(909, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1688,10 +1709,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1699,13 +1718,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 125697]`. fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `991 + n * (1 ±0)` - // Estimated: `6928 + n * (1 ±0)` - // Minimum execution time: 301_859_000 picoseconds. - Weight::from_parts(305_390_229, 6928) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_443, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `912 + n * (1 ±0)` + // Estimated: `6849 + n * (1 ±0)` + // Minimum execution time: 294_982_000 picoseconds. + Weight::from_parts(299_613_855, 6849) + // Standard Error: 7 + .saturating_add(Weight::from_parts(4_668, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -1715,10 +1734,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1726,13 +1743,13 @@ 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: `801 + r * (112 ±0)` - // Estimated: `6745 + r * (112 ±0)` - // Minimum execution time: 250_401_000 picoseconds. - Weight::from_parts(257_682_069, 6745) - // Standard Error: 23_114 - .saturating_add(Weight::from_parts(48_240_664, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `726 + r * (112 ±0)` + // Estimated: `6666 + r * (112 ±0)` + // Minimum execution time: 242_583_000 picoseconds. + Weight::from_parts(251_860_767, 6666) + // Standard Error: 24_034 + .saturating_add(Weight::from_parts(48_144_071, 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, 112).saturating_mul(r.into())) } @@ -1742,10 +1759,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1753,13 +1768,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `901 + r * (76 ±0)` - // Estimated: `6795 + r * (77 ±0)` - // Minimum execution time: 249_466_000 picoseconds. - Weight::from_parts(266_685_211, 6795) - // Standard Error: 20_091 - .saturating_add(Weight::from_parts(37_913_270, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `822 + r * (76 ±0)` + // Estimated: `6716 + r * (77 ±0)` + // Minimum execution time: 242_331_000 picoseconds. + Weight::from_parts(254_816_298, 6716) + // Standard Error: 17_941 + .saturating_add(Weight::from_parts(37_725_489, 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, 77).saturating_mul(r.into())) } @@ -1769,10 +1784,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1780,13 +1793,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `871 + r * (42 ±0)` - // Estimated: `6810 + r * (42 ±0)` - // Minimum execution time: 247_024_000 picoseconds. - Weight::from_parts(251_944_650, 6810) - // Standard Error: 9_580 - .saturating_add(Weight::from_parts(9_688_086, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `792 + r * (42 ±0)` + // Estimated: `6731 + r * (42 ±0)` + // Minimum execution time: 242_951_000 picoseconds. + Weight::from_parts(246_055_289, 6731) + // Standard Error: 10_074 + .saturating_add(Weight::from_parts(9_421_877, 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, 42).saturating_mul(r.into())) } @@ -1796,28 +1809,28 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1536 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1536 w:1536) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1536 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (961 ±0)` - // Estimated: `6801 + r * (3087 ±10)` - // Minimum execution time: 248_461_000 picoseconds. - Weight::from_parts(248_876_000, 6801) - // Standard Error: 48_987 - .saturating_add(Weight::from_parts(23_039_701, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `0 + r * (964 ±0)` + // Estimated: `8190 + r * (3090 ±7)` + // Minimum execution time: 245_310_000 picoseconds. + Weight::from_parts(245_703_000, 8190) + // Standard Error: 45_813 + .saturating_add(Weight::from_parts(21_837_058, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3087).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1825,10 +1838,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1836,13 +1847,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `852 + r * (3 ±0)` - // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 245_559_000 picoseconds. - Weight::from_parts(249_677_207, 6802) - // Standard Error: 299 - .saturating_add(Weight::from_parts(204_780, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `773 + r * (3 ±0)` + // Estimated: `6723 + r * (3 ±0)` + // Minimum execution time: 241_955_000 picoseconds. + Weight::from_parts(246_148_234, 6723) + // Standard Error: 384 + .saturating_add(Weight::from_parts(162_123, 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())) } @@ -1852,10 +1863,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1863,13 +1872,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2092 + r * (39 ±0)` - // Estimated: `7919 + r * (40 ±0)` - // Minimum execution time: 249_583_000 picoseconds. - Weight::from_parts(278_918_312, 7919) - // Standard Error: 1_206 - .saturating_add(Weight::from_parts(381_976, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1975 + r * (39 ±0)` + // Estimated: `7805 + r * (40 ±0)` + // Minimum execution time: 243_928_000 picoseconds. + Weight::from_parts(276_404_668, 7805) + // Standard Error: 1_263 + .saturating_add(Weight::from_parts(262_830, 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, 40).saturating_mul(r.into())) } @@ -1879,10 +1888,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) @@ -1892,13 +1899,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `855 + r * (3 ±0)` - // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 244_154_000 picoseconds. - Weight::from_parts(252_444_886, 6802) - // Standard Error: 504 - .saturating_add(Weight::from_parts(181_466, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `776 + r * (3 ±0)` + // Estimated: `6723 + r * (3 ±0)` + // Minimum execution time: 242_853_000 picoseconds. + Weight::from_parts(250_429_787, 6723) + // Standard Error: 433 + .saturating_add(Weight::from_parts(139_180, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) } @@ -1907,376 +1914,882 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_449_000 picoseconds. - Weight::from_parts(1_913_474, 0) - // Standard Error: 23 - .saturating_add(Weight::from_parts(8_654, 0).saturating_mul(r.into())) + // Minimum execution time: 1_620_000 picoseconds. + Weight::from_parts(1_894_980, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(2_995, 0).saturating_mul(r.into())) } -} - -// For backwards compatibility and tests -impl WeightInfo for () { - /// Storage: Contracts DeletionQueueCounter (r:1 w:0) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - fn on_process_deletion_queue_batch() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64load(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 2_551_000 picoseconds. - Weight::from_parts(2_657_000, 1627) - .saturating_add(RocksDbWeight::get().reads(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_716_000 picoseconds. + Weight::from_parts(2_353_783, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_414, 0).saturating_mul(r.into())) } - /// Storage: Skipped Metadata (r:0 w:0) - /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn on_initialize_per_trie_key(k: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64store(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + k * (69 ±0)` - // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_208_000 picoseconds. - Weight::from_parts(7_113_931, 441) - // Standard Error: 1_217 - .saturating_add(Weight::from_parts(990_509, 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)) - .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_735_000 picoseconds. + Weight::from_parts(2_266_096, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_015, 0).saturating_mul(r.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// The range of component `c` is `[0, 125952]`. - fn v9_migration_step(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_select(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `211 + c * (1 ±0)` - // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_768_000 picoseconds. - Weight::from_parts(9_700_270, 6149) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_299, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_698_000 picoseconds. + Weight::from_parts(2_080_936, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(7_921, 0).saturating_mul(r.into())) } - /// Storage: Contracts ContractInfoOf (r:2 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - fn v10_migration_step() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_if(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `548` - // Estimated: `6488` - // Minimum execution time: 17_711_000 picoseconds. - Weight::from_parts(17_981_000, 6488) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_636_000 picoseconds. + Weight::from_parts(1_913_876, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(10_836, 0).saturating_mul(r.into())) } - /// Storage: Contracts DeletionQueue (r:1 w:1025) - /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) - /// Storage: Contracts DeletionQueueCounter (r:0 w:1) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn v11_migration_step(k: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_br(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `171 + k * (1 ±0)` - // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_916_000 picoseconds. - Weight::from_parts(2_658_809, 3635) - // Standard Error: 941 - .saturating_add(Weight::from_parts(950_491, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_703_000 picoseconds. + Weight::from_parts(1_838_470, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(4_613, 0).saturating_mul(r.into())) } - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:0 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn v12_migration_step(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_br_if(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_031_000 picoseconds. - Weight::from_parts(26_028_856, 6313) - // Standard Error: 1 - .saturating_add(Weight::from_parts(961, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_662_000 picoseconds. + Weight::from_parts(1_744_254, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(7_020, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn migration_noop() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_br_table(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 3_339_000 picoseconds. - Weight::from_parts(3_454_000, 1627) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_621_000 picoseconds. + Weight::from_parts(1_511_579, 0) + // Standard Error: 33 + .saturating_add(Weight::from_parts(9_479, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - fn migrate() -> Weight { + /// The range of component `e` is `[1, 256]`. + fn instr_br_table_per_entry(_e: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `166` - // Estimated: `3631` - // Minimum execution time: 13_244_000 picoseconds. - Weight::from_parts(13_527_000, 3631) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_758_000 picoseconds. + Weight::from_parts(2_066_494, 0) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - fn on_runtime_upgrade_noop() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 5_322_000 picoseconds. - Weight::from_parts(5_622_000, 3607) - .saturating_add(RocksDbWeight::get().reads(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_690_000 picoseconds. + Weight::from_parts(2_029_755, 0) + // Standard Error: 9 + .saturating_add(Weight::from_parts(17_946, 0).saturating_mul(r.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade_in_progress() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_call_indirect(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `167` - // Estimated: `3632` - // Minimum execution time: 7_395_000 picoseconds. - Weight::from_parts(7_621_000, 3632) - .saturating_add(RocksDbWeight::get().reads(2_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_894_000 picoseconds. + Weight::from_parts(5_533_643, 0) + // Standard Error: 176 + .saturating_add(Weight::from_parts(23_511, 0).saturating_mul(r.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade() -> Weight { + /// The range of component `l` is `[0, 1024]`. + fn instr_call_per_local(l: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 8_184_000 picoseconds. - Weight::from_parts(8_405_000, 3607) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_756_000 picoseconds. + Weight::from_parts(1_978_038, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_176, 0).saturating_mul(l.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn call_with_code_per_byte(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_local_get(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `786` - // Estimated: `6735 + c * (1 ±0)` - // Minimum execution time: 268_170_000 picoseconds. - Weight::from_parts(255_802_329, 6735) - // Standard Error: 61 - .saturating_add(Weight::from_parts(45_879, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_889_000 picoseconds. + Weight::from_parts(3_181_705, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(2_516, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_local_set(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `303` - // Estimated: `8745` - // Minimum execution time: 3_103_535_000 picoseconds. - Weight::from_parts(709_110_372, 8745) - // Standard Error: 150 - .saturating_add(Weight::from_parts(81_085, 0).saturating_mul(c.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_021, 0).saturating_mul(i.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_373, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(9_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_871_000 picoseconds. + Weight::from_parts(3_186_198, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_619, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate(i: u32, s: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_local_tee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `503` - // Estimated: `6429` - // Minimum execution time: 1_621_225_000 picoseconds. - Weight::from_parts(285_978_517, 6429) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_398, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_428, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_890_000 picoseconds. + Weight::from_parts(3_237_380, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(3_963, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn call() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_global_get(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `838` - // Estimated: `6778` - // Minimum execution time: 193_482_000 picoseconds. - Weight::from_parts(195_003_000, 6778) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_756_000 picoseconds. + Weight::from_parts(2_180_563, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(8_400, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn upload_code(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_global_set(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 228_563_000 picoseconds. - Weight::from_parts(213_483_237, 3607) - // Standard Error: 87 - .saturating_add(Weight::from_parts(69_335, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_807_000 picoseconds. + Weight::from_parts(2_247_402, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(8_798, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - fn remove_code() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_memory_current(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `255` - // Estimated: `3720` - // Minimum execution time: 32_166_000 picoseconds. - Weight::from_parts(32_782_000, 3720) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_703_000 picoseconds. + Weight::from_parts(2_050_199, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_833, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:2) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn set_code() -> Weight { + /// The range of component `r` is `[0, 16]`. + fn instr_memory_grow(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `575` - // Estimated: `8990` - // Minimum execution time: 35_579_000 picoseconds. - Weight::from_parts(36_177_000, 8990) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(6_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_686_000 picoseconds. + Weight::from_parts(720_378, 0) + // Standard Error: 141_036 + .saturating_add(Weight::from_parts(13_193_405, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_caller(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64clz(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (6 ±0)` - // Estimated: `6801 + r * (6 ±0)` - // Minimum execution time: 246_674_000 picoseconds. - Weight::from_parts(252_221_210, 6801) - // Standard Error: 784 - .saturating_add(Weight::from_parts(372_935, 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())) - } + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_654_000 picoseconds. + Weight::from_parts(1_934_279, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(4_049, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ctz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_609_000 picoseconds. + Weight::from_parts(1_938_511, 0) + // Standard Error: 20 + .saturating_add(Weight::from_parts(3_780, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64popcnt(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_634_000 picoseconds. + Weight::from_parts(1_941_109, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(3_770, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eqz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_652_000 picoseconds. + Weight::from_parts(1_939_447, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_666, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendsi32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_637_000 picoseconds. + Weight::from_parts(1_921_355, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_977, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendui32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_668_000 picoseconds. + Weight::from_parts(1_993_872, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(3_809, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i32wrapi64(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_657_000 picoseconds. + Weight::from_parts(1_954_737, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_734, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eq(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_688_000 picoseconds. + Weight::from_parts(1_993_611, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(5_962, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ne(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_662_000 picoseconds. + Weight::from_parts(1_965_361, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_965, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64lts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_679_000 picoseconds. + Weight::from_parts(1_946_910, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_987, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ltu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_650_000 picoseconds. + Weight::from_parts(1_925_830, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_001, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_652_000 picoseconds. + Weight::from_parts(1_984_702, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_817, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gtu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_660_000 picoseconds. + Weight::from_parts(1_978_370, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(6_115, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64les(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_655_000 picoseconds. + Weight::from_parts(2_008_659, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_985, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64leu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_608_000 picoseconds. + Weight::from_parts(1_912_542, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(6_084, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ges(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_644_000 picoseconds. + Weight::from_parts(1_959_896, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_968, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64geu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_653_000 picoseconds. + Weight::from_parts(1_984_715, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_971, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64add(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_610_000 picoseconds. + Weight::from_parts(1_919_305, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_877, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64sub(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_691_000 picoseconds. + Weight::from_parts(2_284_292, 0) + // Standard Error: 16 + .saturating_add(Weight::from_parts(6_027, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64mul(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_644_000 picoseconds. + Weight::from_parts(1_960_370, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(5_760, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divs(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_656_000 picoseconds. + Weight::from_parts(1_915_002, 0) + // Standard Error: 21 + .saturating_add(Weight::from_parts(11_896, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_645_000 picoseconds. + Weight::from_parts(2_952_497, 0) + // Standard Error: 122 + .saturating_add(Weight::from_parts(10_646, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rems(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_669_000 picoseconds. + Weight::from_parts(1_661_488, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(12_330, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64remu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_650_000 picoseconds. + Weight::from_parts(1_989_633, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(10_649, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64and(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_715_000 picoseconds. + Weight::from_parts(1_994_636, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_667, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64or(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_685_000 picoseconds. + Weight::from_parts(2_075_238, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_743, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64xor(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_649_000 picoseconds. + Weight::from_parts(1_911_373, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_894, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shl(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_682_000 picoseconds. + Weight::from_parts(2_000_076, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_932, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shrs(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_686_000 picoseconds. + Weight::from_parts(1_999_600, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_129, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shru(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_628_000 picoseconds. + Weight::from_parts(1_893_440, 0) + // Standard Error: 15 + .saturating_add(Weight::from_parts(5_938, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rotl(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_721_000 picoseconds. + Weight::from_parts(1_982_227, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_008, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rotr(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_648_000 picoseconds. + Weight::from_parts(2_003_359, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_875, 0).saturating_mul(r.into())) + } +} + +// For backwards compatibility and tests +impl WeightInfo for () { + /// Storage: Contracts DeletionQueueCounter (r:1 w:0) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + fn on_process_deletion_queue_batch() -> Weight { + // Proof Size summary in bytes: + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 2_630_000 picoseconds. + Weight::from_parts(2_778_000, 1594) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + /// Storage: Skipped Metadata (r:0 w:0) + /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn on_initialize_per_trie_key(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `488 + k * (69 ±0)` + // Estimated: `478 + k * (70 ±0)` + // Minimum execution time: 13_453_000 picoseconds. + Weight::from_parts(10_904_078, 478) + // Standard Error: 931 + .saturating_add(Weight::from_parts(982_122, 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)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) + } + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn reinstrument(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `238 + c * (1 ±0)` + // Estimated: `3708 + c * (1 ±0)` + // Minimum execution time: 30_972_000 picoseconds. + Weight::from_parts(31_129_287, 3708) + // Standard Error: 52 + .saturating_add(Weight::from_parts(54_996, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: Contracts CodeStorage (r:2 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn v9_migration_step(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `178 + c * (1 ±0)` + // Estimated: `6114 + c * (1 ±0)` + // Minimum execution time: 9_696_000 picoseconds. + Weight::from_parts(10_697_026, 6114) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_307, 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())) + } + /// Storage: Contracts ContractInfoOf (r:2 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// 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: `544` + // Estimated: `6484` + // Minimum execution time: 18_132_000 picoseconds. + Weight::from_parts(18_842_000, 6484) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: Contracts DeletionQueue (r:1 w:1025) + /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) + /// Storage: Contracts DeletionQueueCounter (r:0 w:1) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn v11_migration_step(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `138 + k * (1 ±0)` + // Estimated: `3602 + k * (1 ±0)` + // Minimum execution time: 3_952_000 picoseconds. + Weight::from_parts(4_129_000, 3602) + // Standard Error: 1_521 + .saturating_add(Weight::from_parts(1_013_657, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + } + + /// Placeholder, should be replaced with new benchmarked weight + fn v12_migration_step(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `138 + k * (1 ±0)` + // Estimated: `3602 + k * (1 ±0)` + // Minimum execution time: 3_952_000 picoseconds. + Weight::from_parts(4_129_000, 3602) + // Standard Error: 1_521 + .saturating_add(Weight::from_parts(1_013_657, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + } + + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn migration_noop() -> Weight { + // Proof Size summary in bytes: + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 3_528_000 picoseconds. + Weight::from_parts(3_641_000, 1594) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + fn migrate() -> Weight { + // Proof Size summary in bytes: + // Measured: `133` + // Estimated: `3598` + // Minimum execution time: 13_433_000 picoseconds. + Weight::from_parts(13_710_000, 3598) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + fn on_runtime_upgrade_noop() -> Weight { + // Proof Size summary in bytes: + // Measured: `109` + // Estimated: `3574` + // Minimum execution time: 5_502_000 picoseconds. + Weight::from_parts(5_689_000, 3574) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade_in_progress() -> Weight { + // Proof Size summary in bytes: + // Measured: `134` + // Estimated: `3599` + // Minimum execution time: 7_846_000 picoseconds. + Weight::from_parts(8_078_000, 3599) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + } + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade() -> Weight { + // Proof Size summary in bytes: + // Measured: `109` + // Estimated: `3574` + // Minimum execution time: 8_390_000 picoseconds. + Weight::from_parts(8_602_000, 3574) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn call_with_code_per_byte(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `707` + // Estimated: `6656 + c * (1 ±0)` + // Minimum execution time: 280_993_000 picoseconds. + Weight::from_parts(289_622_441, 6656) + // Standard Error: 26 + .saturating_add(Weight::from_parts(38_061, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `270` + // Estimated: `8659` + // Minimum execution time: 3_136_130_000 picoseconds. + Weight::from_parts(568_808_049, 8659) + // Standard Error: 288 + .saturating_add(Weight::from_parts(108_649, 0).saturating_mul(c.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(i.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_502, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(10_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate(i: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `482` + // Estimated: `6408` + // Minimum execution time: 1_655_107_000 picoseconds. + Weight::from_parts(266_843_437, 6408) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_463, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_458, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn call() -> Weight { + // Proof Size summary in bytes: + // Measured: `759` + // Estimated: `6699` + // Minimum execution time: 197_684_000 picoseconds. + Weight::from_parts(199_222_000, 6699) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn upload_code(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `109` + // Estimated: `3574` + // Minimum execution time: 254_766_000 picoseconds. + Weight::from_parts(247_865_224, 3574) + // Standard Error: 146 + .saturating_add(Weight::from_parts(108_830, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + fn remove_code() -> Weight { + // Proof Size summary in bytes: + // Measured: `255` + // Estimated: `3720` + // Minimum execution time: 36_038_000 picoseconds. + Weight::from_parts(36_503_000, 3720) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:2 w:2) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn set_code() -> Weight { + // Proof Size summary in bytes: + // Measured: `570` + // Estimated: `8985` + // Minimum execution time: 35_312_000 picoseconds. + Weight::from_parts(35_852_000, 8985) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_caller(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `781 + r * (6 ±0)` + // Estimated: `6722 + r * (6 ±0)` + // Minimum execution time: 241_668_000 picoseconds. + Weight::from_parts(256_167_627, 6722) + // Standard Error: 2_447 + .saturating_add(Weight::from_parts(328_424, 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, 6).saturating_mul(r.into())) + } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: System Account (r:1 w:0) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2284,13 +2797,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `918 + r * (240 ±0)` - // Estimated: `6822 + r * (2715 ±0)` - // Minimum execution time: 247_549_000 picoseconds. - Weight::from_parts(71_679_562, 6822) - // Standard Error: 6_718 - .saturating_add(Weight::from_parts(3_416_535, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `839 + r * (240 ±0)` + // Estimated: `6743 + r * (2715 ±0)` + // Minimum execution time: 242_353_000 picoseconds. + Weight::from_parts(82_743_116, 6743) + // Standard Error: 6_271 + .saturating_add(Weight::from_parts(3_331_316, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -2301,10 +2814,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2312,13 +2823,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `910 + r * (244 ±0)` - // Estimated: `6826 + r * (2719 ±0)` - // Minimum execution time: 251_268_000 picoseconds. - Weight::from_parts(105_839_822, 6826) - // Standard Error: 8_060 - .saturating_add(Weight::from_parts(4_148_193, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `831 + r * (244 ±0)` + // Estimated: `6747 + r * (2719 ±0)` + // Minimum execution time: 243_370_000 picoseconds. + Weight::from_parts(77_198_453, 6747) + // Standard Error: 6_968 + .saturating_add(Weight::from_parts(4_162_946, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -2329,10 +2840,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2340,13 +2849,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `867 + r * (6 ±0)` - // Estimated: `6809 + r * (6 ±0)` - // Minimum execution time: 249_994_000 picoseconds. - Weight::from_parts(254_429_021, 6809) - // Standard Error: 807 - .saturating_add(Weight::from_parts(444_253, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `788 + r * (6 ±0)` + // Estimated: `6730 + r * (6 ±0)` + // Minimum execution time: 244_083_000 picoseconds. + Weight::from_parts(239_899_316, 6730) + // Standard Error: 5_254 + .saturating_add(Weight::from_parts(423_863, 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, 6).saturating_mul(r.into())) } @@ -2356,10 +2865,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2367,13 +2874,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (3 ±0)` - // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 244_726_000 picoseconds. - Weight::from_parts(249_118_388, 6802) - // Standard Error: 527 - .saturating_add(Weight::from_parts(210_682, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `778 + r * (3 ±0)` + // Estimated: `6723 + r * (3 ±0)` + // Minimum execution time: 239_835_000 picoseconds. + Weight::from_parts(247_929_454, 6723) + // Standard Error: 2_309 + .saturating_add(Weight::from_parts(169_642, 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())) } @@ -2381,10 +2888,8 @@ impl WeightInfo for () { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2392,13 +2897,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `747 + r * (3 ±0)` - // Estimated: `6687 + r * (3 ±0)` - // Minimum execution time: 233_682_000 picoseconds. - Weight::from_parts(240_279_064, 6687) - // Standard Error: 738 - .saturating_add(Weight::from_parts(189_666, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `668 + r * (3 ±0)` + // Estimated: `6608 + r * (3 ±0)` + // Minimum execution time: 229_091_000 picoseconds. + Weight::from_parts(235_369_797, 6608) + // Standard Error: 283 + .saturating_add(Weight::from_parts(146_485, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) } @@ -2408,10 +2913,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2419,13 +2922,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `861 + r * (6 ±0)` - // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 249_122_000 picoseconds. - Weight::from_parts(249_521_157, 6803) - // Standard Error: 818 - .saturating_add(Weight::from_parts(371_111, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `782 + r * (6 ±0)` + // Estimated: `6724 + r * (6 ±0)` + // Minimum execution time: 242_638_000 picoseconds. + Weight::from_parts(245_890_126, 6724) + // Standard Error: 508 + .saturating_add(Weight::from_parts(323_232, 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, 6).saturating_mul(r.into())) } @@ -2435,10 +2938,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2446,13 +2947,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (6 ±0)` - // Estimated: `6798 + r * (6 ±0)` - // Minimum execution time: 247_469_000 picoseconds. - Weight::from_parts(254_571_323, 6798) - // Standard Error: 1_535 - .saturating_add(Weight::from_parts(545_161, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `778 + r * (6 ±0)` + // Estimated: `6719 + r * (6 ±0)` + // Minimum execution time: 241_740_000 picoseconds. + Weight::from_parts(244_490_855, 6719) + // Standard Error: 1_872 + .saturating_add(Weight::from_parts(543_651, 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, 6).saturating_mul(r.into())) } @@ -2462,10 +2963,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2473,13 +2972,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1001 + r * (6 ±0)` - // Estimated: `6925 + r * (6 ±0)` - // Minimum execution time: 246_529_000 picoseconds. - Weight::from_parts(260_398_990, 6925) - // Standard Error: 1_720 - .saturating_add(Weight::from_parts(1_466_536, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `922 + r * (6 ±0)` + // Estimated: `6846 + r * (6 ±0)` + // Minimum execution time: 241_787_000 picoseconds. + Weight::from_parts(243_819_464, 6846) + // Standard Error: 5_017 + .saturating_add(Weight::from_parts(1_496_444, 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())) } @@ -2489,10 +2988,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2500,13 +2997,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `871 + r * (6 ±0)` - // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 247_329_000 picoseconds. - Weight::from_parts(254_263_214, 6820) - // Standard Error: 642 - .saturating_add(Weight::from_parts(357_316, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `792 + r * (6 ±0)` + // Estimated: `6741 + r * (6 ±0)` + // Minimum execution time: 243_498_000 picoseconds. + Weight::from_parts(251_019_668, 6741) + // Standard Error: 1_479 + .saturating_add(Weight::from_parts(318_979, 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, 6).saturating_mul(r.into())) } @@ -2516,10 +3013,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2527,13 +3022,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `869 + r * (6 ±0)` - // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 247_182_000 picoseconds. - Weight::from_parts(253_497_801, 6818) - // Standard Error: 707 - .saturating_add(Weight::from_parts(359_827, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `790 + r * (6 ±0)` + // Estimated: `6739 + r * (6 ±0)` + // Minimum execution time: 242_572_000 picoseconds. + Weight::from_parts(246_453_396, 6739) + // Standard Error: 978 + .saturating_add(Weight::from_parts(320_095, 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, 6).saturating_mul(r.into())) } @@ -2543,10 +3038,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2554,13 +3047,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866 + r * (6 ±0)` - // Estimated: `6816 + r * (6 ±0)` - // Minimum execution time: 246_803_000 picoseconds. - Weight::from_parts(253_965_244, 6816) - // Standard Error: 654 - .saturating_add(Weight::from_parts(358_101, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `787 + r * (6 ±0)` + // Estimated: `6737 + r * (6 ±0)` + // Minimum execution time: 241_872_000 picoseconds. + Weight::from_parts(257_272_904, 6737) + // Standard Error: 4_146 + .saturating_add(Weight::from_parts(314_645, 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, 6).saturating_mul(r.into())) } @@ -2570,10 +3063,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2581,13 +3072,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (6 ±0)` - // Estimated: `6802 + r * (6 ±0)` - // Minimum execution time: 246_464_000 picoseconds. - Weight::from_parts(251_825_755, 6802) - // Standard Error: 650 - .saturating_add(Weight::from_parts(363_675, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `778 + r * (6 ±0)` + // Estimated: `6723 + r * (6 ±0)` + // Minimum execution time: 242_139_000 picoseconds. + Weight::from_parts(244_667_764, 6723) + // Standard Error: 580 + .saturating_add(Weight::from_parts(323_005, 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, 6).saturating_mul(r.into())) } @@ -2597,10 +3088,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -2610,13 +3099,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `931 + r * (14 ±0)` - // Estimated: `6864 + r * (14 ±0)` - // Minimum execution time: 246_052_000 picoseconds. - Weight::from_parts(243_000_370, 6864) - // Standard Error: 8_219 - .saturating_add(Weight::from_parts(1_449_883, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `852 + r * (14 ±0)` + // Estimated: `6785 + r * (14 ±0)` + // Minimum execution time: 242_370_000 picoseconds. + Weight::from_parts(247_330_421, 6785) + // Standard Error: 1_832 + .saturating_add(Weight::from_parts(1_396_737, 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, 14).saturating_mul(r.into())) } @@ -2626,10 +3115,33 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_gas(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `745 + r * (4 ±0)` + // Estimated: `6687 + r * (4 ±0)` + // Minimum execution time: 167_583_000 picoseconds. + Weight::from_parts(173_694_884, 6687) + // Standard Error: 2_880 + .saturating_add(Weight::from_parts(133_811, 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, 4).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2637,13 +3149,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (6 ±0)` - // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 247_044_000 picoseconds. - Weight::from_parts(250_396_204, 6803) - // Standard Error: 577 - .saturating_add(Weight::from_parts(327_275, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `780 + r * (6 ±0)` + // Estimated: `6724 + r * (6 ±0)` + // Minimum execution time: 242_932_000 picoseconds. + Weight::from_parts(246_356_239, 6724) + // Standard Error: 479 + .saturating_add(Weight::from_parts(268_456, 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, 6).saturating_mul(r.into())) } @@ -2653,10 +3165,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2664,13 +3174,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `863` - // Estimated: `6803` - // Minimum execution time: 248_160_000 picoseconds. - Weight::from_parts(251_383_883, 6803) + // Measured: `784` + // Estimated: `6724` + // Minimum execution time: 245_611_000 picoseconds. + Weight::from_parts(246_102_856, 6724) // Standard Error: 1 - .saturating_add(Weight::from_parts(565, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(596, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -2679,10 +3189,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2690,13 +3198,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `847 + r * (45 ±0)` - // Estimated: `6787 + r * (45 ±0)` - // Minimum execution time: 240_756_000 picoseconds. - Weight::from_parts(243_426_985, 6787) - // Standard Error: 333_936 - .saturating_add(Weight::from_parts(2_469_114, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `768 + r * (45 ±0)` + // Estimated: `6708 + r * (45 ±0)` + // Minimum execution time: 238_764_000 picoseconds. + Weight::from_parts(241_225_075, 6708) + // Standard Error: 196_899 + .saturating_add(Weight::from_parts(3_361_624, 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, 45).saturating_mul(r.into())) } @@ -2706,10 +3214,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2717,13 +3223,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857` - // Estimated: `6810` - // Minimum execution time: 243_946_000 picoseconds. - Weight::from_parts(248_146_498, 6810) + // Measured: `778` + // Estimated: `6731` + // Minimum execution time: 243_075_000 picoseconds. + Weight::from_parts(244_139_227, 6731) // Standard Error: 0 - .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -2732,14 +3238,14 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -2747,17 +3253,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `889 + r * (300 ±0)` - // Estimated: `6829 + r * (7725 ±0)` - // Minimum execution time: 246_106_000 picoseconds. - Weight::from_parts(248_555_834, 6829) - // Standard Error: 321_109 - .saturating_add(Weight::from_parts(109_005_365, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(r.into()))) + // Measured: `810 + r * (356 ±0)` + // Estimated: `6750 + r * (7781 ±0)` + // Minimum execution time: 241_330_000 picoseconds. + Weight::from_parts(244_187_673, 6750) + // Standard Error: 473_741 + .saturating_add(Weight::from_parts(117_358_926, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -2765,10 +3271,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -2778,13 +3282,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `938 + r * (10 ±0)` - // Estimated: `6879 + r * (10 ±0)` - // Minimum execution time: 247_429_000 picoseconds. - Weight::from_parts(261_792_203, 6879) - // Standard Error: 1_580 - .saturating_add(Weight::from_parts(1_807_671, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `825 + r * (10 ±0)` + // Estimated: `6769 + r * (10 ±0)` + // Minimum execution time: 243_298_000 picoseconds. + Weight::from_parts(246_393_253, 6769) + // Standard Error: 4_125 + .saturating_add(Weight::from_parts(1_876_317, 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())) } @@ -2794,10 +3298,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2805,13 +3307,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (10 ±0)` - // Estimated: `6802 + r * (10 ±0)` - // Minimum execution time: 241_602_000 picoseconds. - Weight::from_parts(266_862_900, 6802) - // Standard Error: 2_956 - .saturating_add(Weight::from_parts(3_458_802, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `778 + r * (10 ±0)` + // Estimated: `6723 + r * (10 ±0)` + // Minimum execution time: 240_477_000 picoseconds. + Weight::from_parts(252_579_330, 6723) + // Standard Error: 1_993 + .saturating_add(Weight::from_parts(3_510_388, 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, 10).saturating_mul(r.into())) } @@ -2820,11 +3322,9 @@ impl WeightInfo for () { /// Storage: System Account (r:1 w:0) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -2833,15 +3333,15 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `876 + t * (32 ±0)` - // Estimated: `6823 + t * (2508 ±0)` - // Minimum execution time: 264_004_000 picoseconds. - Weight::from_parts(257_089_675, 6823) - // Standard Error: 57_656 - .saturating_add(Weight::from_parts(2_102_756, 0).saturating_mul(t.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(699, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `797 + t * (32 ±0)` + // Estimated: `6744 + t * (2508 ±0)` + // Minimum execution time: 259_029_000 picoseconds. + Weight::from_parts(252_262_484, 6744) + // Standard Error: 35_710 + .saturating_add(Weight::from_parts(2_236_764, 0).saturating_mul(t.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(648, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -2853,10 +3353,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2864,13 +3362,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (7 ±0)` - // Estimated: `6800 + r * (7 ±0)` - // Minimum execution time: 171_907_000 picoseconds. - Weight::from_parts(178_461_426, 6800) - // Standard Error: 450 - .saturating_add(Weight::from_parts(299_613, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `777 + r * (7 ±0)` + // Estimated: `6721 + r * (7 ±0)` + // Minimum execution time: 170_544_000 picoseconds. + Weight::from_parts(174_555_287, 6721) + // Standard Error: 320 + .saturating_add(Weight::from_parts(233_911, 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, 7).saturating_mul(r.into())) } @@ -2880,10 +3378,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -2891,13 +3387,13 @@ impl WeightInfo for () { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125807` - // Estimated: `131749` - // Minimum execution time: 568_827_000 picoseconds. - Weight::from_parts(580_108_064, 131749) + // Measured: `125728` + // Estimated: `131670` + // Minimum execution time: 357_160_000 picoseconds. + Weight::from_parts(359_930_328, 131670) // Standard Error: 1 - .saturating_add(Weight::from_parts(860, 0).saturating_mul(i.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(738, 0).saturating_mul(i.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -2905,13 +3401,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `924 + r * (292 ±0)` - // Estimated: `922 + r * (293 ±0)` - // Minimum execution time: 248_581_000 picoseconds. - Weight::from_parts(138_859_949, 922) - // Standard Error: 9_964 - .saturating_add(Weight::from_parts(6_289_734, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `845 + r * (292 ±0)` + // Estimated: `843 + r * (293 ±0)` + // Minimum execution time: 242_846_000 picoseconds. + Weight::from_parts(135_611_732, 843) + // Standard Error: 10_708 + .saturating_add(Weight::from_parts(6_146_995, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -2920,13 +3416,15 @@ impl WeightInfo for () { /// Storage: Skipped Metadata (r:0 w:0) /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) /// The range of component `n` is `[0, 16384]`. - fn seal_set_storage_per_new_byte(_n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1383` - // Estimated: `1359` - // Minimum execution time: 261_463_000 picoseconds. - Weight::from_parts(300_008_557, 1359) - .saturating_add(RocksDbWeight::get().reads(10_u64)) + fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1304` + // Estimated: `1280` + // Minimum execution time: 258_885_000 picoseconds. + Weight::from_parts(292_699_689, 1280) + // Standard Error: 47 + .saturating_add(Weight::from_parts(433, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -2934,13 +3432,11 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1246 + n * (1 ±0)` - // Estimated: `1246 + n * (1 ±0)` - // Minimum execution time: 261_037_000 picoseconds. - Weight::from_parts(263_137_925, 1246) - // Standard Error: 12 - .saturating_add(Weight::from_parts(130, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1167 + n * (1 ±0)` + // Estimated: `1167 + n * (1 ±0)` + // Minimum execution time: 258_297_000 picoseconds. + Weight::from_parts(262_380_805, 1167) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -2949,13 +3445,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `920 + r * (288 ±0)` - // Estimated: `924 + r * (289 ±0)` - // Minimum execution time: 248_244_000 picoseconds. - Weight::from_parts(137_928_954, 924) - // Standard Error: 10_340 - .saturating_add(Weight::from_parts(6_156_172, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `841 + r * (288 ±0)` + // Estimated: `845 + r * (289 ±0)` + // Minimum execution time: 242_945_000 picoseconds. + Weight::from_parts(126_721_339, 845) + // Standard Error: 11_891 + .saturating_add(Weight::from_parts(6_134_319, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -2966,13 +3462,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1242 + n * (1 ±0)` - // Estimated: `1242 + n * (1 ±0)` - // Minimum execution time: 261_094_000 picoseconds. - Weight::from_parts(263_393_430, 1242) - // Standard Error: 17 - .saturating_add(Weight::from_parts(106, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1163 + n * (1 ±0)` + // Estimated: `1163 + n * (1 ±0)` + // Minimum execution time: 259_872_000 picoseconds. + Weight::from_parts(259_910_037, 1163) + // Standard Error: 142 + .saturating_add(Weight::from_parts(629, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -2981,13 +3477,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `914 + r * (296 ±0)` - // Estimated: `919 + r * (297 ±0)` - // Minimum execution time: 249_093_000 picoseconds. - Weight::from_parts(165_491_364, 919) - // Standard Error: 8_723 - .saturating_add(Weight::from_parts(5_162_679, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `835 + r * (296 ±0)` + // Estimated: `840 + r * (297 ±0)` + // Minimum execution time: 245_005_000 picoseconds. + Weight::from_parts(155_891_939, 840) + // Standard Error: 9_938 + .saturating_add(Weight::from_parts(4_992_231, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -2997,13 +3493,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1258 + n * (1 ±0)` - // Estimated: `1258 + n * (1 ±0)` - // Minimum execution time: 260_849_000 picoseconds. - Weight::from_parts(264_254_567, 1258) - // Standard Error: 16 - .saturating_add(Weight::from_parts(664, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1179 + n * (1 ±0)` + // Estimated: `1179 + n * (1 ±0)` + // Minimum execution time: 257_926_000 picoseconds. + Weight::from_parts(261_438_340, 1179) + // Standard Error: 24 + .saturating_add(Weight::from_parts(659, 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())) } @@ -3012,13 +3508,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `935 + r * (288 ±0)` - // Estimated: `936 + r * (289 ±0)` - // Minimum execution time: 248_442_000 picoseconds. - Weight::from_parts(160_049_679, 936) - // Standard Error: 8_384 - .saturating_add(Weight::from_parts(4_965_970, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `856 + r * (288 ±0)` + // Estimated: `857 + r * (289 ±0)` + // Minimum execution time: 244_392_000 picoseconds. + Weight::from_parts(156_243_434, 857) + // Standard Error: 8_716 + .saturating_add(Weight::from_parts(4_813_682, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -3028,11 +3524,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1245 + n * (1 ±0)` - // Estimated: `1245 + n * (1 ±0)` - // Minimum execution time: 258_525_000 picoseconds. - Weight::from_parts(267_159_833, 1245) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1166 + n * (1 ±0)` + // Estimated: `1166 + n * (1 ±0)` + // Minimum execution time: 255_731_000 picoseconds. + Weight::from_parts(258_937_245, 1166) + // Standard Error: 26 + .saturating_add(Weight::from_parts(61, 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())) } @@ -3041,13 +3539,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `908 + r * (296 ±0)` - // Estimated: `915 + r * (297 ±0)` - // Minimum execution time: 249_374_000 picoseconds. - Weight::from_parts(143_170_561, 915) - // Standard Error: 9_740 - .saturating_add(Weight::from_parts(6_363_267, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `829 + r * (296 ±0)` + // Estimated: `836 + r * (297 ±0)` + // Minimum execution time: 242_902_000 picoseconds. + Weight::from_parts(140_670_703, 836) + // Standard Error: 10_042 + .saturating_add(Weight::from_parts(6_206_728, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3058,13 +3556,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1259 + n * (1 ±0)` - // Estimated: `1259 + n * (1 ±0)` - // Minimum execution time: 262_488_000 picoseconds. - Weight::from_parts(264_414_408, 1259) - // Standard Error: 19 - .saturating_add(Weight::from_parts(747, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1180 + n * (1 ±0)` + // Estimated: `1180 + n * (1 ±0)` + // Minimum execution time: 258_425_000 picoseconds. + Weight::from_parts(266_011_498, 1180) + // Standard Error: 137 + .saturating_add(Weight::from_parts(383, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -3074,10 +3572,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3085,13 +3581,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1452 + r * (45 ±0)` - // Estimated: `7349 + r * (2520 ±0)` - // Minimum execution time: 250_531_000 picoseconds. - Weight::from_parts(156_750_956, 7349) - // Standard Error: 25_858 - .saturating_add(Weight::from_parts(33_857_380, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1373 + r * (45 ±0)` + // Estimated: `7270 + r * (2520 ±0)` + // Minimum execution time: 243_533_000 picoseconds. + Weight::from_parts(67_275_548, 7270) + // Standard Error: 29_687 + .saturating_add(Weight::from_parts(36_086_917, 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(4_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3103,10 +3599,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -3114,13 +3608,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1296 + r * (276 ±0)` - // Estimated: `9481 + r * (2752 ±0)` - // Minimum execution time: 252_712_000 picoseconds. - Weight::from_parts(253_423_000, 9481) - // Standard Error: 82_522 - .saturating_add(Weight::from_parts(214_147_947, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(11_u64)) + // Measured: `1140 + r * (276 ±0)` + // Estimated: `9332 + r * (2752 ±0)` + // Minimum execution time: 246_206_000 picoseconds. + Weight::from_parts(246_946_000, 9332) + // Standard Error: 74_648 + .saturating_add(Weight::from_parts(217_429_651, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -3132,10 +3626,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:736 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:736 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:736 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -3143,17 +3635,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. 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: 254_932_000 picoseconds. - Weight::from_parts(255_413_000, 6806) - // Standard Error: 104_944 - .saturating_add(Weight::from_parts(214_798_030, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (502 ±0)` + // Estimated: `6727 + r * (2572 ±10)` + // Minimum execution time: 245_170_000 picoseconds. + Weight::from_parts(245_460_000, 6727) + // Standard Error: 110_429 + .saturating_add(Weight::from_parts(212_316_013, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2633).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3161,10 +3653,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -3173,15 +3663,15 @@ 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: 426_927_000 picoseconds. - Weight::from_parts(417_488_401, 12198) - // Standard Error: 1_354_920 - .saturating_add(Weight::from_parts(23_589_444, 0).saturating_mul(t.into())) + // Measured: `1154 + t * (204 ±0)` + // Estimated: `12044 + t * (5154 ±0)` + // Minimum execution time: 424_523_000 picoseconds. + Weight::from_parts(392_267_161, 12044) + // Standard Error: 956_686 + .saturating_add(Weight::from_parts(36_399_297, 0).saturating_mul(t.into())) // Standard Error: 1 - .saturating_add(Weight::from_parts(555, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(13_u64)) + .saturating_add(Weight::from_parts(600, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(11_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()))) @@ -3193,30 +3683,30 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:801 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:801 w:800) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:801 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:800 w:800) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1383 + r * (251 ±0)` - // Estimated: `7207 + r * (5202 ±0)` - // Minimum execution time: 578_324_000 picoseconds. - Weight::from_parts(579_296_000, 7207) - // Standard Error: 272_850 - .saturating_add(Weight::from_parts(339_289_932, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) + // Measured: `1322 + r * (254 ±0)` + // Estimated: `7146 + r * (5205 ±0)` + // Minimum execution time: 582_323_000 picoseconds. + Weight::from_parts(584_276_000, 7146) + // Standard Error: 280_418 + .saturating_add(Weight::from_parts(349_510_405, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(6_u64)) .saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5202).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3224,36 +3714,332 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `t` is `[0, 1]`. - /// The range of component `i` is `[0, 983040]`. - /// The range of component `s` is `[0, 983040]`. - fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { + /// The range of component `t` is `[0, 1]`. + /// The range of component `i` is `[0, 983040]`. + /// The range of component `s` is `[0, 983040]`. + fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1071 + t * (187 ±0)` + // Estimated: `9492 + t * (2634 ±2)` + // Minimum execution time: 1_627_228_000 picoseconds. + Weight::from_parts(358_838_236, 9492) + // Standard Error: 4_785_521 + .saturating_add(Weight::from_parts(114_920_186, 0).saturating_mul(t.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_163, 0).saturating_mul(i.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(14_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())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_sha2_256(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `777 + r * (8 ±0)` + // Estimated: `6718 + r * (8 ±0)` + // Minimum execution time: 239_228_000 picoseconds. + Weight::from_parts(245_525_858, 6718) + // Standard Error: 1_774 + .saturating_add(Weight::from_parts(578_001, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `785` + // Estimated: `6725` + // Minimum execution time: 241_876_000 picoseconds. + Weight::from_parts(240_629_797, 6725) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_947, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_keccak_256(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `779 + r * (8 ±0)` + // Estimated: `6721 + r * (8 ±0)` + // Minimum execution time: 239_345_000 picoseconds. + Weight::from_parts(245_512_118, 6721) + // Standard Error: 771 + .saturating_add(Weight::from_parts(735_528, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `787` + // Estimated: `6729` + // Minimum execution time: 242_741_000 picoseconds. + Weight::from_parts(232_209_398, 6729) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_099, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_256(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `779 + r * (8 ±0)` + // Estimated: `6724 + r * (8 ±0)` + // Minimum execution time: 239_254_000 picoseconds. + Weight::from_parts(244_250_047, 6724) + // Standard Error: 2_223 + .saturating_add(Weight::from_parts(421_533, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `787` + // Estimated: `6733` + // Minimum execution time: 240_848_000 picoseconds. + Weight::from_parts(239_049_162, 6733) + // Standard Error: 3 + .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_128(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `779 + r * (8 ±0)` + // Estimated: `6725 + r * (8 ±0)` + // Minimum execution time: 240_496_000 picoseconds. + Weight::from_parts(245_279_278, 6725) + // Standard Error: 1_047 + .saturating_add(Weight::from_parts(414_108, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `787` + // Estimated: `6727` + // Minimum execution time: 241_529_000 picoseconds. + Weight::from_parts(234_715_148, 6727) + // Standard Error: 1 + .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 125697]`. + fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `912 + n * (1 ±0)` + // Estimated: `6849 + n * (1 ±0)` + // Minimum execution time: 294_982_000 picoseconds. + Weight::from_parts(299_613_855, 6849) + // Standard Error: 7 + .saturating_add(Weight::from_parts(4_668, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_sr25519_verify(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `726 + r * (112 ±0)` + // Estimated: `6666 + r * (112 ±0)` + // Minimum execution time: 242_583_000 picoseconds. + Weight::from_parts(251_860_767, 6666) + // Standard Error: 24_034 + .saturating_add(Weight::from_parts(48_144_071, 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, 112).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_recover(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `822 + r * (76 ±0)` + // Estimated: `6716 + r * (77 ±0)` + // Minimum execution time: 242_331_000 picoseconds. + Weight::from_parts(254_816_298, 6716) + // Standard Error: 17_941 + .saturating_add(Weight::from_parts(37_725_489, 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, 77).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1131 + t * (187 ±0)` - // Estimated: `9552 + t * (2634 ±2)` - // Minimum execution time: 1_579_497_000 picoseconds. - Weight::from_parts(314_987_461, 9552) - // Standard Error: 5_205_375 - .saturating_add(Weight::from_parts(133_593_989, 0).saturating_mul(t.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_147, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_317, 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())) + // Measured: `792 + r * (42 ±0)` + // Estimated: `6731 + r * (42 ±0)` + // Minimum execution time: 242_951_000 picoseconds. + Weight::from_parts(246_055_289, 6731) + // Standard Error: 10_074 + .saturating_add(Weight::from_parts(9_421_877, 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, 42).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3261,26 +4047,28 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1536 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) + /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_hash_sha2_256(r: u32, ) -> Weight { + fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (8 ±0)` - // Estimated: `6797 + r * (8 ±0)` - // Minimum execution time: 242_869_000 picoseconds. - Weight::from_parts(245_069_714, 6797) - // Standard Error: 859 - .saturating_add(Weight::from_parts(661_377, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `0 + r * (964 ±0)` + // Estimated: `8190 + r * (3090 ±7)` + // Minimum execution time: 245_310_000 picoseconds. + Weight::from_parts(245_703_000, 8190) + // Standard Error: 45_813 + .saturating_add(Weight::from_parts(21_837_058, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) + .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3288,25 +4076,24 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 1600]`. + fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `864` - // Estimated: `6804` - // Minimum execution time: 243_969_000 picoseconds. - Weight::from_parts(242_208_448, 6804) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_946, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `773 + r * (3 ±0)` + // Estimated: `6723 + r * (3 ±0)` + // Minimum execution time: 241_955_000 picoseconds. + Weight::from_parts(246_148_234, 6723) + // Standard Error: 384 + .saturating_add(Weight::from_parts(162_123, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3314,26 +4101,24 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_hash_keccak_256(r: u32, ) -> Weight { + fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6800 + r * (8 ±0)` - // Minimum execution time: 241_475_000 picoseconds. - Weight::from_parts(250_897_752, 6800) - // Standard Error: 2_431 - .saturating_add(Weight::from_parts(811_717, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1975 + r * (39 ±0)` + // Estimated: `7805 + r * (40 ±0)` + // Minimum execution time: 243_928_000 picoseconds. + Weight::from_parts(276_404_668, 7805) + // Standard Error: 1_263 + .saturating_add(Weight::from_parts(262_830, 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, 8).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 40).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3341,360 +4126,533 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 1600]`. + fn seal_instantiation_nonce(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `776 + r * (3 ±0)` + // Estimated: `6723 + r * (3 ±0)` + // Minimum execution time: 242_853_000 picoseconds. + Weight::from_parts(250_429_787, 6723) + // Standard Error: 433 + .saturating_add(Weight::from_parts(139_180, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64const(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_620_000 picoseconds. + Weight::from_parts(1_894_980, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(2_995, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64load(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_716_000 picoseconds. + Weight::from_parts(2_353_783, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_414, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64store(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_735_000 picoseconds. + Weight::from_parts(2_266_096, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_015, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_select(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_698_000 picoseconds. + Weight::from_parts(2_080_936, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(7_921, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_if(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_636_000 picoseconds. + Weight::from_parts(1_913_876, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(10_836, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_br(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_703_000 picoseconds. + Weight::from_parts(1_838_470, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(4_613, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_br_if(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_662_000 picoseconds. + Weight::from_parts(1_744_254, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(7_020, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_br_table(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_621_000 picoseconds. + Weight::from_parts(1_511_579, 0) + // Standard Error: 33 + .saturating_add(Weight::from_parts(9_479, 0).saturating_mul(r.into())) + } + /// The range of component `e` is `[1, 256]`. + fn instr_br_table_per_entry(_e: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_758_000 picoseconds. + Weight::from_parts(2_066_494, 0) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_call(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_690_000 picoseconds. + Weight::from_parts(2_029_755, 0) + // Standard Error: 9 + .saturating_add(Weight::from_parts(17_946, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_call_indirect(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_894_000 picoseconds. + Weight::from_parts(5_533_643, 0) + // Standard Error: 176 + .saturating_add(Weight::from_parts(23_511, 0).saturating_mul(r.into())) + } + /// The range of component `l` is `[0, 1024]`. + fn instr_call_per_local(l: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_756_000 picoseconds. + Weight::from_parts(1_978_038, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_176, 0).saturating_mul(l.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_local_get(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_889_000 picoseconds. + Weight::from_parts(3_181_705, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(2_516, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_local_set(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_871_000 picoseconds. + Weight::from_parts(3_186_198, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_619, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_local_tee(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_890_000 picoseconds. + Weight::from_parts(3_237_380, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(3_963, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_global_get(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_756_000 picoseconds. + Weight::from_parts(2_180_563, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(8_400, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_global_set(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_807_000 picoseconds. + Weight::from_parts(2_247_402, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(8_798, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_memory_current(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_703_000 picoseconds. + Weight::from_parts(2_050_199, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_833, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 16]`. + fn instr_memory_grow(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_686_000 picoseconds. + Weight::from_parts(720_378, 0) + // Standard Error: 141_036 + .saturating_add(Weight::from_parts(13_193_405, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64clz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_654_000 picoseconds. + Weight::from_parts(1_934_279, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(4_049, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ctz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_609_000 picoseconds. + Weight::from_parts(1_938_511, 0) + // Standard Error: 20 + .saturating_add(Weight::from_parts(3_780, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64popcnt(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_634_000 picoseconds. + Weight::from_parts(1_941_109, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(3_770, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eqz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_652_000 picoseconds. + Weight::from_parts(1_939_447, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_666, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendsi32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_637_000 picoseconds. + Weight::from_parts(1_921_355, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_977, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendui32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_668_000 picoseconds. + Weight::from_parts(1_993_872, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(3_809, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i32wrapi64(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_657_000 picoseconds. + Weight::from_parts(1_954_737, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_734, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eq(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_688_000 picoseconds. + Weight::from_parts(1_993_611, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(5_962, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ne(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_662_000 picoseconds. + Weight::from_parts(1_965_361, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_965, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64lts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_679_000 picoseconds. + Weight::from_parts(1_946_910, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_987, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ltu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_650_000 picoseconds. + Weight::from_parts(1_925_830, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_001, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_652_000 picoseconds. + Weight::from_parts(1_984_702, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_817, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gtu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_660_000 picoseconds. + Weight::from_parts(1_978_370, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(6_115, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64les(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_655_000 picoseconds. + Weight::from_parts(2_008_659, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_985, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64leu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_608_000 picoseconds. + Weight::from_parts(1_912_542, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(6_084, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ges(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_644_000 picoseconds. + Weight::from_parts(1_959_896, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_968, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64geu(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6808` - // Minimum execution time: 243_429_000 picoseconds. - Weight::from_parts(234_426_173, 6808) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_653_000 picoseconds. + Weight::from_parts(1_984_715, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_971, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64add(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_610_000 picoseconds. + Weight::from_parts(1_919_305, 0) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(5_877, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_256(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64sub(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6803 + r * (8 ±0)` - // Minimum execution time: 241_277_000 picoseconds. - Weight::from_parts(249_179_982, 6803) - // Standard Error: 635 - .saturating_add(Weight::from_parts(497_309, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_691_000 picoseconds. + Weight::from_parts(2_284_292, 0) + // Standard Error: 16 + .saturating_add(Weight::from_parts(6_027, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64mul(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6812` - // Minimum execution time: 242_654_000 picoseconds. - Weight::from_parts(238_213_063, 6812) - // Standard Error: 2 - .saturating_add(Weight::from_parts(910, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_644_000 picoseconds. + Weight::from_parts(1_960_370, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(5_760, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_128(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divs(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6804 + r * (8 ±0)` - // Minimum execution time: 242_405_000 picoseconds. - Weight::from_parts(244_244_783, 6804) - // Standard Error: 628 - .saturating_add(Weight::from_parts(502_346, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_656_000 picoseconds. + Weight::from_parts(1_915_002, 0) + // Standard Error: 21 + .saturating_add(Weight::from_parts(11_896, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divu(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6806` - // Minimum execution time: 244_080_000 picoseconds. - Weight::from_parts(234_972_989, 6806) - // Standard Error: 1 - .saturating_add(Weight::from_parts(909, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_645_000 picoseconds. + Weight::from_parts(2_952_497, 0) + // Standard Error: 122 + .saturating_add(Weight::from_parts(10_646, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 125697]`. - fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rems(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `991 + n * (1 ±0)` - // Estimated: `6928 + n * (1 ±0)` - // Minimum execution time: 301_859_000 picoseconds. - Weight::from_parts(305_390_229, 6928) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_443, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_669_000 picoseconds. + Weight::from_parts(1_661_488, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(12_330, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_sr25519_verify(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64remu(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `801 + r * (112 ±0)` - // Estimated: `6745 + r * (112 ±0)` - // Minimum execution time: 250_401_000 picoseconds. - Weight::from_parts(257_682_069, 6745) - // Standard Error: 23_114 - .saturating_add(Weight::from_parts(48_240_664, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_650_000 picoseconds. + Weight::from_parts(1_989_633, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(10_649, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_recover(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64and(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `901 + r * (76 ±0)` - // Estimated: `6795 + r * (77 ±0)` - // Minimum execution time: 249_466_000 picoseconds. - Weight::from_parts(266_685_211, 6795) - // Standard Error: 20_091 - .saturating_add(Weight::from_parts(37_913_270, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_715_000 picoseconds. + Weight::from_parts(1_994_636, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_667, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64or(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `871 + r * (42 ±0)` - // Estimated: `6810 + r * (42 ±0)` - // Minimum execution time: 247_024_000 picoseconds. - Weight::from_parts(251_944_650, 6810) - // Standard Error: 9_580 - .saturating_add(Weight::from_parts(9_688_086, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_685_000 picoseconds. + Weight::from_parts(2_075_238, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_743, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1536 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1536 w:1536) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:1538 w:1538) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_set_code_hash(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64xor(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (961 ±0)` - // Estimated: `6801 + r * (3087 ±10)` - // Minimum execution time: 248_461_000 picoseconds. - Weight::from_parts(248_876_000, 6801) - // Standard Error: 48_987 - .saturating_add(Weight::from_parts(23_039_701, 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)) - .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3087).saturating_mul(r.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_649_000 picoseconds. + Weight::from_parts(1_911_373, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_894, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_reentrance_count(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shl(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `852 + r * (3 ±0)` - // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 245_559_000 picoseconds. - Weight::from_parts(249_677_207, 6802) - // Standard Error: 299 - .saturating_add(Weight::from_parts(204_780, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_682_000 picoseconds. + Weight::from_parts(2_000_076, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_932, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_account_reentrance_count(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shrs(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2092 + r * (39 ±0)` - // Estimated: `7919 + r * (40 ±0)` - // Minimum execution time: 249_583_000 picoseconds. - Weight::from_parts(278_918_312, 7919) - // Standard Error: 1_206 - .saturating_add(Weight::from_parts(381_976, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_686_000 picoseconds. + Weight::from_parts(1_999_600, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_129, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_instantiation_nonce(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shru(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `855 + r * (3 ±0)` - // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 244_154_000 picoseconds. - Weight::from_parts(252_444_886, 6802) - // Standard Error: 504 - .saturating_add(Weight::from_parts(181_466, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_628_000 picoseconds. + Weight::from_parts(1_893_440, 0) + // Standard Error: 15 + .saturating_add(Weight::from_parts(5_938, 0).saturating_mul(r.into())) } /// The range of component `r` is `[0, 5000]`. - fn instr_i64const(r: u32, ) -> Weight { + fn instr_i64rotl(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_721_000 picoseconds. + Weight::from_parts(1_982_227, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_008, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rotr(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_449_000 picoseconds. - Weight::from_parts(1_913_474, 0) - // Standard Error: 23 - .saturating_add(Weight::from_parts(8_654, 0).saturating_mul(r.into())) + // Minimum execution time: 1_648_000 picoseconds. + Weight::from_parts(2_003_359, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_875, 0).saturating_mul(r.into())) } } From f0e24c5b9e24a3169ab5612b08c5855dd4895b30 Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Fri, 16 Jun 2023 15:28:32 +0000 Subject: [PATCH 38/70] ".git/.scripts/commands/bench-vm/bench-vm.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 4614 +++++++++++++------------------- 1 file changed, 1830 insertions(+), 2784 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index cbd906a0b213d..231c35b259373 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,9 +18,9 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-05-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -33,7 +33,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/substrate/.git/.artifacts/bench.json +// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json // --pallet=pallet_contracts // --chain=dev // --header=./HEADER-APACHE2 @@ -52,11 +52,10 @@ use core::marker::PhantomData; pub trait WeightInfo { fn on_process_deletion_queue_batch() -> Weight; fn on_initialize_per_trie_key(k: u32, ) -> Weight; - fn reinstrument(c: u32, ) -> Weight; fn v9_migration_step(c: u32, ) -> Weight; fn v10_migration_step() -> Weight; fn v11_migration_step(k: u32, ) -> Weight; - fn v12_migration_step(k: u32, ) -> Weight; + fn v12_migration_step(c: u32, ) -> Weight; fn migration_noop() -> Weight; fn migrate() -> Weight; fn on_runtime_upgrade_noop() -> Weight; @@ -83,7 +82,6 @@ pub trait WeightInfo { fn seal_block_number(r: u32, ) -> Weight; fn seal_now(r: u32, ) -> Weight; fn seal_weight_to_fee(r: u32, ) -> Weight; - fn seal_gas(r: u32, ) -> Weight; fn seal_input(r: u32, ) -> Weight; fn seal_input_per_byte(n: u32, ) -> Weight; fn seal_return(r: u32, ) -> Weight; @@ -128,56 +126,6 @@ pub trait WeightInfo { fn seal_account_reentrance_count(r: u32, ) -> Weight; fn seal_instantiation_nonce(r: u32, ) -> Weight; fn instr_i64const(r: u32, ) -> Weight; - fn instr_i64load(r: u32, ) -> Weight; - fn instr_i64store(r: u32, ) -> Weight; - fn instr_select(r: u32, ) -> Weight; - fn instr_if(r: u32, ) -> Weight; - fn instr_br(r: u32, ) -> Weight; - fn instr_br_if(r: u32, ) -> Weight; - fn instr_br_table(r: u32, ) -> Weight; - fn instr_br_table_per_entry(e: u32, ) -> Weight; - fn instr_call(r: u32, ) -> Weight; - fn instr_call_indirect(r: u32, ) -> Weight; - fn instr_call_per_local(l: u32, ) -> Weight; - fn instr_local_get(r: u32, ) -> Weight; - fn instr_local_set(r: u32, ) -> Weight; - fn instr_local_tee(r: u32, ) -> Weight; - fn instr_global_get(r: u32, ) -> Weight; - fn instr_global_set(r: u32, ) -> Weight; - fn instr_memory_current(r: u32, ) -> Weight; - fn instr_memory_grow(r: u32, ) -> Weight; - fn instr_i64clz(r: u32, ) -> Weight; - fn instr_i64ctz(r: u32, ) -> Weight; - fn instr_i64popcnt(r: u32, ) -> Weight; - fn instr_i64eqz(r: u32, ) -> Weight; - fn instr_i64extendsi32(r: u32, ) -> Weight; - fn instr_i64extendui32(r: u32, ) -> Weight; - fn instr_i32wrapi64(r: u32, ) -> Weight; - fn instr_i64eq(r: u32, ) -> Weight; - fn instr_i64ne(r: u32, ) -> Weight; - fn instr_i64lts(r: u32, ) -> Weight; - fn instr_i64ltu(r: u32, ) -> Weight; - fn instr_i64gts(r: u32, ) -> Weight; - fn instr_i64gtu(r: u32, ) -> Weight; - fn instr_i64les(r: u32, ) -> Weight; - fn instr_i64leu(r: u32, ) -> Weight; - fn instr_i64ges(r: u32, ) -> Weight; - fn instr_i64geu(r: u32, ) -> Weight; - fn instr_i64add(r: u32, ) -> Weight; - fn instr_i64sub(r: u32, ) -> Weight; - fn instr_i64mul(r: u32, ) -> Weight; - fn instr_i64divs(r: u32, ) -> Weight; - fn instr_i64divu(r: u32, ) -> Weight; - fn instr_i64rems(r: u32, ) -> Weight; - fn instr_i64remu(r: u32, ) -> Weight; - fn instr_i64and(r: u32, ) -> Weight; - fn instr_i64or(r: u32, ) -> Weight; - fn instr_i64xor(r: u32, ) -> Weight; - fn instr_i64shl(r: u32, ) -> Weight; - fn instr_i64shrs(r: u32, ) -> Weight; - fn instr_i64shru(r: u32, ) -> Weight; - fn instr_i64rotl(r: u32, ) -> Weight; - fn instr_i64rotr(r: u32, ) -> Weight; } /// Weights for pallet_contracts using the Substrate node and recommended hardware. @@ -187,10 +135,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) fn on_process_deletion_queue_batch() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 2_630_000 picoseconds. - Weight::from_parts(2_778_000, 1594) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 2_605_000 picoseconds. + Weight::from_parts(2_745_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -198,46 +146,29 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `488 + k * (69 ±0)` - // Estimated: `478 + k * (70 ±0)` - // Minimum execution time: 13_453_000 picoseconds. - Weight::from_parts(10_904_078, 478) - // Standard Error: 931 - .saturating_add(Weight::from_parts(982_122, 0).saturating_mul(k.into())) + // Measured: `451 + k * (69 ±0)` + // Estimated: `441 + k * (70 ±0)` + // Minimum execution time: 12_800_000 picoseconds. + Weight::from_parts(13_035_000, 441) + // Standard Error: 1_234 + .saturating_add(Weight::from_parts(1_213_662, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn reinstrument(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `238 + c * (1 ±0)` - // Estimated: `3708 + c * (1 ±0)` - // Minimum execution time: 30_972_000 picoseconds. - Weight::from_parts(31_129_287, 3708) - // Standard Error: 52 - .saturating_add(Weight::from_parts(54_996, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts CodeStorage (r:2 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// The range of component `c` is `[0, 125952]`. fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `178 + c * (1 ±0)` - // Estimated: `6114 + c * (1 ±0)` - // Minimum execution time: 9_696_000 picoseconds. - Weight::from_parts(10_697_026, 6114) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_307, 0).saturating_mul(c.into())) + // Measured: `211 + c * (1 ±0)` + // Estimated: `6149 + c * (1 ±0)` + // Minimum execution time: 8_729_000 picoseconds. + Weight::from_parts(9_244_587, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_321, 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())) @@ -248,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: `544` - // Estimated: `6484` - // Minimum execution time: 18_132_000 picoseconds. - Weight::from_parts(18_842_000, 6484) + // Measured: `548` + // Estimated: `6488` + // Minimum execution time: 17_991_000 picoseconds. + Weight::from_parts(18_671_000, 6488) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -262,41 +193,48 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn v11_migration_step(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 0).saturating_mul(k.into())) + // Measured: `171 + k * (1 ±0)` + // Estimated: `3635 + k * (1 ±0)` + // Minimum execution time: 3_763_000 picoseconds. + Weight::from_parts(2_060_396, 3635) + // Standard Error: 840 + .saturating_add(Weight::from_parts(1_114_194, 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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - - /// Placeholder, should be replaced with new benchmarked weight - fn v12_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:0 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn v12_migration_step(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `378 + c * (2 ±0)` + // Estimated: `6313 + c * (2 ±0)` + // Minimum execution time: 23_244_000 picoseconds. + Weight::from_parts(24_539_262, 6313) + // Standard Error: 2 + .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn migration_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 3_528_000 picoseconds. - Weight::from_parts(3_641_000, 1594) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 3_464_000 picoseconds. + Weight::from_parts(3_537_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -306,10 +244,10 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) fn migrate() -> Weight { // Proof Size summary in bytes: - // Measured: `133` - // Estimated: `3598` - // Minimum execution time: 13_433_000 picoseconds. - Weight::from_parts(13_710_000, 3598) + // Measured: `166` + // Estimated: `3631` + // Minimum execution time: 12_278_000 picoseconds. + Weight::from_parts(12_738_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -317,10 +255,10 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) fn on_runtime_upgrade_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 5_502_000 picoseconds. - Weight::from_parts(5_689_000, 3574) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 4_863_000 picoseconds. + Weight::from_parts(5_231_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -329,10 +267,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn on_runtime_upgrade_in_progress() -> Weight { // Proof Size summary in bytes: - // Measured: `134` - // Estimated: `3599` - // Minimum execution time: 7_846_000 picoseconds. - Weight::from_parts(8_078_000, 3599) + // Measured: `167` + // Estimated: `3632` + // Minimum execution time: 6_856_000 picoseconds. + Weight::from_parts(7_354_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -341,10 +279,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn on_runtime_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 8_390_000 picoseconds. - Weight::from_parts(8_602_000, 3574) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 7_244_000 picoseconds. + Weight::from_parts(7_639_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -352,8 +290,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -363,20 +303,20 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 125952]`. fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `707` - // Estimated: `6656 + c * (1 ±0)` - // Minimum execution time: 280_993_000 picoseconds. - Weight::from_parts(289_622_441, 6656) - // Standard Error: 26 - .saturating_add(Weight::from_parts(38_061, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `788` + // Estimated: `6737 + c * (1 ±0)` + // Minimum execution time: 293_252_000 picoseconds. + Weight::from_parts(314_429_497, 6737) + // Standard Error: 41 + .saturating_add(Weight::from_parts(37_437, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -387,32 +327,32 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// The range of component `c` is `[0, 125952]`. /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `270` - // Estimated: `8659` - // Minimum execution time: 3_136_130_000 picoseconds. - Weight::from_parts(568_808_049, 8659) - // Standard Error: 288 - .saturating_add(Weight::from_parts(108_649, 0).saturating_mul(c.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(i.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_502, 0).saturating_mul(s.into())) + // Measured: `303` + // Estimated: `8745` + // Minimum execution time: 3_746_399_000 picoseconds. + Weight::from_parts(601_624_680, 8745) + // Standard Error: 266 + .saturating_add(Weight::from_parts(77_175, 0).saturating_mul(c.into())) + // Standard Error: 32 + .saturating_add(Weight::from_parts(1_536, 0).saturating_mul(i.into())) + // Standard Error: 32 + .saturating_add(Weight::from_parts(1_852, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(10_u64)) + .saturating_add(T::DbWeight::get().writes(9_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -421,22 +361,20 @@ impl WeightInfo for SubstrateWeight { /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:2 w:2) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `482` - // Estimated: `6408` - // Minimum execution time: 1_655_107_000 picoseconds. - Weight::from_parts(266_843_437, 6408) + // Measured: `505` + // Estimated: `6431` + // Minimum execution time: 1_961_943_000 picoseconds. + Weight::from_parts(415_963_957, 6431) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_463, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_635, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_458, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_637, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -444,8 +382,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -454,68 +394,64 @@ impl WeightInfo for SubstrateWeight { /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn call() -> Weight { // Proof Size summary in bytes: - // Measured: `759` - // Estimated: `6699` - // Minimum execution time: 197_684_000 picoseconds. - Weight::from_parts(199_222_000, 6699) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `840` + // Estimated: `6780` + // Minimum execution time: 192_171_000 picoseconds. + Weight::from_parts(201_274_000, 6780) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// The range of component `c` is `[0, 125952]`. fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 254_766_000 picoseconds. - Weight::from_parts(247_865_224, 3574) - // Standard Error: 146 - .saturating_add(Weight::from_parts(108_830, 0).saturating_mul(c.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 260_570_000 picoseconds. + Weight::from_parts(257_960_229, 3607) + // Standard Error: 136 + .saturating_add(Weight::from_parts(76_620, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) fn remove_code() -> Weight { // Proof Size summary in bytes: - // Measured: `255` - // Estimated: `3720` - // Minimum execution time: 36_038_000 picoseconds. - Weight::from_parts(36_503_000, 3720) + // Measured: `257` + // Estimated: `3722` + // Minimum execution time: 33_893_000 picoseconds. + Weight::from_parts(34_921_000, 3722) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:2 w:2) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:2) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `570` - // Estimated: `8985` - // Minimum execution time: 35_312_000 picoseconds. - Weight::from_parts(35_852_000, 8985) + // Measured: `579` + // Estimated: `8994` + // Minimum execution time: 37_625_000 picoseconds. + Weight::from_parts(38_404_000, 8994) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -525,8 +461,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -534,13 +472,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `781 + r * (6 ±0)` - // Estimated: `6722 + r * (6 ±0)` - // Minimum execution time: 241_668_000 picoseconds. - Weight::from_parts(256_167_627, 6722) - // Standard Error: 2_447 - .saturating_add(Weight::from_parts(328_424, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `862 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 267_999_000 picoseconds. + Weight::from_parts(279_789_385, 6803) + // Standard Error: 730 + .saturating_add(Weight::from_parts(351_857, 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())) } @@ -550,8 +488,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -559,13 +499,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `839 + r * (240 ±0)` - // Estimated: `6743 + r * (2715 ±0)` - // Minimum execution time: 242_353_000 picoseconds. - Weight::from_parts(82_743_116, 6743) - // Standard Error: 6_271 - .saturating_add(Weight::from_parts(3_331_316, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `920 + r * (240 ±0)` + // Estimated: `6824 + r * (2715 ±0)` + // Minimum execution time: 266_491_000 picoseconds. + Weight::from_parts(123_744_536, 6824) + // Standard Error: 6_430 + .saturating_add(Weight::from_parts(3_652_658, 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)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -576,8 +516,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -585,13 +527,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `831 + r * (244 ±0)` - // Estimated: `6747 + r * (2719 ±0)` - // Minimum execution time: 243_370_000 picoseconds. - Weight::from_parts(77_198_453, 6747) - // Standard Error: 6_968 - .saturating_add(Weight::from_parts(4_162_946, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `912 + r * (244 ±0)` + // Estimated: `6828 + r * (2719 ±0)` + // Minimum execution time: 271_010_000 picoseconds. + Weight::from_parts(132_741_373, 6828) + // Standard Error: 6_201 + .saturating_add(Weight::from_parts(4_501_953, 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)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -602,8 +544,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -611,13 +555,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `788 + r * (6 ±0)` - // Estimated: `6730 + r * (6 ±0)` - // Minimum execution time: 244_083_000 picoseconds. - Weight::from_parts(239_899_316, 6730) - // Standard Error: 5_254 - .saturating_add(Weight::from_parts(423_863, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `869 + r * (6 ±0)` + // Estimated: `6811 + r * (6 ±0)` + // Minimum execution time: 256_823_000 picoseconds. + Weight::from_parts(278_370_824, 6811) + // Standard Error: 863 + .saturating_add(Weight::from_parts(435_881, 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())) } @@ -627,8 +571,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -636,13 +582,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 239_835_000 picoseconds. - Weight::from_parts(247_929_454, 6723) - // Standard Error: 2_309 - .saturating_add(Weight::from_parts(169_642, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `859 + r * (3 ±0)` + // Estimated: `6804 + r * (3 ±0)` + // Minimum execution time: 262_446_000 picoseconds. + Weight::from_parts(284_083_856, 6804) + // Standard Error: 478 + .saturating_add(Weight::from_parts(187_672, 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())) } @@ -650,8 +596,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -659,13 +607,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `668 + r * (3 ±0)` - // Estimated: `6608 + r * (3 ±0)` - // Minimum execution time: 229_091_000 picoseconds. - Weight::from_parts(235_369_797, 6608) - // Standard Error: 283 - .saturating_add(Weight::from_parts(146_485, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(6_u64)) + // Measured: `749 + r * (3 ±0)` + // Estimated: `6689 + r * (3 ±0)` + // Minimum execution time: 252_545_000 picoseconds. + Weight::from_parts(270_575_124, 6689) + // Standard Error: 382 + .saturating_add(Weight::from_parts(168_970, 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())) } @@ -675,8 +623,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -684,13 +634,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `782 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_638_000 picoseconds. - Weight::from_parts(245_890_126, 6724) - // Standard Error: 508 - .saturating_add(Weight::from_parts(323_232, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `863 + r * (6 ±0)` + // Estimated: `6805 + r * (6 ±0)` + // Minimum execution time: 258_254_000 picoseconds. + Weight::from_parts(279_322_090, 6805) + // Standard Error: 928 + .saturating_add(Weight::from_parts(341_286, 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())) } @@ -700,8 +650,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -709,13 +661,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6719 + r * (6 ±0)` - // Minimum execution time: 241_740_000 picoseconds. - Weight::from_parts(244_490_855, 6719) - // Standard Error: 1_872 - .saturating_add(Weight::from_parts(543_651, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6800 + r * (6 ±0)` + // Minimum execution time: 267_524_000 picoseconds. + Weight::from_parts(298_856_486, 6800) + // Standard Error: 2_321 + .saturating_add(Weight::from_parts(531_545, 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())) } @@ -725,8 +677,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -734,13 +688,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `922 + r * (6 ±0)` - // Estimated: `6846 + r * (6 ±0)` - // Minimum execution time: 241_787_000 picoseconds. - Weight::from_parts(243_819_464, 6846) - // Standard Error: 5_017 - .saturating_add(Weight::from_parts(1_496_444, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1003 + r * (6 ±0)` + // Estimated: `6927 + r * (6 ±0)` + // Minimum execution time: 263_587_000 picoseconds. + Weight::from_parts(288_057_110, 6927) + // Standard Error: 1_764 + .saturating_add(Weight::from_parts(1_536_757, 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())) } @@ -750,8 +704,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -759,13 +715,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (6 ±0)` - // Estimated: `6741 + r * (6 ±0)` - // Minimum execution time: 243_498_000 picoseconds. - Weight::from_parts(251_019_668, 6741) - // Standard Error: 1_479 - .saturating_add(Weight::from_parts(318_979, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `873 + r * (6 ±0)` + // Estimated: `6822 + r * (6 ±0)` + // Minimum execution time: 272_821_000 picoseconds. + Weight::from_parts(281_694_459, 6822) + // Standard Error: 707 + .saturating_add(Weight::from_parts(337_791, 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())) } @@ -775,8 +731,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -784,13 +742,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `790 + r * (6 ±0)` - // Estimated: `6739 + r * (6 ±0)` - // Minimum execution time: 242_572_000 picoseconds. - Weight::from_parts(246_453_396, 6739) - // Standard Error: 978 - .saturating_add(Weight::from_parts(320_095, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `871 + r * (6 ±0)` + // Estimated: `6820 + r * (6 ±0)` + // Minimum execution time: 269_144_000 picoseconds. + Weight::from_parts(286_733_568, 6820) + // Standard Error: 632 + .saturating_add(Weight::from_parts(326_852, 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())) } @@ -800,8 +758,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -809,13 +769,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787 + r * (6 ±0)` - // Estimated: `6737 + r * (6 ±0)` - // Minimum execution time: 241_872_000 picoseconds. - Weight::from_parts(257_272_904, 6737) - // Standard Error: 4_146 - .saturating_add(Weight::from_parts(314_645, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `868 + r * (6 ±0)` + // Estimated: `6818 + r * (6 ±0)` + // Minimum execution time: 264_898_000 picoseconds. + Weight::from_parts(278_289_181, 6818) + // Standard Error: 727 + .saturating_add(Weight::from_parts(339_198, 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,8 +785,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -834,13 +796,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6723 + r * (6 ±0)` - // Minimum execution time: 242_139_000 picoseconds. - Weight::from_parts(244_667_764, 6723) - // Standard Error: 580 - .saturating_add(Weight::from_parts(323_005, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6804 + r * (6 ±0)` + // Minimum execution time: 271_716_000 picoseconds. + Weight::from_parts(283_955_388, 6804) + // Standard Error: 625 + .saturating_add(Weight::from_parts(334_417, 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())) } @@ -850,8 +812,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -861,13 +825,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `852 + r * (14 ±0)` - // Estimated: `6785 + r * (14 ±0)` - // Minimum execution time: 242_370_000 picoseconds. - Weight::from_parts(247_330_421, 6785) - // Standard Error: 1_832 - .saturating_add(Weight::from_parts(1_396_737, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `933 + r * (14 ±0)` + // Estimated: `6866 + r * (14 ±0)` + // Minimum execution time: 257_860_000 picoseconds. + Weight::from_parts(293_075_400, 6866) + // Standard Error: 828 + .saturating_add(Weight::from_parts(1_446_598, 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())) } @@ -877,33 +841,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_gas(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `745 + r * (4 ±0)` - // Estimated: `6687 + r * (4 ±0)` - // Minimum execution time: 167_583_000 picoseconds. - Weight::from_parts(173_694_884, 6687) - // Standard Error: 2_880 - .saturating_add(Weight::from_parts(133_811, 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, 4).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -911,13 +852,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `780 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_932_000 picoseconds. - Weight::from_parts(246_356_239, 6724) - // Standard Error: 479 - .saturating_add(Weight::from_parts(268_456, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `861 + r * (6 ±0)` + // Estimated: `6805 + r * (6 ±0)` + // Minimum execution time: 260_552_000 picoseconds. + Weight::from_parts(286_564_683, 6805) + // Standard Error: 491 + .saturating_add(Weight::from_parts(287_186, 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())) } @@ -927,8 +868,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -936,13 +879,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `784` - // Estimated: `6724` - // Minimum execution time: 245_611_000 picoseconds. - Weight::from_parts(246_102_856, 6724) - // Standard Error: 1 - .saturating_add(Weight::from_parts(596, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `865` + // Estimated: `6805` + // Minimum execution time: 262_067_000 picoseconds. + Weight::from_parts(227_191_236, 6805) + // Standard Error: 24 + .saturating_add(Weight::from_parts(988, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -951,8 +894,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -960,13 +905,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `768 + r * (45 ±0)` - // Estimated: `6708 + r * (45 ±0)` - // Minimum execution time: 238_764_000 picoseconds. - Weight::from_parts(241_225_075, 6708) - // Standard Error: 196_899 - .saturating_add(Weight::from_parts(3_361_624, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `849 + r * (45 ±0)` + // Estimated: `6789 + r * (45 ±0)` + // Minimum execution time: 250_995_000 picoseconds. + Weight::from_parts(276_061_469, 6789) + // Standard Error: 848_490 + .saturating_add(Weight::from_parts(3_158_930, 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())) } @@ -976,8 +921,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -985,13 +932,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778` - // Estimated: `6731` - // Minimum execution time: 243_075_000 picoseconds. - Weight::from_parts(244_139_227, 6731) + // Measured: `859` + // Estimated: `6812` + // Minimum execution time: 268_616_000 picoseconds. + Weight::from_parts(281_133_770, 6812) // Standard Error: 0 - .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(322, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1000,14 +947,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -1015,17 +962,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (356 ±0)` - // Estimated: `6750 + r * (7781 ±0)` - // Minimum execution time: 241_330_000 picoseconds. - Weight::from_parts(244_187_673, 6750) - // Standard Error: 473_741 - .saturating_add(Weight::from_parts(117_358_926, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) + // Measured: `891 + r * (300 ±0)` + // Estimated: `6831 + r * (7725 ±0)` + // Minimum execution time: 253_638_000 picoseconds. + Weight::from_parts(280_626_938, 6831) + // Standard Error: 881_658 + .saturating_add(Weight::from_parts(125_804_461, 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)) .saturating_add(T::DbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1033,8 +980,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -1044,13 +993,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (10 ±0)` - // Estimated: `6769 + r * (10 ±0)` - // Minimum execution time: 243_298_000 picoseconds. - Weight::from_parts(246_393_253, 6769) - // Standard Error: 4_125 - .saturating_add(Weight::from_parts(1_876_317, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `940 + r * (10 ±0)` + // Estimated: `6881 + r * (10 ±0)` + // Minimum execution time: 264_610_000 picoseconds. + Weight::from_parts(285_295_004, 6881) + // Standard Error: 3_606 + .saturating_add(Weight::from_parts(1_887_236, 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())) } @@ -1060,8 +1009,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1069,13 +1020,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (10 ±0)` - // Estimated: `6723 + r * (10 ±0)` - // Minimum execution time: 240_477_000 picoseconds. - Weight::from_parts(252_579_330, 6723) - // Standard Error: 1_993 - .saturating_add(Weight::from_parts(3_510_388, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `859 + r * (10 ±0)` + // Estimated: `6804 + r * (10 ±0)` + // Minimum execution time: 254_995_000 picoseconds. + Weight::from_parts(282_088_329, 6804) + // Standard Error: 3_537 + .saturating_add(Weight::from_parts(3_705_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, 10).saturating_mul(r.into())) } @@ -1085,8 +1036,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -1095,15 +1048,15 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `797 + t * (32 ±0)` - // Estimated: `6744 + t * (2508 ±0)` - // Minimum execution time: 259_029_000 picoseconds. - Weight::from_parts(252_262_484, 6744) - // Standard Error: 35_710 - .saturating_add(Weight::from_parts(2_236_764, 0).saturating_mul(t.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(648, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `878 + t * (32 ±0)` + // Estimated: `6825 + t * (2508 ±0)` + // Minimum execution time: 274_294_000 picoseconds. + Weight::from_parts(288_179_122, 6825) + // Standard Error: 100_930 + .saturating_add(Weight::from_parts(3_477_887, 0).saturating_mul(t.into())) + // Standard Error: 28 + .saturating_add(Weight::from_parts(616, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -1115,8 +1068,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1124,13 +1079,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `777 + r * (7 ±0)` - // Estimated: `6721 + r * (7 ±0)` - // Minimum execution time: 170_544_000 picoseconds. - Weight::from_parts(174_555_287, 6721) - // Standard Error: 320 - .saturating_add(Weight::from_parts(233_911, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (7 ±0)` + // Estimated: `6802 + r * (7 ±0)` + // Minimum execution time: 166_001_000 picoseconds. + Weight::from_parts(179_843_482, 6802) + // Standard Error: 427 + .saturating_add(Weight::from_parts(250_454, 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())) } @@ -1140,8 +1095,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -1149,13 +1106,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125728` - // Estimated: `131670` - // Minimum execution time: 357_160_000 picoseconds. - Weight::from_parts(359_930_328, 131670) - // Standard Error: 1 - .saturating_add(Weight::from_parts(738, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `125809` + // Estimated: `131751` + // Minimum execution time: 530_321_000 picoseconds. + Weight::from_parts(500_509_784, 131751) + // Standard Error: 12 + .saturating_add(Weight::from_parts(1_034, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1163,13 +1120,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `845 + r * (292 ±0)` - // Estimated: `843 + r * (293 ±0)` - // Minimum execution time: 242_846_000 picoseconds. - Weight::from_parts(135_611_732, 843) - // Standard Error: 10_708 - .saturating_add(Weight::from_parts(6_146_995, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `926 + r * (292 ±0)` + // Estimated: `924 + r * (293 ±0)` + // Minimum execution time: 260_457_000 picoseconds. + Weight::from_parts(185_350_892, 924) + // Standard Error: 10_373 + .saturating_add(Weight::from_parts(6_922_211, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1180,13 +1137,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1304` - // Estimated: `1280` - // Minimum execution time: 258_885_000 picoseconds. - Weight::from_parts(292_699_689, 1280) - // Standard Error: 47 - .saturating_add(Weight::from_parts(433, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1385` + // Estimated: `1361` + // Minimum execution time: 289_613_000 picoseconds. + Weight::from_parts(332_400_786, 1361) + // Standard Error: 60 + .saturating_add(Weight::from_parts(781, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1194,11 +1151,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1167 + n * (1 ±0)` - // Estimated: `1167 + n * (1 ±0)` - // Minimum execution time: 258_297_000 picoseconds. - Weight::from_parts(262_380_805, 1167) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1248 + n * (1 ±0)` + // Estimated: `1248 + n * (1 ±0)` + // Minimum execution time: 275_133_000 picoseconds. + Weight::from_parts(301_144_154, 1248) + // Standard Error: 30 + .saturating_add(Weight::from_parts(48, 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())) } @@ -1207,13 +1166,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `841 + r * (288 ±0)` - // Estimated: `845 + r * (289 ±0)` - // Minimum execution time: 242_945_000 picoseconds. - Weight::from_parts(126_721_339, 845) - // Standard Error: 11_891 - .saturating_add(Weight::from_parts(6_134_319, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `922 + r * (288 ±0)` + // Estimated: `926 + r * (289 ±0)` + // Minimum execution time: 254_967_000 picoseconds. + Weight::from_parts(194_626_982, 926) + // Standard Error: 9_677 + .saturating_add(Weight::from_parts(6_789_131, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1224,13 +1183,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1163 + n * (1 ±0)` - // Estimated: `1163 + n * (1 ±0)` - // Minimum execution time: 259_872_000 picoseconds. - Weight::from_parts(259_910_037, 1163) - // Standard Error: 142 - .saturating_add(Weight::from_parts(629, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1244 + n * (1 ±0)` + // Estimated: `1244 + n * (1 ±0)` + // Minimum execution time: 280_961_000 picoseconds. + Weight::from_parts(306_621_234, 1244) + // Standard Error: 34 + .saturating_add(Weight::from_parts(135, 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())) } @@ -1239,13 +1198,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `835 + r * (296 ±0)` - // Estimated: `840 + r * (297 ±0)` - // Minimum execution time: 245_005_000 picoseconds. - Weight::from_parts(155_891_939, 840) - // Standard Error: 9_938 - .saturating_add(Weight::from_parts(4_992_231, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `916 + r * (296 ±0)` + // Estimated: `921 + r * (297 ±0)` + // Minimum execution time: 265_957_000 picoseconds. + Weight::from_parts(210_031_762, 921) + // Standard Error: 8_722 + .saturating_add(Weight::from_parts(5_589_002, 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)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -1255,13 +1214,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1179 + n * (1 ±0)` - // Estimated: `1179 + n * (1 ±0)` - // Minimum execution time: 257_926_000 picoseconds. - Weight::from_parts(261_438_340, 1179) - // Standard Error: 24 - .saturating_add(Weight::from_parts(659, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1260 + n * (1 ±0)` + // Estimated: `1260 + n * (1 ±0)` + // Minimum execution time: 271_374_000 picoseconds. + Weight::from_parts(294_055_353, 1260) + // Standard Error: 34 + .saturating_add(Weight::from_parts(1_068, 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())) } @@ -1270,13 +1229,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (288 ±0)` - // Estimated: `857 + r * (289 ±0)` - // Minimum execution time: 244_392_000 picoseconds. - Weight::from_parts(156_243_434, 857) - // Standard Error: 8_716 - .saturating_add(Weight::from_parts(4_813_682, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `937 + r * (288 ±0)` + // Estimated: `938 + r * (289 ±0)` + // Minimum execution time: 270_971_000 picoseconds. + Weight::from_parts(209_549_997, 938) + // Standard Error: 7_478 + .saturating_add(Weight::from_parts(5_431_110, 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)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -1286,13 +1245,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1166 + n * (1 ±0)` - // Estimated: `1166 + n * (1 ±0)` - // Minimum execution time: 255_731_000 picoseconds. - Weight::from_parts(258_937_245, 1166) - // Standard Error: 26 - .saturating_add(Weight::from_parts(61, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1247 + n * (1 ±0)` + // Estimated: `1247 + n * (1 ±0)` + // Minimum execution time: 269_759_000 picoseconds. + Weight::from_parts(297_511_975, 1247) + // Standard Error: 37 + .saturating_add(Weight::from_parts(13, 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())) } @@ -1301,13 +1260,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `829 + r * (296 ±0)` - // Estimated: `836 + r * (297 ±0)` - // Minimum execution time: 242_902_000 picoseconds. - Weight::from_parts(140_670_703, 836) - // Standard Error: 10_042 - .saturating_add(Weight::from_parts(6_206_728, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `910 + r * (296 ±0)` + // Estimated: `917 + r * (297 ±0)` + // Minimum execution time: 259_076_000 picoseconds. + Weight::from_parts(184_153_810, 917) + // Standard Error: 10_139 + .saturating_add(Weight::from_parts(6_931_877, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1318,13 +1277,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1180 + n * (1 ±0)` - // Estimated: `1180 + n * (1 ±0)` - // Minimum execution time: 258_425_000 picoseconds. - Weight::from_parts(266_011_498, 1180) - // Standard Error: 137 - .saturating_add(Weight::from_parts(383, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1261 + n * (1 ±0)` + // Estimated: `1261 + n * (1 ±0)` + // Minimum execution time: 280_320_000 picoseconds. + Weight::from_parts(305_804_479, 1261) + // Standard Error: 47 + .saturating_add(Weight::from_parts(668, 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())) } @@ -1334,8 +1293,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1343,13 +1304,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1373 + r * (45 ±0)` - // Estimated: `7270 + r * (2520 ±0)` - // Minimum execution time: 243_533_000 picoseconds. - Weight::from_parts(67_275_548, 7270) - // Standard Error: 29_687 - .saturating_add(Weight::from_parts(36_086_917, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1454 + r * (45 ±0)` + // Estimated: `7351 + r * (2520 ±0)` + // Minimum execution time: 274_387_000 picoseconds. + Weight::from_parts(188_676_452, 7351) + // Standard Error: 24_693 + .saturating_add(Weight::from_parts(37_632_538, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1361,8 +1322,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -1370,13 +1333,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1140 + r * (276 ±0)` - // Estimated: `9332 + r * (2752 ±0)` - // Minimum execution time: 246_206_000 picoseconds. - Weight::from_parts(246_946_000, 9332) - // Standard Error: 74_648 - .saturating_add(Weight::from_parts(217_429_651, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1300 + r * (276 ±0)` + // Estimated: `9485 + r * (2752 ±0)` + // Minimum execution time: 267_317_000 picoseconds. + Weight::from_parts(276_871_000, 9485) + // Standard Error: 110_186 + .saturating_add(Weight::from_parts(244_868_028, 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)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -1388,8 +1351,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:736 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:736 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:736 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -1397,17 +1362,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (502 ±0)` - // Estimated: `6727 + r * (2572 ±10)` - // Minimum execution time: 245_170_000 picoseconds. - Weight::from_parts(245_460_000, 6727) - // Standard Error: 110_429 - .saturating_add(Weight::from_parts(212_316_013, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (574 ±0)` + // Estimated: `6808 + r * (2635 ±3)` + // Minimum execution time: 262_230_000 picoseconds. + Weight::from_parts(278_788_000, 6808) + // Standard Error: 209_557 + .saturating_add(Weight::from_parts(242_679_046, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2635).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1415,8 +1380,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -1425,15 +1392,15 @@ 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: `1154 + t * (204 ±0)` - // Estimated: `12044 + t * (5154 ±0)` - // Minimum execution time: 424_523_000 picoseconds. - Weight::from_parts(392_267_161, 12044) - // Standard Error: 956_686 - .saturating_add(Weight::from_parts(36_399_297, 0).saturating_mul(t.into())) - // Standard Error: 1 - .saturating_add(Weight::from_parts(600, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(11_u64)) + // Measured: `1312 + t * (204 ±0)` + // Estimated: `12202 + t * (5154 ±0)` + // Minimum execution time: 450_917_000 picoseconds. + Weight::from_parts(56_401_936, 12202) + // Standard Error: 12_036_426 + .saturating_add(Weight::from_parts(368_521_161, 0).saturating_mul(t.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(992, 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()))) @@ -1445,30 +1412,30 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:801 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:801 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:801 w:800) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:800 w:800) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1322 + r * (254 ±0)` - // Estimated: `7146 + r * (5205 ±0)` - // Minimum execution time: 582_323_000 picoseconds. - Weight::from_parts(584_276_000, 7146) - // Standard Error: 280_418 - .saturating_add(Weight::from_parts(349_510_405, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1385 + r * (253 ±0)` + // Estimated: `7209 + r * (5204 ±0)` + // Minimum execution time: 651_367_000 picoseconds. + Weight::from_parts(657_372_000, 7209) + // Standard Error: 534_972 + .saturating_add(Weight::from_parts(393_175_303, 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)) .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5204).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1476,14 +1443,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `t` is `[0, 1]`. @@ -1491,17 +1458,15 @@ 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: `1071 + t * (187 ±0)` - // Estimated: `9492 + t * (2634 ±2)` - // Minimum execution time: 1_627_228_000 picoseconds. - Weight::from_parts(358_838_236, 9492) - // Standard Error: 4_785_521 - .saturating_add(Weight::from_parts(114_920_186, 0).saturating_mul(t.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_163, 0).saturating_mul(i.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(14_u64)) + // Measured: `1135 + t * (187 ±0)` + // Estimated: `9556 + t * (2634 ±2)` + // Minimum execution time: 2_289_113_000 picoseconds. + Weight::from_parts(1_477_704_357, 9556) + // Standard Error: 21 + .saturating_add(Weight::from_parts(894, 0).saturating_mul(i.into())) + // Standard Error: 21 + .saturating_add(Weight::from_parts(1_035, 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()))) @@ -1513,8 +1478,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1522,13 +1489,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `777 + r * (8 ±0)` - // Estimated: `6718 + r * (8 ±0)` - // Minimum execution time: 239_228_000 picoseconds. - Weight::from_parts(245_525_858, 6718) - // Standard Error: 1_774 - .saturating_add(Weight::from_parts(578_001, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6799 + r * (8 ±0)` + // Minimum execution time: 272_938_000 picoseconds. + Weight::from_parts(283_479_443, 6799) + // Standard Error: 604 + .saturating_add(Weight::from_parts(396_395, 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())) } @@ -1538,8 +1505,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1547,13 +1516,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `785` - // Estimated: `6725` - // Minimum execution time: 241_876_000 picoseconds. - Weight::from_parts(240_629_797, 6725) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_947, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `866` + // Estimated: `6806` + // Minimum execution time: 278_131_000 picoseconds. + Weight::from_parts(265_385_985, 6806) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_104, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1562,8 +1531,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1571,13 +1542,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6721 + r * (8 ±0)` - // Minimum execution time: 239_345_000 picoseconds. - Weight::from_parts(245_512_118, 6721) - // Standard Error: 771 - .saturating_add(Weight::from_parts(735_528, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `860 + r * (8 ±0)` + // Estimated: `6802 + r * (8 ±0)` + // Minimum execution time: 265_307_000 picoseconds. + Weight::from_parts(282_844_558, 6802) + // Standard Error: 527 + .saturating_add(Weight::from_parts(790_013, 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())) } @@ -1587,8 +1558,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1596,13 +1569,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6729` - // Minimum execution time: 242_741_000 picoseconds. - Weight::from_parts(232_209_398, 6729) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_099, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `868` + // Estimated: `6810` + // Minimum execution time: 260_803_000 picoseconds. + Weight::from_parts(277_817_420, 6810) + // Standard Error: 1 + .saturating_add(Weight::from_parts(3_312, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1611,8 +1584,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1620,13 +1595,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6724 + r * (8 ±0)` - // Minimum execution time: 239_254_000 picoseconds. - Weight::from_parts(244_250_047, 6724) - // Standard Error: 2_223 - .saturating_add(Weight::from_parts(421_533, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `860 + r * (8 ±0)` + // Estimated: `6805 + r * (8 ±0)` + // Minimum execution time: 253_765_000 picoseconds. + Weight::from_parts(285_464_466, 6805) + // Standard Error: 603 + .saturating_add(Weight::from_parts(453_494, 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())) } @@ -1636,8 +1611,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1645,13 +1622,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6733` - // Minimum execution time: 240_848_000 picoseconds. - Weight::from_parts(239_049_162, 6733) - // Standard Error: 3 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `868` + // Estimated: `6814` + // Minimum execution time: 269_004_000 picoseconds. + Weight::from_parts(274_535_144, 6814) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_196, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1660,8 +1637,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1669,13 +1648,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6725 + r * (8 ±0)` - // Minimum execution time: 240_496_000 picoseconds. - Weight::from_parts(245_279_278, 6725) - // Standard Error: 1_047 - .saturating_add(Weight::from_parts(414_108, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `860 + r * (8 ±0)` + // Estimated: `6806 + r * (8 ±0)` + // Minimum execution time: 261_878_000 picoseconds. + Weight::from_parts(283_648_022, 6806) + // Standard Error: 603 + .saturating_add(Weight::from_parts(450_348, 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())) } @@ -1685,8 +1664,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1694,13 +1675,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6727` - // Minimum execution time: 241_529_000 picoseconds. - Weight::from_parts(234_715_148, 6727) + // Measured: `868` + // Estimated: `6808` + // Minimum execution time: 267_613_000 picoseconds. + Weight::from_parts(274_975_686, 6808) // Standard Error: 1 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .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)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1709,8 +1690,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1718,13 +1701,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 125697]`. fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `912 + n * (1 ±0)` - // Estimated: `6849 + n * (1 ±0)` - // Minimum execution time: 294_982_000 picoseconds. - Weight::from_parts(299_613_855, 6849) - // Standard Error: 7 - .saturating_add(Weight::from_parts(4_668, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `993 + n * (1 ±0)` + // Estimated: `6930 + n * (1 ±0)` + // Minimum execution time: 340_592_000 picoseconds. + Weight::from_parts(349_921_322, 6930) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_901, 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())) } @@ -1734,8 +1717,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1743,13 +1728,13 @@ 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: `726 + r * (112 ±0)` - // Estimated: `6666 + r * (112 ±0)` - // Minimum execution time: 242_583_000 picoseconds. - Weight::from_parts(251_860_767, 6666) - // Standard Error: 24_034 - .saturating_add(Weight::from_parts(48_144_071, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `807 + r * (112 ±0)` + // Estimated: `6747 + r * (112 ±0)` + // Minimum execution time: 266_674_000 picoseconds. + Weight::from_parts(326_772_820, 6747) + // Standard Error: 12_353 + .saturating_add(Weight::from_parts(56_640_768, 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())) } @@ -1759,8 +1744,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1768,13 +1755,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `822 + r * (76 ±0)` - // Estimated: `6716 + r * (77 ±0)` - // Minimum execution time: 242_331_000 picoseconds. - Weight::from_parts(254_816_298, 6716) - // Standard Error: 17_941 - .saturating_add(Weight::from_parts(37_725_489, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `903 + r * (76 ±0)` + // Estimated: `6798 + r * (77 ±0)` + // Minimum execution time: 270_817_000 picoseconds. + Weight::from_parts(339_911_259, 6798) + // Standard Error: 15_003 + .saturating_add(Weight::from_parts(46_101_370, 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,8 +1771,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1793,13 +1782,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (42 ±0)` - // Estimated: `6731 + r * (42 ±0)` - // Minimum execution time: 242_951_000 picoseconds. - Weight::from_parts(246_055_289, 6731) - // Standard Error: 10_074 - .saturating_add(Weight::from_parts(9_421_877, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `873 + r * (42 ±0)` + // Estimated: `6812 + r * (42 ±0)` + // Minimum execution time: 257_430_000 picoseconds. + Weight::from_parts(304_271_990, 6812) + // Standard Error: 9_478 + .saturating_add(Weight::from_parts(12_026_428, 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())) } @@ -1809,28 +1798,28 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1536 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1536 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1536 w:1536) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (964 ±0)` - // Estimated: `8190 + r * (3090 ±7)` - // Minimum execution time: 245_310_000 picoseconds. - Weight::from_parts(245_703_000, 8190) - // Standard Error: 45_813 - .saturating_add(Weight::from_parts(21_837_058, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `0 + r * (963 ±0)` + // Estimated: `6803 + r * (3089 ±7)` + // Minimum execution time: 270_428_000 picoseconds. + Weight::from_parts(276_490_000, 6803) + // Standard Error: 57_312 + .saturating_add(Weight::from_parts(24_895_924, 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)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 3089).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1838,8 +1827,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1847,13 +1838,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `773 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 241_955_000 picoseconds. - Weight::from_parts(246_148_234, 6723) - // Standard Error: 384 - .saturating_add(Weight::from_parts(162_123, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `854 + r * (3 ±0)` + // Estimated: `6804 + r * (3 ±0)` + // Minimum execution time: 263_322_000 picoseconds. + Weight::from_parts(282_334_093, 6804) + // Standard Error: 388 + .saturating_add(Weight::from_parts(178_061, 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())) } @@ -1863,8 +1854,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1872,13 +1865,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1975 + r * (39 ±0)` - // Estimated: `7805 + r * (40 ±0)` - // Minimum execution time: 243_928_000 picoseconds. - Weight::from_parts(276_404_668, 7805) - // Standard Error: 1_263 - .saturating_add(Weight::from_parts(262_830, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `2094 + r * (39 ±0)` + // Estimated: `7921 + r * (40 ±0)` + // Minimum execution time: 259_656_000 picoseconds. + Weight::from_parts(324_284_841, 7921) + // Standard Error: 1_102 + .saturating_add(Weight::from_parts(346_233, 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())) } @@ -1888,8 +1881,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) @@ -1899,13 +1894,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `776 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 242_853_000 picoseconds. - Weight::from_parts(250_429_787, 6723) - // Standard Error: 433 - .saturating_add(Weight::from_parts(139_180, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `857 + r * (3 ±0)` + // Estimated: `6804 + r * (3 ±0)` + // Minimum execution time: 268_723_000 picoseconds. + Weight::from_parts(284_570_936, 6804) + // Standard Error: 401 + .saturating_add(Weight::from_parts(155_550, 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())) } @@ -1914,871 +1909,363 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_620_000 picoseconds. - Weight::from_parts(1_894_980, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_995, 0).saturating_mul(r.into())) + // Minimum execution time: 1_351_000 picoseconds. + Weight::from_parts(1_782_388, 0) + // Standard Error: 14 + .saturating_add(Weight::from_parts(10_307, 0).saturating_mul(r.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64load(r: u32, ) -> Weight { +} + +// For backwards compatibility and tests +impl WeightInfo for () { + /// Storage: Contracts DeletionQueueCounter (r:1 w:0) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + fn on_process_deletion_queue_batch() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_716_000 picoseconds. - Weight::from_parts(2_353_783, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_414, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 2_605_000 picoseconds. + Weight::from_parts(2_745_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64store(r: u32, ) -> Weight { + /// Storage: Skipped Metadata (r:0 w:0) + /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_735_000 picoseconds. - Weight::from_parts(2_266_096, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_015, 0).saturating_mul(r.into())) + // Measured: `451 + k * (69 ±0)` + // Estimated: `441 + k * (70 ±0)` + // Minimum execution time: 12_800_000 picoseconds. + Weight::from_parts(13_035_000, 441) + // Standard Error: 1_234 + .saturating_add(Weight::from_parts(1_213_662, 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)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_select(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// The range of component `c` is `[0, 125952]`. + fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_698_000 picoseconds. - Weight::from_parts(2_080_936, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(7_921, 0).saturating_mul(r.into())) + // Measured: `211 + c * (1 ±0)` + // Estimated: `6149 + c * (1 ±0)` + // Minimum execution time: 8_729_000 picoseconds. + Weight::from_parts(9_244_587, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_321, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_if(r: u32, ) -> Weight { + /// Storage: Contracts ContractInfoOf (r:2 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// 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: `0` - // Estimated: `0` - // Minimum execution time: 1_636_000 picoseconds. - Weight::from_parts(1_913_876, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(10_836, 0).saturating_mul(r.into())) + // Measured: `548` + // Estimated: `6488` + // Minimum execution time: 17_991_000 picoseconds. + Weight::from_parts(18_671_000, 6488) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br(r: u32, ) -> Weight { + /// Storage: Contracts DeletionQueue (r:1 w:1025) + /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) + /// Storage: Contracts DeletionQueueCounter (r:0 w:1) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn v11_migration_step(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(1_838_470, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(4_613, 0).saturating_mul(r.into())) + // Measured: `171 + k * (1 ±0)` + // Estimated: `3635 + k * (1 ±0)` + // Minimum execution time: 3_763_000 picoseconds. + Weight::from_parts(2_060_396, 3635) + // Standard Error: 840 + .saturating_add(Weight::from_parts(1_114_194, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_if(r: u32, ) -> Weight { + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:0 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn v12_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_744_254, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(7_020, 0).saturating_mul(r.into())) + // Measured: `378 + c * (2 ±0)` + // Estimated: `6313 + c * (2 ±0)` + // Minimum execution time: 23_244_000 picoseconds. + Weight::from_parts(24_539_262, 6313) + // Standard Error: 2 + .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_table(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn migration_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_621_000 picoseconds. - Weight::from_parts(1_511_579, 0) - // Standard Error: 33 - .saturating_add(Weight::from_parts(9_479, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 3_464_000 picoseconds. + Weight::from_parts(3_537_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `e` is `[1, 256]`. - fn instr_br_table_per_entry(_e: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + fn migrate() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_758_000 picoseconds. - Weight::from_parts(2_066_494, 0) + // Measured: `166` + // Estimated: `3631` + // Minimum execution time: 12_278_000 picoseconds. + Weight::from_parts(12_738_000, 3631) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_call(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + fn on_runtime_upgrade_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_690_000 picoseconds. - Weight::from_parts(2_029_755, 0) - // Standard Error: 9 - .saturating_add(Weight::from_parts(17_946, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 4_863_000 picoseconds. + Weight::from_parts(5_231_000, 3607) + .saturating_add(RocksDbWeight::get().reads(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_call_indirect(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade_in_progress() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_894_000 picoseconds. - Weight::from_parts(5_533_643, 0) - // Standard Error: 176 - .saturating_add(Weight::from_parts(23_511, 0).saturating_mul(r.into())) + // Measured: `167` + // Estimated: `3632` + // Minimum execution time: 6_856_000 picoseconds. + Weight::from_parts(7_354_000, 3632) + .saturating_add(RocksDbWeight::get().reads(2_u64)) } - /// The range of component `l` is `[0, 1024]`. - fn instr_call_per_local(l: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(1_978_038, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(1_176, 0).saturating_mul(l.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 7_244_000 picoseconds. + Weight::from_parts(7_639_000, 3607) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_get(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_889_000 picoseconds. - Weight::from_parts(3_181_705, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_516, 0).saturating_mul(r.into())) + // Measured: `788` + // Estimated: `6737 + c * (1 ±0)` + // Minimum execution time: 293_252_000 picoseconds. + Weight::from_parts(314_429_497, 6737) + // Standard Error: 41 + .saturating_add(Weight::from_parts(37_437, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_set(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_871_000 picoseconds. - Weight::from_parts(3_186_198, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_619, 0).saturating_mul(r.into())) + // Measured: `303` + // Estimated: `8745` + // Minimum execution time: 3_746_399_000 picoseconds. + Weight::from_parts(601_624_680, 8745) + // Standard Error: 266 + .saturating_add(Weight::from_parts(77_175, 0).saturating_mul(c.into())) + // Standard Error: 32 + .saturating_add(Weight::from_parts(1_536, 0).saturating_mul(i.into())) + // Standard Error: 32 + .saturating_add(Weight::from_parts(1_852, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(9_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_tee(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_890_000 picoseconds. - Weight::from_parts(3_237_380, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_963, 0).saturating_mul(r.into())) + // Measured: `505` + // Estimated: `6431` + // Minimum execution time: 1_961_943_000 picoseconds. + Weight::from_parts(415_963_957, 6431) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_635, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_637, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_get(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn call() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(2_180_563, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(8_400, 0).saturating_mul(r.into())) + // Measured: `840` + // Estimated: `6780` + // Minimum execution time: 192_171_000 picoseconds. + Weight::from_parts(201_274_000, 6780) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_set(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_807_000 picoseconds. - Weight::from_parts(2_247_402, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(8_798, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 260_570_000 picoseconds. + Weight::from_parts(257_960_229, 3607) + // Standard Error: 136 + .saturating_add(Weight::from_parts(76_620, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_memory_current(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + fn remove_code() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(2_050_199, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_833, 0).saturating_mul(r.into())) + // Measured: `257` + // Estimated: `3722` + // Minimum execution time: 33_893_000 picoseconds. + Weight::from_parts(34_921_000, 3722) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 16]`. - fn instr_memory_grow(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:2) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(720_378, 0) - // Standard Error: 141_036 - .saturating_add(Weight::from_parts(13_193_405, 0).saturating_mul(r.into())) + // Measured: `579` + // Estimated: `8994` + // Minimum execution time: 37_625_000 picoseconds. + Weight::from_parts(38_404_000, 8994) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64clz(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_654_000 picoseconds. - Weight::from_parts(1_934_279, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(4_049, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ctz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_609_000 picoseconds. - Weight::from_parts(1_938_511, 0) - // Standard Error: 20 - .saturating_add(Weight::from_parts(3_780, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64popcnt(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_634_000 picoseconds. - Weight::from_parts(1_941_109, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(3_770, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eqz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_939_447, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_666, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendsi32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_637_000 picoseconds. - Weight::from_parts(1_921_355, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_977, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendui32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_668_000 picoseconds. - Weight::from_parts(1_993_872, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_809, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i32wrapi64(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_657_000 picoseconds. - Weight::from_parts(1_954_737, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_734, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eq(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_688_000 picoseconds. - Weight::from_parts(1_993_611, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(5_962, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ne(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_965_361, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_965, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64lts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_679_000 picoseconds. - Weight::from_parts(1_946_910, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_987, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ltu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_925_830, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_001, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_984_702, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_817, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gtu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_660_000 picoseconds. - Weight::from_parts(1_978_370, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_115, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64les(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_655_000 picoseconds. - Weight::from_parts(2_008_659, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_985, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64leu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_608_000 picoseconds. - Weight::from_parts(1_912_542, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_084, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ges(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_959_896, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_968, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64geu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_653_000 picoseconds. - Weight::from_parts(1_984_715, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_971, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64add(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_610_000 picoseconds. - Weight::from_parts(1_919_305, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_877, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64sub(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_691_000 picoseconds. - Weight::from_parts(2_284_292, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(6_027, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64mul(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_960_370, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(5_760, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divs(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_656_000 picoseconds. - Weight::from_parts(1_915_002, 0) - // Standard Error: 21 - .saturating_add(Weight::from_parts(11_896, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_645_000 picoseconds. - Weight::from_parts(2_952_497, 0) - // Standard Error: 122 - .saturating_add(Weight::from_parts(10_646, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rems(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_669_000 picoseconds. - Weight::from_parts(1_661_488, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(12_330, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64remu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_989_633, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(10_649, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64and(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_715_000 picoseconds. - Weight::from_parts(1_994_636, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_667, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64or(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_685_000 picoseconds. - Weight::from_parts(2_075_238, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_743, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64xor(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_649_000 picoseconds. - Weight::from_parts(1_911_373, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_894, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shl(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_682_000 picoseconds. - Weight::from_parts(2_000_076, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_932, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shrs(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(1_999_600, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_129, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shru(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_628_000 picoseconds. - Weight::from_parts(1_893_440, 0) - // Standard Error: 15 - .saturating_add(Weight::from_parts(5_938, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotl(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_721_000 picoseconds. - Weight::from_parts(1_982_227, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_008, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotr(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_648_000 picoseconds. - Weight::from_parts(2_003_359, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_875, 0).saturating_mul(r.into())) - } -} - -// For backwards compatibility and tests -impl WeightInfo for () { - /// Storage: Contracts DeletionQueueCounter (r:1 w:0) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - fn on_process_deletion_queue_batch() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 2_630_000 picoseconds. - Weight::from_parts(2_778_000, 1594) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - } - /// Storage: Skipped Metadata (r:0 w:0) - /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn on_initialize_per_trie_key(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `488 + k * (69 ±0)` - // Estimated: `478 + k * (70 ±0)` - // Minimum execution time: 13_453_000 picoseconds. - Weight::from_parts(10_904_078, 478) - // Standard Error: 931 - .saturating_add(Weight::from_parts(982_122, 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)) - .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) - } - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn reinstrument(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `238 + c * (1 ±0)` - // Estimated: `3708 + c * (1 ±0)` - // Minimum execution time: 30_972_000 picoseconds. - Weight::from_parts(31_129_287, 3708) - // Standard Error: 52 - .saturating_add(Weight::from_parts(54_996, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts CodeStorage (r:2 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn v9_migration_step(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `178 + c * (1 ±0)` - // Estimated: `6114 + c * (1 ±0)` - // Minimum execution time: 9_696_000 picoseconds. - Weight::from_parts(10_697_026, 6114) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_307, 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())) - } - /// Storage: Contracts ContractInfoOf (r:2 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// 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: `544` - // Estimated: `6484` - // Minimum execution time: 18_132_000 picoseconds. - Weight::from_parts(18_842_000, 6484) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts DeletionQueue (r:1 w:1025) - /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) - /// Storage: Contracts DeletionQueueCounter (r:0 w:1) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn v11_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) - } - - /// Placeholder, should be replaced with new benchmarked weight - fn v12_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `138 + k * (1 ±0)` - // Estimated: `3602 + k * (1 ±0)` - // Minimum execution time: 3_952_000 picoseconds. - Weight::from_parts(4_129_000, 3602) - // Standard Error: 1_521 - .saturating_add(Weight::from_parts(1_013_657, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) - } - - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn migration_noop() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `1594` - // Minimum execution time: 3_528_000 picoseconds. - Weight::from_parts(3_641_000, 1594) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - fn migrate() -> Weight { - // Proof Size summary in bytes: - // Measured: `133` - // Estimated: `3598` - // Minimum execution time: 13_433_000 picoseconds. - Weight::from_parts(13_710_000, 3598) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - fn on_runtime_upgrade_noop() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 5_502_000 picoseconds. - Weight::from_parts(5_689_000, 3574) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade_in_progress() -> Weight { - // Proof Size summary in bytes: - // Measured: `134` - // Estimated: `3599` - // Minimum execution time: 7_846_000 picoseconds. - Weight::from_parts(8_078_000, 3599) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 8_390_000 picoseconds. - Weight::from_parts(8_602_000, 3574) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn call_with_code_per_byte(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `707` - // Estimated: `6656 + c * (1 ±0)` - // Minimum execution time: 280_993_000 picoseconds. - Weight::from_parts(289_622_441, 6656) - // Standard Error: 26 - .saturating_add(Weight::from_parts(38_061, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `270` - // Estimated: `8659` - // Minimum execution time: 3_136_130_000 picoseconds. - Weight::from_parts(568_808_049, 8659) - // Standard Error: 288 - .saturating_add(Weight::from_parts(108_649, 0).saturating_mul(c.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_103, 0).saturating_mul(i.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_502, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(10_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate(i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `482` - // Estimated: `6408` - // Minimum execution time: 1_655_107_000 picoseconds. - Weight::from_parts(266_843_437, 6408) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_463, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_458, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn call() -> Weight { - // Proof Size summary in bytes: - // Measured: `759` - // Estimated: `6699` - // Minimum execution time: 197_684_000 picoseconds. - Weight::from_parts(199_222_000, 6699) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn upload_code(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `109` - // Estimated: `3574` - // Minimum execution time: 254_766_000 picoseconds. - Weight::from_parts(247_865_224, 3574) - // Standard Error: 146 - .saturating_add(Weight::from_parts(108_830, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - fn remove_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `255` - // Estimated: `3720` - // Minimum execution time: 36_038_000 picoseconds. - Weight::from_parts(36_503_000, 3720) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:2 w:2) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn set_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `570` - // Estimated: `8985` - // Minimum execution time: 35_312_000 picoseconds. - Weight::from_parts(35_852_000, 8985) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(6_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_caller(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `781 + r * (6 ±0)` - // Estimated: `6722 + r * (6 ±0)` - // Minimum execution time: 241_668_000 picoseconds. - Weight::from_parts(256_167_627, 6722) - // Standard Error: 2_447 - .saturating_add(Weight::from_parts(328_424, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `862 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 267_999_000 picoseconds. + Weight::from_parts(279_789_385, 6803) + // Standard Error: 730 + .saturating_add(Weight::from_parts(351_857, 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())) } @@ -2788,8 +2275,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2797,13 +2286,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `839 + r * (240 ±0)` - // Estimated: `6743 + r * (2715 ±0)` - // Minimum execution time: 242_353_000 picoseconds. - Weight::from_parts(82_743_116, 6743) - // Standard Error: 6_271 - .saturating_add(Weight::from_parts(3_331_316, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `920 + r * (240 ±0)` + // Estimated: `6824 + r * (2715 ±0)` + // Minimum execution time: 266_491_000 picoseconds. + Weight::from_parts(123_744_536, 6824) + // Standard Error: 6_430 + .saturating_add(Weight::from_parts(3_652_658, 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)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -2814,8 +2303,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2823,13 +2314,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `831 + r * (244 ±0)` - // Estimated: `6747 + r * (2719 ±0)` - // Minimum execution time: 243_370_000 picoseconds. - Weight::from_parts(77_198_453, 6747) - // Standard Error: 6_968 - .saturating_add(Weight::from_parts(4_162_946, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `912 + r * (244 ±0)` + // Estimated: `6828 + r * (2719 ±0)` + // Minimum execution time: 271_010_000 picoseconds. + Weight::from_parts(132_741_373, 6828) + // Standard Error: 6_201 + .saturating_add(Weight::from_parts(4_501_953, 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)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -2840,8 +2331,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2849,13 +2342,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `788 + r * (6 ±0)` - // Estimated: `6730 + r * (6 ±0)` - // Minimum execution time: 244_083_000 picoseconds. - Weight::from_parts(239_899_316, 6730) - // Standard Error: 5_254 - .saturating_add(Weight::from_parts(423_863, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `869 + r * (6 ±0)` + // Estimated: `6811 + r * (6 ±0)` + // Minimum execution time: 256_823_000 picoseconds. + Weight::from_parts(278_370_824, 6811) + // Standard Error: 863 + .saturating_add(Weight::from_parts(435_881, 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())) } @@ -2865,8 +2358,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2874,13 +2369,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 239_835_000 picoseconds. - Weight::from_parts(247_929_454, 6723) - // Standard Error: 2_309 - .saturating_add(Weight::from_parts(169_642, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `859 + r * (3 ±0)` + // Estimated: `6804 + r * (3 ±0)` + // Minimum execution time: 262_446_000 picoseconds. + Weight::from_parts(284_083_856, 6804) + // Standard Error: 478 + .saturating_add(Weight::from_parts(187_672, 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())) } @@ -2888,8 +2383,10 @@ impl WeightInfo for () { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2897,13 +2394,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `668 + r * (3 ±0)` - // Estimated: `6608 + r * (3 ±0)` - // Minimum execution time: 229_091_000 picoseconds. - Weight::from_parts(235_369_797, 6608) - // Standard Error: 283 - .saturating_add(Weight::from_parts(146_485, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(6_u64)) + // Measured: `749 + r * (3 ±0)` + // Estimated: `6689 + r * (3 ±0)` + // Minimum execution time: 252_545_000 picoseconds. + Weight::from_parts(270_575_124, 6689) + // Standard Error: 382 + .saturating_add(Weight::from_parts(168_970, 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())) } @@ -2913,8 +2410,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2922,13 +2421,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `782 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_638_000 picoseconds. - Weight::from_parts(245_890_126, 6724) - // Standard Error: 508 - .saturating_add(Weight::from_parts(323_232, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `863 + r * (6 ±0)` + // Estimated: `6805 + r * (6 ±0)` + // Minimum execution time: 258_254_000 picoseconds. + Weight::from_parts(279_322_090, 6805) + // Standard Error: 928 + .saturating_add(Weight::from_parts(341_286, 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())) } @@ -2938,8 +2437,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2947,13 +2448,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6719 + r * (6 ±0)` - // Minimum execution time: 241_740_000 picoseconds. - Weight::from_parts(244_490_855, 6719) - // Standard Error: 1_872 - .saturating_add(Weight::from_parts(543_651, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6800 + r * (6 ±0)` + // Minimum execution time: 267_524_000 picoseconds. + Weight::from_parts(298_856_486, 6800) + // Standard Error: 2_321 + .saturating_add(Weight::from_parts(531_545, 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())) } @@ -2963,8 +2464,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2972,13 +2475,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `922 + r * (6 ±0)` - // Estimated: `6846 + r * (6 ±0)` - // Minimum execution time: 241_787_000 picoseconds. - Weight::from_parts(243_819_464, 6846) - // Standard Error: 5_017 - .saturating_add(Weight::from_parts(1_496_444, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1003 + r * (6 ±0)` + // Estimated: `6927 + r * (6 ±0)` + // Minimum execution time: 263_587_000 picoseconds. + Weight::from_parts(288_057_110, 6927) + // Standard Error: 1_764 + .saturating_add(Weight::from_parts(1_536_757, 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())) } @@ -2988,8 +2491,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2997,13 +2502,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (6 ±0)` - // Estimated: `6741 + r * (6 ±0)` - // Minimum execution time: 243_498_000 picoseconds. - Weight::from_parts(251_019_668, 6741) - // Standard Error: 1_479 - .saturating_add(Weight::from_parts(318_979, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `873 + r * (6 ±0)` + // Estimated: `6822 + r * (6 ±0)` + // Minimum execution time: 272_821_000 picoseconds. + Weight::from_parts(281_694_459, 6822) + // Standard Error: 707 + .saturating_add(Weight::from_parts(337_791, 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())) } @@ -3013,8 +2518,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3022,13 +2529,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `790 + r * (6 ±0)` - // Estimated: `6739 + r * (6 ±0)` - // Minimum execution time: 242_572_000 picoseconds. - Weight::from_parts(246_453_396, 6739) - // Standard Error: 978 - .saturating_add(Weight::from_parts(320_095, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `871 + r * (6 ±0)` + // Estimated: `6820 + r * (6 ±0)` + // Minimum execution time: 269_144_000 picoseconds. + Weight::from_parts(286_733_568, 6820) + // Standard Error: 632 + .saturating_add(Weight::from_parts(326_852, 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())) } @@ -3038,8 +2545,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3047,13 +2556,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `787 + r * (6 ±0)` - // Estimated: `6737 + r * (6 ±0)` - // Minimum execution time: 241_872_000 picoseconds. - Weight::from_parts(257_272_904, 6737) - // Standard Error: 4_146 - .saturating_add(Weight::from_parts(314_645, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `868 + r * (6 ±0)` + // Estimated: `6818 + r * (6 ±0)` + // Minimum execution time: 264_898_000 picoseconds. + Weight::from_parts(278_289_181, 6818) + // Standard Error: 727 + .saturating_add(Weight::from_parts(339_198, 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())) } @@ -3063,8 +2572,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3072,13 +2583,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (6 ±0)` - // Estimated: `6723 + r * (6 ±0)` - // Minimum execution time: 242_139_000 picoseconds. - Weight::from_parts(244_667_764, 6723) - // Standard Error: 580 - .saturating_add(Weight::from_parts(323_005, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6804 + r * (6 ±0)` + // Minimum execution time: 271_716_000 picoseconds. + Weight::from_parts(283_955_388, 6804) + // Standard Error: 625 + .saturating_add(Weight::from_parts(334_417, 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())) } @@ -3088,8 +2599,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -3099,13 +2612,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `852 + r * (14 ±0)` - // Estimated: `6785 + r * (14 ±0)` - // Minimum execution time: 242_370_000 picoseconds. - Weight::from_parts(247_330_421, 6785) - // Standard Error: 1_832 - .saturating_add(Weight::from_parts(1_396_737, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `933 + r * (14 ±0)` + // Estimated: `6866 + r * (14 ±0)` + // Minimum execution time: 257_860_000 picoseconds. + Weight::from_parts(293_075_400, 6866) + // Standard Error: 828 + .saturating_add(Weight::from_parts(1_446_598, 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())) } @@ -3115,33 +2628,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_gas(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `745 + r * (4 ±0)` - // Estimated: `6687 + r * (4 ±0)` - // Minimum execution time: 167_583_000 picoseconds. - Weight::from_parts(173_694_884, 6687) - // Standard Error: 2_880 - .saturating_add(Weight::from_parts(133_811, 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, 4).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3149,13 +2639,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `780 + r * (6 ±0)` - // Estimated: `6724 + r * (6 ±0)` - // Minimum execution time: 242_932_000 picoseconds. - Weight::from_parts(246_356_239, 6724) - // Standard Error: 479 - .saturating_add(Weight::from_parts(268_456, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `861 + r * (6 ±0)` + // Estimated: `6805 + r * (6 ±0)` + // Minimum execution time: 260_552_000 picoseconds. + Weight::from_parts(286_564_683, 6805) + // Standard Error: 491 + .saturating_add(Weight::from_parts(287_186, 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())) } @@ -3165,8 +2655,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3174,13 +2666,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `784` - // Estimated: `6724` - // Minimum execution time: 245_611_000 picoseconds. - Weight::from_parts(246_102_856, 6724) - // Standard Error: 1 - .saturating_add(Weight::from_parts(596, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `865` + // Estimated: `6805` + // Minimum execution time: 262_067_000 picoseconds. + Weight::from_parts(227_191_236, 6805) + // Standard Error: 24 + .saturating_add(Weight::from_parts(988, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -3189,8 +2681,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3198,13 +2692,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `768 + r * (45 ±0)` - // Estimated: `6708 + r * (45 ±0)` - // Minimum execution time: 238_764_000 picoseconds. - Weight::from_parts(241_225_075, 6708) - // Standard Error: 196_899 - .saturating_add(Weight::from_parts(3_361_624, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `849 + r * (45 ±0)` + // Estimated: `6789 + r * (45 ±0)` + // Minimum execution time: 250_995_000 picoseconds. + Weight::from_parts(276_061_469, 6789) + // Standard Error: 848_490 + .saturating_add(Weight::from_parts(3_158_930, 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())) } @@ -3214,8 +2708,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3223,13 +2719,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778` - // Estimated: `6731` - // Minimum execution time: 243_075_000 picoseconds. - Weight::from_parts(244_139_227, 6731) + // Measured: `859` + // Estimated: `6812` + // Minimum execution time: 268_616_000 picoseconds. + Weight::from_parts(281_133_770, 6812) // Standard Error: 0 - .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(322, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -3238,14 +2734,14 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -3253,17 +2749,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (356 ±0)` - // Estimated: `6750 + r * (7781 ±0)` - // Minimum execution time: 241_330_000 picoseconds. - Weight::from_parts(244_187_673, 6750) - // Standard Error: 473_741 - .saturating_add(Weight::from_parts(117_358_926, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) + // Measured: `891 + r * (300 ±0)` + // Estimated: `6831 + r * (7725 ±0)` + // Minimum execution time: 253_638_000 picoseconds. + Weight::from_parts(280_626_938, 6831) + // Standard Error: 881_658 + .saturating_add(Weight::from_parts(125_804_461, 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)) .saturating_add(RocksDbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3271,8 +2767,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -3282,13 +2780,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (10 ±0)` - // Estimated: `6769 + r * (10 ±0)` - // Minimum execution time: 243_298_000 picoseconds. - Weight::from_parts(246_393_253, 6769) - // Standard Error: 4_125 - .saturating_add(Weight::from_parts(1_876_317, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `940 + r * (10 ±0)` + // Estimated: `6881 + r * (10 ±0)` + // Minimum execution time: 264_610_000 picoseconds. + Weight::from_parts(285_295_004, 6881) + // Standard Error: 3_606 + .saturating_add(Weight::from_parts(1_887_236, 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())) } @@ -3298,8 +2796,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3307,13 +2807,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `778 + r * (10 ±0)` - // Estimated: `6723 + r * (10 ±0)` - // Minimum execution time: 240_477_000 picoseconds. - Weight::from_parts(252_579_330, 6723) - // Standard Error: 1_993 - .saturating_add(Weight::from_parts(3_510_388, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `859 + r * (10 ±0)` + // Estimated: `6804 + r * (10 ±0)` + // Minimum execution time: 254_995_000 picoseconds. + Weight::from_parts(282_088_329, 6804) + // Standard Error: 3_537 + .saturating_add(Weight::from_parts(3_705_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, 10).saturating_mul(r.into())) } @@ -3323,8 +2823,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -3333,15 +2835,15 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `797 + t * (32 ±0)` - // Estimated: `6744 + t * (2508 ±0)` - // Minimum execution time: 259_029_000 picoseconds. - Weight::from_parts(252_262_484, 6744) - // Standard Error: 35_710 - .saturating_add(Weight::from_parts(2_236_764, 0).saturating_mul(t.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(648, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `878 + t * (32 ±0)` + // Estimated: `6825 + t * (2508 ±0)` + // Minimum execution time: 274_294_000 picoseconds. + Weight::from_parts(288_179_122, 6825) + // Standard Error: 100_930 + .saturating_add(Weight::from_parts(3_477_887, 0).saturating_mul(t.into())) + // Standard Error: 28 + .saturating_add(Weight::from_parts(616, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -3353,8 +2855,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3362,13 +2866,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `777 + r * (7 ±0)` - // Estimated: `6721 + r * (7 ±0)` - // Minimum execution time: 170_544_000 picoseconds. - Weight::from_parts(174_555_287, 6721) - // Standard Error: 320 - .saturating_add(Weight::from_parts(233_911, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `858 + r * (7 ±0)` + // Estimated: `6802 + r * (7 ±0)` + // Minimum execution time: 166_001_000 picoseconds. + Weight::from_parts(179_843_482, 6802) + // Standard Error: 427 + .saturating_add(Weight::from_parts(250_454, 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())) } @@ -3378,8 +2882,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -3387,13 +2893,13 @@ impl WeightInfo for () { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125728` - // Estimated: `131670` - // Minimum execution time: 357_160_000 picoseconds. - Weight::from_parts(359_930_328, 131670) - // Standard Error: 1 - .saturating_add(Weight::from_parts(738, 0).saturating_mul(i.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `125809` + // Estimated: `131751` + // Minimum execution time: 530_321_000 picoseconds. + Weight::from_parts(500_509_784, 131751) + // Standard Error: 12 + .saturating_add(Weight::from_parts(1_034, 0).saturating_mul(i.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -3401,13 +2907,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `845 + r * (292 ±0)` - // Estimated: `843 + r * (293 ±0)` - // Minimum execution time: 242_846_000 picoseconds. - Weight::from_parts(135_611_732, 843) - // Standard Error: 10_708 - .saturating_add(Weight::from_parts(6_146_995, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `926 + r * (292 ±0)` + // Estimated: `924 + r * (293 ±0)` + // Minimum execution time: 260_457_000 picoseconds. + Weight::from_parts(185_350_892, 924) + // Standard Error: 10_373 + .saturating_add(Weight::from_parts(6_922_211, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3418,13 +2924,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1304` - // Estimated: `1280` - // Minimum execution time: 258_885_000 picoseconds. - Weight::from_parts(292_699_689, 1280) - // Standard Error: 47 - .saturating_add(Weight::from_parts(433, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1385` + // Estimated: `1361` + // Minimum execution time: 289_613_000 picoseconds. + Weight::from_parts(332_400_786, 1361) + // Standard Error: 60 + .saturating_add(Weight::from_parts(781, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -3432,11 +2938,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1167 + n * (1 ±0)` - // Estimated: `1167 + n * (1 ±0)` - // Minimum execution time: 258_297_000 picoseconds. - Weight::from_parts(262_380_805, 1167) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1248 + n * (1 ±0)` + // Estimated: `1248 + n * (1 ±0)` + // Minimum execution time: 275_133_000 picoseconds. + Weight::from_parts(301_144_154, 1248) + // Standard Error: 30 + .saturating_add(Weight::from_parts(48, 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())) } @@ -3445,13 +2953,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `841 + r * (288 ±0)` - // Estimated: `845 + r * (289 ±0)` - // Minimum execution time: 242_945_000 picoseconds. - Weight::from_parts(126_721_339, 845) - // Standard Error: 11_891 - .saturating_add(Weight::from_parts(6_134_319, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `922 + r * (288 ±0)` + // Estimated: `926 + r * (289 ±0)` + // Minimum execution time: 254_967_000 picoseconds. + Weight::from_parts(194_626_982, 926) + // Standard Error: 9_677 + .saturating_add(Weight::from_parts(6_789_131, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3462,13 +2970,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1163 + n * (1 ±0)` - // Estimated: `1163 + n * (1 ±0)` - // Minimum execution time: 259_872_000 picoseconds. - Weight::from_parts(259_910_037, 1163) - // Standard Error: 142 - .saturating_add(Weight::from_parts(629, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1244 + n * (1 ±0)` + // Estimated: `1244 + n * (1 ±0)` + // Minimum execution time: 280_961_000 picoseconds. + Weight::from_parts(306_621_234, 1244) + // Standard Error: 34 + .saturating_add(Weight::from_parts(135, 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())) } @@ -3477,13 +2985,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `835 + r * (296 ±0)` - // Estimated: `840 + r * (297 ±0)` - // Minimum execution time: 245_005_000 picoseconds. - Weight::from_parts(155_891_939, 840) - // Standard Error: 9_938 - .saturating_add(Weight::from_parts(4_992_231, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `916 + r * (296 ±0)` + // Estimated: `921 + r * (297 ±0)` + // Minimum execution time: 265_957_000 picoseconds. + Weight::from_parts(210_031_762, 921) + // Standard Error: 8_722 + .saturating_add(Weight::from_parts(5_589_002, 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)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -3493,13 +3001,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1179 + n * (1 ±0)` - // Estimated: `1179 + n * (1 ±0)` - // Minimum execution time: 257_926_000 picoseconds. - Weight::from_parts(261_438_340, 1179) - // Standard Error: 24 - .saturating_add(Weight::from_parts(659, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1260 + n * (1 ±0)` + // Estimated: `1260 + n * (1 ±0)` + // Minimum execution time: 271_374_000 picoseconds. + Weight::from_parts(294_055_353, 1260) + // Standard Error: 34 + .saturating_add(Weight::from_parts(1_068, 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())) } @@ -3508,13 +3016,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `856 + r * (288 ±0)` - // Estimated: `857 + r * (289 ±0)` - // Minimum execution time: 244_392_000 picoseconds. - Weight::from_parts(156_243_434, 857) - // Standard Error: 8_716 - .saturating_add(Weight::from_parts(4_813_682, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `937 + r * (288 ±0)` + // Estimated: `938 + r * (289 ±0)` + // Minimum execution time: 270_971_000 picoseconds. + Weight::from_parts(209_549_997, 938) + // Standard Error: 7_478 + .saturating_add(Weight::from_parts(5_431_110, 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)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -3524,13 +3032,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1166 + n * (1 ±0)` - // Estimated: `1166 + n * (1 ±0)` - // Minimum execution time: 255_731_000 picoseconds. - Weight::from_parts(258_937_245, 1166) - // Standard Error: 26 - .saturating_add(Weight::from_parts(61, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1247 + n * (1 ±0)` + // Estimated: `1247 + n * (1 ±0)` + // Minimum execution time: 269_759_000 picoseconds. + Weight::from_parts(297_511_975, 1247) + // Standard Error: 37 + .saturating_add(Weight::from_parts(13, 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())) } @@ -3539,13 +3047,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `829 + r * (296 ±0)` - // Estimated: `836 + r * (297 ±0)` - // Minimum execution time: 242_902_000 picoseconds. - Weight::from_parts(140_670_703, 836) - // Standard Error: 10_042 - .saturating_add(Weight::from_parts(6_206_728, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `910 + r * (296 ±0)` + // Estimated: `917 + r * (297 ±0)` + // Minimum execution time: 259_076_000 picoseconds. + Weight::from_parts(184_153_810, 917) + // Standard Error: 10_139 + .saturating_add(Weight::from_parts(6_931_877, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3556,13 +3064,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1180 + n * (1 ±0)` - // Estimated: `1180 + n * (1 ±0)` - // Minimum execution time: 258_425_000 picoseconds. - Weight::from_parts(266_011_498, 1180) - // Standard Error: 137 - .saturating_add(Weight::from_parts(383, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1261 + n * (1 ±0)` + // Estimated: `1261 + n * (1 ±0)` + // Minimum execution time: 280_320_000 picoseconds. + Weight::from_parts(305_804_479, 1261) + // Standard Error: 47 + .saturating_add(Weight::from_parts(668, 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())) } @@ -3572,8 +3080,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3581,13 +3091,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1373 + r * (45 ±0)` - // Estimated: `7270 + r * (2520 ±0)` - // Minimum execution time: 243_533_000 picoseconds. - Weight::from_parts(67_275_548, 7270) - // Standard Error: 29_687 - .saturating_add(Weight::from_parts(36_086_917, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1454 + r * (45 ±0)` + // Estimated: `7351 + r * (2520 ±0)` + // Minimum execution time: 274_387_000 picoseconds. + Weight::from_parts(188_676_452, 7351) + // Standard Error: 24_693 + .saturating_add(Weight::from_parts(37_632_538, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3599,8 +3109,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -3608,13 +3120,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1140 + r * (276 ±0)` - // Estimated: `9332 + r * (2752 ±0)` - // Minimum execution time: 246_206_000 picoseconds. - Weight::from_parts(246_946_000, 9332) - // Standard Error: 74_648 - .saturating_add(Weight::from_parts(217_429_651, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1300 + r * (276 ±0)` + // Estimated: `9485 + r * (2752 ±0)` + // Minimum execution time: 267_317_000 picoseconds. + Weight::from_parts(276_871_000, 9485) + // Standard Error: 110_186 + .saturating_add(Weight::from_parts(244_868_028, 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)) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -3626,8 +3138,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:736 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:736 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:736 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -3635,17 +3149,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (502 ±0)` - // Estimated: `6727 + r * (2572 ±10)` - // Minimum execution time: 245_170_000 picoseconds. - Weight::from_parts(245_460_000, 6727) - // Standard Error: 110_429 - .saturating_add(Weight::from_parts(212_316_013, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (574 ±0)` + // Estimated: `6808 + r * (2635 ±3)` + // Minimum execution time: 262_230_000 picoseconds. + Weight::from_parts(278_788_000, 6808) + // Standard Error: 209_557 + .saturating_add(Weight::from_parts(242_679_046, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2635).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3653,8 +3167,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -3663,15 +3179,15 @@ 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: `1154 + t * (204 ±0)` - // Estimated: `12044 + t * (5154 ±0)` - // Minimum execution time: 424_523_000 picoseconds. - Weight::from_parts(392_267_161, 12044) - // Standard Error: 956_686 - .saturating_add(Weight::from_parts(36_399_297, 0).saturating_mul(t.into())) - // Standard Error: 1 - .saturating_add(Weight::from_parts(600, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(11_u64)) + // Measured: `1312 + t * (204 ±0)` + // Estimated: `12202 + t * (5154 ±0)` + // Minimum execution time: 450_917_000 picoseconds. + Weight::from_parts(56_401_936, 12202) + // Standard Error: 12_036_426 + .saturating_add(Weight::from_parts(368_521_161, 0).saturating_mul(t.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(992, 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()))) @@ -3683,30 +3199,30 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:801 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:801 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:801 w:800) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:800 w:800) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1322 + r * (254 ±0)` - // Estimated: `7146 + r * (5205 ±0)` - // Minimum execution time: 582_323_000 picoseconds. - Weight::from_parts(584_276_000, 7146) - // Standard Error: 280_418 - .saturating_add(Weight::from_parts(349_510_405, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1385 + r * (253 ±0)` + // Estimated: `7209 + r * (5204 ±0)` + // Minimum execution time: 651_367_000 picoseconds. + Weight::from_parts(657_372_000, 7209) + // Standard Error: 534_972 + .saturating_add(Weight::from_parts(393_175_303, 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)) .saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5204).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3714,332 +3230,34 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `t` is `[0, 1]`. - /// The range of component `i` is `[0, 983040]`. - /// The range of component `s` is `[0, 983040]`. - fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1071 + t * (187 ±0)` - // Estimated: `9492 + t * (2634 ±2)` - // Minimum execution time: 1_627_228_000 picoseconds. - Weight::from_parts(358_838_236, 9492) - // Standard Error: 4_785_521 - .saturating_add(Weight::from_parts(114_920_186, 0).saturating_mul(t.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_163, 0).saturating_mul(i.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(14_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())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_sha2_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `777 + r * (8 ±0)` - // Estimated: `6718 + r * (8 ±0)` - // Minimum execution time: 239_228_000 picoseconds. - Weight::from_parts(245_525_858, 6718) - // Standard Error: 1_774 - .saturating_add(Weight::from_parts(578_001, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `785` - // Estimated: `6725` - // Minimum execution time: 241_876_000 picoseconds. - Weight::from_parts(240_629_797, 6725) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_947, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_keccak_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6721 + r * (8 ±0)` - // Minimum execution time: 239_345_000 picoseconds. - Weight::from_parts(245_512_118, 6721) - // Standard Error: 771 - .saturating_add(Weight::from_parts(735_528, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6729` - // Minimum execution time: 242_741_000 picoseconds. - Weight::from_parts(232_209_398, 6729) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_099, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6724 + r * (8 ±0)` - // Minimum execution time: 239_254_000 picoseconds. - Weight::from_parts(244_250_047, 6724) - // Standard Error: 2_223 - .saturating_add(Weight::from_parts(421_533, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6733` - // Minimum execution time: 240_848_000 picoseconds. - Weight::from_parts(239_049_162, 6733) - // Standard Error: 3 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_128(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `779 + r * (8 ±0)` - // Estimated: `6725 + r * (8 ±0)` - // Minimum execution time: 240_496_000 picoseconds. - Weight::from_parts(245_279_278, 6725) - // Standard Error: 1_047 - .saturating_add(Weight::from_parts(414_108, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `787` - // Estimated: `6727` - // Minimum execution time: 241_529_000 picoseconds. - Weight::from_parts(234_715_148, 6727) - // Standard Error: 1 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 125697]`. - fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `912 + n * (1 ±0)` - // Estimated: `6849 + n * (1 ±0)` - // Minimum execution time: 294_982_000 picoseconds. - Weight::from_parts(299_613_855, 6849) - // Standard Error: 7 - .saturating_add(Weight::from_parts(4_668, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_sr25519_verify(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `726 + r * (112 ±0)` - // Estimated: `6666 + r * (112 ±0)` - // Minimum execution time: 242_583_000 picoseconds. - Weight::from_parts(251_860_767, 6666) - // Standard Error: 24_034 - .saturating_add(Weight::from_parts(48_144_071, 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, 112).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_recover(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `822 + r * (76 ±0)` - // Estimated: `6716 + r * (77 ±0)` - // Minimum execution time: 242_331_000 picoseconds. - Weight::from_parts(254_816_298, 6716) - // Standard Error: 17_941 - .saturating_add(Weight::from_parts(37_725_489, 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, 77).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) + /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { + /// The range of component `t` is `[0, 1]`. + /// The range of component `i` is `[0, 983040]`. + /// The range of component `s` is `[0, 983040]`. + fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `792 + r * (42 ±0)` - // Estimated: `6731 + r * (42 ±0)` - // Minimum execution time: 242_951_000 picoseconds. - Weight::from_parts(246_055_289, 6731) - // Standard Error: 10_074 - .saturating_add(Weight::from_parts(9_421_877, 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, 42).saturating_mul(r.into())) + // Measured: `1135 + t * (187 ±0)` + // Estimated: `9556 + t * (2634 ±2)` + // Minimum execution time: 2_289_113_000 picoseconds. + Weight::from_parts(1_477_704_357, 9556) + // Standard Error: 21 + .saturating_add(Weight::from_parts(894, 0).saturating_mul(i.into())) + // Standard Error: 21 + .saturating_add(Weight::from_parts(1_035, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4047,28 +3265,26 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1536 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1538 w:1538) + /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_set_code_hash(r: u32, ) -> Weight { + fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (964 ±0)` - // Estimated: `8190 + r * (3090 ±7)` - // Minimum execution time: 245_310_000 picoseconds. - Weight::from_parts(245_703_000, 8190) - // Standard Error: 45_813 - .saturating_add(Weight::from_parts(21_837_058, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6799 + r * (8 ±0)` + // Minimum execution time: 272_938_000 picoseconds. + Weight::from_parts(283_479_443, 6799) + // Standard Error: 604 + .saturating_add(Weight::from_parts(396_395, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4076,24 +3292,25 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_reentrance_count(r: u32, ) -> Weight { + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `773 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 241_955_000 picoseconds. - Weight::from_parts(246_148_234, 6723) - // Standard Error: 384 - .saturating_add(Weight::from_parts(162_123, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `866` + // Estimated: `6806` + // Minimum execution time: 278_131_000 picoseconds. + Weight::from_parts(265_385_985, 6806) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_104, 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, 3).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4101,24 +3318,26 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_account_reentrance_count(r: u32, ) -> Weight { + fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1975 + r * (39 ±0)` - // Estimated: `7805 + r * (40 ±0)` - // Minimum execution time: 243_928_000 picoseconds. - Weight::from_parts(276_404_668, 7805) - // Standard Error: 1_263 - .saturating_add(Weight::from_parts(262_830, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `860 + r * (8 ±0)` + // Estimated: `6802 + r * (8 ±0)` + // Minimum execution time: 265_307_000 picoseconds. + Weight::from_parts(282_844_558, 6802) + // Standard Error: 527 + .saturating_add(Weight::from_parts(790_013, 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())) + .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4126,533 +3345,360 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_instantiation_nonce(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `776 + r * (3 ±0)` - // Estimated: `6723 + r * (3 ±0)` - // Minimum execution time: 242_853_000 picoseconds. - Weight::from_parts(250_429_787, 6723) - // Standard Error: 433 - .saturating_add(Weight::from_parts(139_180, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64const(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_620_000 picoseconds. - Weight::from_parts(1_894_980, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_995, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64load(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_716_000 picoseconds. - Weight::from_parts(2_353_783, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_414, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64store(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_735_000 picoseconds. - Weight::from_parts(2_266_096, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_015, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_select(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_698_000 picoseconds. - Weight::from_parts(2_080_936, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(7_921, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_if(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_636_000 picoseconds. - Weight::from_parts(1_913_876, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(10_836, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(1_838_470, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(4_613, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_if(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_744_254, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(7_020, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_table(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_621_000 picoseconds. - Weight::from_parts(1_511_579, 0) - // Standard Error: 33 - .saturating_add(Weight::from_parts(9_479, 0).saturating_mul(r.into())) - } - /// The range of component `e` is `[1, 256]`. - fn instr_br_table_per_entry(_e: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_758_000 picoseconds. - Weight::from_parts(2_066_494, 0) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_call(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_690_000 picoseconds. - Weight::from_parts(2_029_755, 0) - // Standard Error: 9 - .saturating_add(Weight::from_parts(17_946, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_call_indirect(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_894_000 picoseconds. - Weight::from_parts(5_533_643, 0) - // Standard Error: 176 - .saturating_add(Weight::from_parts(23_511, 0).saturating_mul(r.into())) - } - /// The range of component `l` is `[0, 1024]`. - fn instr_call_per_local(l: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(1_978_038, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(1_176, 0).saturating_mul(l.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_get(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_889_000 picoseconds. - Weight::from_parts(3_181_705, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(2_516, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_set(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_871_000 picoseconds. - Weight::from_parts(3_186_198, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_619, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_tee(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_890_000 picoseconds. - Weight::from_parts(3_237_380, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_963, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_get(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_756_000 picoseconds. - Weight::from_parts(2_180_563, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(8_400, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_set(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_807_000 picoseconds. - Weight::from_parts(2_247_402, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(8_798, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_memory_current(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_703_000 picoseconds. - Weight::from_parts(2_050_199, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_833, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 16]`. - fn instr_memory_grow(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(720_378, 0) - // Standard Error: 141_036 - .saturating_add(Weight::from_parts(13_193_405, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64clz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_654_000 picoseconds. - Weight::from_parts(1_934_279, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(4_049, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ctz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_609_000 picoseconds. - Weight::from_parts(1_938_511, 0) - // Standard Error: 20 - .saturating_add(Weight::from_parts(3_780, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64popcnt(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_634_000 picoseconds. - Weight::from_parts(1_941_109, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(3_770, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eqz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_939_447, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_666, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendsi32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_637_000 picoseconds. - Weight::from_parts(1_921_355, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_977, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendui32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_668_000 picoseconds. - Weight::from_parts(1_993_872, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(3_809, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i32wrapi64(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_657_000 picoseconds. - Weight::from_parts(1_954_737, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_734, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eq(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_688_000 picoseconds. - Weight::from_parts(1_993_611, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(5_962, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ne(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_662_000 picoseconds. - Weight::from_parts(1_965_361, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_965, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64lts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_679_000 picoseconds. - Weight::from_parts(1_946_910, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_987, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ltu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_925_830, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_001, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_652_000 picoseconds. - Weight::from_parts(1_984_702, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_817, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gtu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_660_000 picoseconds. - Weight::from_parts(1_978_370, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_115, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64les(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_655_000 picoseconds. - Weight::from_parts(2_008_659, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_985, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64leu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_608_000 picoseconds. - Weight::from_parts(1_912_542, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_084, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ges(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_959_896, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_968, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64geu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_653_000 picoseconds. - Weight::from_parts(1_984_715, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_971, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64add(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_610_000 picoseconds. - Weight::from_parts(1_919_305, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_877, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64sub(r: u32, ) -> Weight { + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_691_000 picoseconds. - Weight::from_parts(2_284_292, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(6_027, 0).saturating_mul(r.into())) + // Measured: `868` + // Estimated: `6810` + // Minimum execution time: 260_803_000 picoseconds. + Weight::from_parts(277_817_420, 6810) + // Standard Error: 1 + .saturating_add(Weight::from_parts(3_312, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64mul(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_644_000 picoseconds. - Weight::from_parts(1_960_370, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(5_760, 0).saturating_mul(r.into())) + // Measured: `860 + r * (8 ±0)` + // Estimated: `6805 + r * (8 ±0)` + // Minimum execution time: 253_765_000 picoseconds. + Weight::from_parts(285_464_466, 6805) + // Standard Error: 603 + .saturating_add(Weight::from_parts(453_494, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divs(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_656_000 picoseconds. - Weight::from_parts(1_915_002, 0) - // Standard Error: 21 - .saturating_add(Weight::from_parts(11_896, 0).saturating_mul(r.into())) + // Measured: `868` + // Estimated: `6814` + // Minimum execution time: 269_004_000 picoseconds. + Weight::from_parts(274_535_144, 6814) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_196, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divu(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_645_000 picoseconds. - Weight::from_parts(2_952_497, 0) - // Standard Error: 122 - .saturating_add(Weight::from_parts(10_646, 0).saturating_mul(r.into())) + // Measured: `860 + r * (8 ±0)` + // Estimated: `6806 + r * (8 ±0)` + // Minimum execution time: 261_878_000 picoseconds. + Weight::from_parts(283_648_022, 6806) + // Standard Error: 603 + .saturating_add(Weight::from_parts(450_348, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rems(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_669_000 picoseconds. - Weight::from_parts(1_661_488, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(12_330, 0).saturating_mul(r.into())) + // Measured: `868` + // Estimated: `6808` + // Minimum execution time: 267_613_000 picoseconds. + Weight::from_parts(274_975_686, 6808) + // 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)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64remu(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 125697]`. + fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_650_000 picoseconds. - Weight::from_parts(1_989_633, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(10_649, 0).saturating_mul(r.into())) + // Measured: `993 + n * (1 ±0)` + // Estimated: `6930 + n * (1 ±0)` + // Minimum execution time: 340_592_000 picoseconds. + Weight::from_parts(349_921_322, 6930) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_901, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64and(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_sr25519_verify(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_715_000 picoseconds. - Weight::from_parts(1_994_636, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_667, 0).saturating_mul(r.into())) + // Measured: `807 + r * (112 ±0)` + // Estimated: `6747 + r * (112 ±0)` + // Minimum execution time: 266_674_000 picoseconds. + Weight::from_parts(326_772_820, 6747) + // Standard Error: 12_353 + .saturating_add(Weight::from_parts(56_640_768, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64or(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_685_000 picoseconds. - Weight::from_parts(2_075_238, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_743, 0).saturating_mul(r.into())) + // Measured: `903 + r * (76 ±0)` + // Estimated: `6798 + r * (77 ±0)` + // Minimum execution time: 270_817_000 picoseconds. + Weight::from_parts(339_911_259, 6798) + // Standard Error: 15_003 + .saturating_add(Weight::from_parts(46_101_370, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64xor(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_649_000 picoseconds. - Weight::from_parts(1_911_373, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_894, 0).saturating_mul(r.into())) + // Measured: `873 + r * (42 ±0)` + // Estimated: `6812 + r * (42 ±0)` + // Minimum execution time: 257_430_000 picoseconds. + Weight::from_parts(304_271_990, 6812) + // Standard Error: 9_478 + .saturating_add(Weight::from_parts(12_026_428, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shl(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1536 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1536 w:1536) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:1538 w:1538) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_682_000 picoseconds. - Weight::from_parts(2_000_076, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_932, 0).saturating_mul(r.into())) + // Measured: `0 + r * (963 ±0)` + // Estimated: `6803 + r * (3089 ±7)` + // Minimum execution time: 270_428_000 picoseconds. + Weight::from_parts(276_490_000, 6803) + // Standard Error: 57_312 + .saturating_add(Weight::from_parts(24_895_924, 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)) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) + .saturating_add(Weight::from_parts(0, 3089).saturating_mul(r.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shrs(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_686_000 picoseconds. - Weight::from_parts(1_999_600, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_129, 0).saturating_mul(r.into())) + // Measured: `854 + r * (3 ±0)` + // Estimated: `6804 + r * (3 ±0)` + // Minimum execution time: 263_322_000 picoseconds. + Weight::from_parts(282_334_093, 6804) + // Standard Error: 388 + .saturating_add(Weight::from_parts(178_061, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shru(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_628_000 picoseconds. - Weight::from_parts(1_893_440, 0) - // Standard Error: 15 - .saturating_add(Weight::from_parts(5_938, 0).saturating_mul(r.into())) + // Measured: `2094 + r * (39 ±0)` + // Estimated: `7921 + r * (40 ±0)` + // Minimum execution time: 259_656_000 picoseconds. + Weight::from_parts(324_284_841, 7921) + // Standard Error: 1_102 + .saturating_add(Weight::from_parts(346_233, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotl(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_721_000 picoseconds. - Weight::from_parts(1_982_227, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_008, 0).saturating_mul(r.into())) + // Measured: `857 + r * (3 ±0)` + // Estimated: `6804 + r * (3 ±0)` + // Minimum execution time: 268_723_000 picoseconds. + Weight::from_parts(284_570_936, 6804) + // Standard Error: 401 + .saturating_add(Weight::from_parts(155_550, 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())) } /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotr(r: u32, ) -> Weight { + fn instr_i64const(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_648_000 picoseconds. - Weight::from_parts(2_003_359, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_875, 0).saturating_mul(r.into())) + // Minimum execution time: 1_351_000 picoseconds. + Weight::from_parts(1_782_388, 0) + // Standard Error: 14 + .saturating_add(Weight::from_parts(10_307, 0).saturating_mul(r.into())) } } From 2e073930518f58a40579b2cdbcb59136e59fd77e Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 16 Jun 2023 17:04:11 +0300 Subject: [PATCH 39/70] drive-by: update Readme and pallet rustdoc --- frame/contracts/README.md | 48 +++++++++++++++++--------------------- frame/contracts/src/lib.rs | 29 ++++++++++++----------- 2 files changed, 37 insertions(+), 40 deletions(-) diff --git a/frame/contracts/README.md b/frame/contracts/README.md index e95ad7cba5236..2b5fec6ca53d2 100644 --- a/frame/contracts/README.md +++ b/frame/contracts/README.md @@ -24,18 +24,17 @@ or call other smart-contracts. Finally, when an account is reaped, its associated code and storage of the smart-contract account will also be deleted. -### Gas +### Weight -Senders must specify a gas limit with every call, as all instructions invoked by the smart-contract require gas. -Unused gas is refunded after the call, regardless of the execution outcome. +Senders must specify a [`Weight`](https://paritytech.github.io/substrate/master/sp_weights/struct.Weight.html) limit with every call, as all instructions invoked by the smart-contract require weight. +Unused weight is refunded after the call, regardless of the execution outcome. -If the gas limit is reached, then all calls and state changes (including balance transfers) are only -reverted at the current call's contract level. For example, if contract A calls B and B runs out of gas mid-call, +If the weight limit is reached, then all calls and state changes (including balance transfers) are only +reverted at the current call's contract level. For example, if contract A calls B and B runs out of weight mid-call, then all of B's calls are reverted. Assuming correct error handling by contract A, A's other calls and state changes still persist. -One gas is equivalent to one [weight](https://docs.substrate.io/v3/runtime/weights-and-fees) -which is defined as one picosecond of execution time on the runtime's reference machine. +One `ref_time` `Weight` is defined as one picosecond of execution time on the runtime's reference machine. ### Revert Behaviour @@ -43,29 +42,26 @@ Contract call failures are not cascading. When failures occur in a sub-call, the and the call will only revert at the specific contract level. For example, if contract A calls contract B, and B fails, A can decide how to handle that failure, either proceeding or reverting A's changes. -### Offchain Execution +### Off-chain Execution In general, a contract execution needs to be deterministic so that all nodes come to the same conclusion when executing it. To that end we disallow any instructions that could cause indeterminism. Most notable are any floating point arithmetic. That said, sometimes contracts are executed off-chain and hence are not subject to consensus. If code is only executed by a single node and implicitly trusted by other actors is such a case. Trusted execution environments -come to mind. To that end we allow the execution of indeterminstic code for offchain usages +come to mind. To that end we allow the execution of indeterminstic code for off-chain usages with the following constraints: 1. No contract can ever be instantiated from an indeterministic code. The only way to execute the code is to use a delegate call from a deterministic contract. -2. The code that wants to use this feature needs to depend on `pallet-contracts` and use `bare_call` +2. The code that wants to use this feature needs to depend on `pallet-contracts` and use [`bare_call()`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.bare_call) directly. This makes sure that by default `pallet-contracts` does not expose any indeterminism. -## How to use - -When setting up the `Schedule` for your runtime make sure to set `InstructionWeights::fallback` -to a non zero value. The default is `0` and prevents the upload of any non deterministic code. +#### How to use An indeterministic code can be deployed on-chain by passing `Determinism::Relaxed` -to `upload_code`. A deterministic contract can then delegate call into it if and only if it -is ran by using `bare_call` and passing `Determinism::Relaxed` to it. **Never use +to [`upload_code()`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.upload_code). A deterministic contract can then delegate call into it if and only if it +is ran by using [`bare_call()`](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/struct.Pallet.html#method.bare_call) and passing [`Determinism::Relaxed`](https://paritytech.github.io/substrate/master/pallet_contracts/enum.Determinism.html#variant.Relaxed) to it. **Never use this argument when the contract is called from an on-chain transaction.** ## Interface @@ -99,24 +95,22 @@ Each contract is one WebAssembly module that looks like this: ``` The documentation of all importable functions can be found -[here](https://github.com/paritytech/substrate/blob/master/frame/contracts/src/wasm/runtime.rs). -Look for the `define_env!` macro invocation. +[here](https://paritytech.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html). ## Usage This module executes WebAssembly smart contracts. These can potentially be written in any language -that compiles to web assembly. However, using a language that specifically targets this module -will make things a lot easier. One such language is [`ink!`](https://use.ink) -which is an [`eDSL`](https://wiki.haskell.org/Embedded_domain_specific_language) that enables -writing WebAssembly based smart contracts in the Rust programming language. +that compiles to Wasm. However, using a language that specifically targets this module +will make things a lot easier. One such language is [`ink!`](https://use.ink). It enables +writing WebAssembly-based smart-contracts in the Rust programming language. ## Debugging -Contracts can emit messages to the client when called as RPC through the `seal_debug_message` +Contracts can emit messages to the client when called as RPC through the [`debug_message`](https://paritytech.github.io/substrate/master/pallet_contracts/api_doc/trait.Current.html#tymethod.debug_message) API. This is exposed in [ink!](https://use.ink) via [`ink_env::debug_message()`](https://paritytech.github.io/ink/ink_env/fn.debug_message.html). -Those messages are gathered into an internal buffer and send to the RPC client. +Those messages are gathered into an internal buffer and sent to the RPC client. It is up the the individual client if and how those messages are presented to the user. This buffer is also printed as a debug message. In order to see these messages on the node @@ -154,11 +148,11 @@ this pallet contains the concept of an unstable interface. Akin to the rust nigh it allows us to add new interfaces but mark them as unstable so that contract languages can experiment with them and give feedback before we stabilize those. -In order to access interfaces marked as `#[unstable]` in `runtime.rs` one need to set -`pallet_contracts::Config::UnsafeUnstableInterface` to `ConstU32`. It should be obvious +In order to access interfaces marked as `#[unstable]` in [`runtime.rs`](src/wasm/runtime.rs) one need to set +`pallet_contracts::Config::UnsafeUnstableInterface` to `ConstU32`. **It should be obvious that any production runtime should never be compiled with this feature: In addition to be subject to change or removal those interfaces might not have proper weights associated with -them and are therefore considered unsafe. +them and are therefore considered unsafe**. New interfaces are generally added as unstable and might go through several iterations before they are promoted to a stable interface. diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index e4024b81e0707..6f399ee22104b 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -41,14 +41,14 @@ //! Finally, when an account is reaped, its associated code and storage of the smart-contract //! account will also be deleted. //! -//! ### Gas +//! ### Weight //! -//! Senders must specify a gas limit with every call, as all instructions invoked by the -//! smart-contract require gas. Unused gas is refunded after the call, regardless of the execution -//! outcome. +//! Senders must specify a [`Weight`] limit with every call, as all instructions invoked by the +//! smart-contract require weight. Unused weight is refunded after the call, regardless of the +//! execution outcome. //! -//! If the gas limit is reached, then all calls and state changes (including balance transfers) are -//! only reverted at the current call's contract level. For example, if contract A calls B and B +//! If the weight limit is reached, then all calls and state changes (including balance transfers) +//! are only reverted at the current call's contract level. For example, if contract A calls B and B //! runs out of gas mid-call, then all of B's calls are reverted. Assuming correct error handling by //! contract A, A's other calls and state changes still persist. //! @@ -63,22 +63,25 @@ //! //! ### Dispatchable functions //! -//! * [`Pallet::instantiate_with_code`] - Deploys a new contract from the supplied wasm binary, +//! * [`Pallet::instantiate_with_code`] - Deploys a new contract from the supplied Wasm binary, //! optionally transferring //! some balance. This instantiates a new smart contract account with the supplied code and //! calls its constructor to initialize the contract. //! * [`Pallet::instantiate`] - The same as `instantiate_with_code` but instead of uploading new //! code an existing `code_hash` is supplied. //! * [`Pallet::call`] - Makes a call to an account, optionally transferring some balance. +//! * [`Pallet::upload_code`] - Uploads new code without instantiating a contract from it. +//! * [`Pallet::remove_code`] - Removes the stored code and refunds the deposit to its owner. Only +//! allowed to code owner. +//! * [`Pallet::set_code`] - Changes the code of an existing contract. Only allowed to `Root` +//! origin. +//! * [`Pallet::migrate`] - Runs migration steps of curent multi-block migration in priority, before +//! [`Hooks::on_idle`][frame_support::traits::Hooks::on_idle] activates. //! //! ## Usage //! -//! The Contracts module is a work in progress. The following examples show how this module -//! can be used to instantiate and call contracts. -//! -//! * [`ink!`](https://use.ink) is -//! an [`eDSL`](https://wiki.haskell.org/Embedded_domain_specific_language) that enables writing -//! WebAssembly based smart contracts in the Rust programming language. +//! * [`ink!`](https://use.ink) is language that enables writing Wasm-based smart contracts in plain +//! Rust. #![cfg_attr(not(feature = "std"), no_std)] #![cfg_attr(feature = "runtime-benchmarks", recursion_limit = "1024")] From 94be69198d9ab3b432e81b96628c68361a97d541 Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sat, 17 Jun 2023 14:28:06 +0000 Subject: [PATCH 40/70] ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 1186 ++++++++++++++++---------------- 1 file changed, 591 insertions(+), 595 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index 231c35b259373..ef0fdb9571b9f 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,9 +18,9 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-17, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: @@ -33,7 +33,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/substrate/.git/.artifacts/bench.json // --pallet=pallet_contracts // --chain=dev // --header=./HEADER-APACHE2 @@ -137,8 +137,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_605_000 picoseconds. - Weight::from_parts(2_745_000, 1627) + // Minimum execution time: 2_526_000 picoseconds. + Weight::from_parts(2_619_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_800_000 picoseconds. - Weight::from_parts(13_035_000, 441) - // Standard Error: 1_234 - .saturating_add(Weight::from_parts(1_213_662, 0).saturating_mul(k.into())) + // Minimum execution time: 12_222_000 picoseconds. + Weight::from_parts(7_874_446, 441) + // Standard Error: 1_009 + .saturating_add(Weight::from_parts(983_369, 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_729_000 picoseconds. - Weight::from_parts(9_244_587, 6149) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_321, 0).saturating_mul(c.into())) + // Minimum execution time: 8_744_000 picoseconds. + Weight::from_parts(10_972_869, 6149) + // Standard Error: 2 + .saturating_add(Weight::from_parts(1_285, 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())) @@ -181,8 +181,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_991_000 picoseconds. - Weight::from_parts(18_671_000, 6488) + // Minimum execution time: 17_770_000 picoseconds. + Weight::from_parts(18_047_000, 6488) .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_763_000 picoseconds. - Weight::from_parts(2_060_396, 3635) - // Standard Error: 840 - .saturating_add(Weight::from_parts(1_114_194, 0).saturating_mul(k.into())) + // Minimum execution time: 3_879_000 picoseconds. + Weight::from_parts(3_530_303, 3635) + // Standard Error: 988 + .saturating_add(Weight::from_parts(952_156, 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()))) @@ -219,10 +219,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_244_000 picoseconds. - Weight::from_parts(24_539_262, 6313) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(c.into())) + // Minimum execution time: 23_921_000 picoseconds. + Weight::from_parts(26_905_244, 6313) + // Standard Error: 0 + .saturating_add(Weight::from_parts(960, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -233,8 +233,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_464_000 picoseconds. - Weight::from_parts(3_537_000, 1627) + // Minimum execution time: 3_202_000 picoseconds. + Weight::from_parts(3_332_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -246,8 +246,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_278_000 picoseconds. - Weight::from_parts(12_738_000, 3631) + // Minimum execution time: 12_819_000 picoseconds. + Weight::from_parts(13_248_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -257,8 +257,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 4_863_000 picoseconds. - Weight::from_parts(5_231_000, 3607) + // Minimum execution time: 5_131_000 picoseconds. + Weight::from_parts(5_444_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -269,8 +269,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 6_856_000 picoseconds. - Weight::from_parts(7_354_000, 3632) + // Minimum execution time: 7_499_000 picoseconds. + Weight::from_parts(7_807_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -281,8 +281,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_244_000 picoseconds. - Weight::from_parts(7_639_000, 3607) + // Minimum execution time: 7_844_000 picoseconds. + Weight::from_parts(8_243_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -305,10 +305,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `788` // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 293_252_000 picoseconds. - Weight::from_parts(314_429_497, 6737) - // Standard Error: 41 - .saturating_add(Weight::from_parts(37_437, 0).saturating_mul(c.into())) + // Minimum execution time: 256_285_000 picoseconds. + Weight::from_parts(252_238_264, 6737) + // Standard Error: 36 + .saturating_add(Weight::from_parts(34_524, 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())) @@ -336,14 +336,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_746_399_000 picoseconds. - Weight::from_parts(601_624_680, 8745) - // Standard Error: 266 - .saturating_add(Weight::from_parts(77_175, 0).saturating_mul(c.into())) - // Standard Error: 32 - .saturating_add(Weight::from_parts(1_536, 0).saturating_mul(i.into())) - // Standard Error: 32 - .saturating_add(Weight::from_parts(1_852, 0).saturating_mul(s.into())) + // Minimum execution time: 3_053_939_000 picoseconds. + Weight::from_parts(546_019_919, 8745) + // Standard Error: 150 + .saturating_add(Weight::from_parts(69_276, 0).saturating_mul(c.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_092, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_389, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(9_u64)) } @@ -369,12 +369,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `505` // Estimated: `6431` - // Minimum execution time: 1_961_943_000 picoseconds. - Weight::from_parts(415_963_957, 6431) + // Minimum execution time: 1_614_344_000 picoseconds. + Weight::from_parts(284_151_776, 6431) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_635, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_395, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_637, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -396,8 +396,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `840` // Estimated: `6780` - // Minimum execution time: 192_171_000 picoseconds. - Weight::from_parts(201_274_000, 6780) + // Minimum execution time: 184_129_000 picoseconds. + Weight::from_parts(184_653_000, 6780) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -414,10 +414,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 260_570_000 picoseconds. - Weight::from_parts(257_960_229, 3607) - // Standard Error: 136 - .saturating_add(Weight::from_parts(76_620, 0).saturating_mul(c.into())) + // Minimum execution time: 229_300_000 picoseconds. + Weight::from_parts(174_267_970, 3607) + // Standard Error: 82 + .saturating_add(Weight::from_parts(69_989, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -433,8 +433,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `257` // Estimated: `3722` - // Minimum execution time: 33_893_000 picoseconds. - Weight::from_parts(34_921_000, 3722) + // Minimum execution time: 32_464_000 picoseconds. + Weight::from_parts(32_949_000, 3722) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -450,8 +450,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `579` // Estimated: `8994` - // Minimum execution time: 37_625_000 picoseconds. - Weight::from_parts(38_404_000, 8994) + // Minimum execution time: 35_637_000 picoseconds. + Weight::from_parts(35_992_000, 8994) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -474,10 +474,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `862 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 267_999_000 picoseconds. - Weight::from_parts(279_789_385, 6803) - // Standard Error: 730 - .saturating_add(Weight::from_parts(351_857, 0).saturating_mul(r.into())) + // Minimum execution time: 231_288_000 picoseconds. + Weight::from_parts(235_104_934, 6803) + // Standard Error: 803 + .saturating_add(Weight::from_parts(308_024, 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())) @@ -501,10 +501,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `920 + r * (240 ±0)` // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 266_491_000 picoseconds. - Weight::from_parts(123_744_536, 6824) - // Standard Error: 6_430 - .saturating_add(Weight::from_parts(3_652_658, 0).saturating_mul(r.into())) + // Minimum execution time: 231_076_000 picoseconds. + Weight::from_parts(71_489_441, 6824) + // Standard Error: 5_810 + .saturating_add(Weight::from_parts(3_294_169, 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)) @@ -529,10 +529,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `912 + r * (244 ±0)` // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 271_010_000 picoseconds. - Weight::from_parts(132_741_373, 6828) - // Standard Error: 6_201 - .saturating_add(Weight::from_parts(4_501_953, 0).saturating_mul(r.into())) + // Minimum execution time: 234_510_000 picoseconds. + Weight::from_parts(61_305_028, 6828) + // Standard Error: 6_454 + .saturating_add(Weight::from_parts(4_062_373, 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)) @@ -557,10 +557,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 256_823_000 picoseconds. - Weight::from_parts(278_370_824, 6811) - // Standard Error: 863 - .saturating_add(Weight::from_parts(435_881, 0).saturating_mul(r.into())) + // Minimum execution time: 231_605_000 picoseconds. + Weight::from_parts(237_132_340, 6811) + // Standard Error: 594 + .saturating_add(Weight::from_parts(367_942, 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())) @@ -584,10 +584,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 262_446_000 picoseconds. - Weight::from_parts(284_083_856, 6804) - // Standard Error: 478 - .saturating_add(Weight::from_parts(187_672, 0).saturating_mul(r.into())) + // Minimum execution time: 229_374_000 picoseconds. + Weight::from_parts(233_341_039, 6804) + // Standard Error: 320 + .saturating_add(Weight::from_parts(179_102, 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())) @@ -609,10 +609,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `749 + r * (3 ±0)` // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 252_545_000 picoseconds. - Weight::from_parts(270_575_124, 6689) - // Standard Error: 382 - .saturating_add(Weight::from_parts(168_970, 0).saturating_mul(r.into())) + // Minimum execution time: 218_448_000 picoseconds. + Weight::from_parts(223_146_972, 6689) + // Standard Error: 297 + .saturating_add(Weight::from_parts(156_147, 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())) @@ -636,10 +636,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `863 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 258_254_000 picoseconds. - Weight::from_parts(279_322_090, 6805) - // Standard Error: 928 - .saturating_add(Weight::from_parts(341_286, 0).saturating_mul(r.into())) + // Minimum execution time: 230_422_000 picoseconds. + Weight::from_parts(232_730_616, 6805) + // Standard Error: 1_001 + .saturating_add(Weight::from_parts(305_008, 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())) @@ -663,10 +663,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 267_524_000 picoseconds. - Weight::from_parts(298_856_486, 6800) - // Standard Error: 2_321 - .saturating_add(Weight::from_parts(531_545, 0).saturating_mul(r.into())) + // Minimum execution time: 230_397_000 picoseconds. + Weight::from_parts(232_894_343, 6800) + // Standard Error: 958 + .saturating_add(Weight::from_parts(476_821, 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())) @@ -690,10 +690,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1003 + r * (6 ±0)` // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 263_587_000 picoseconds. - Weight::from_parts(288_057_110, 6927) - // Standard Error: 1_764 - .saturating_add(Weight::from_parts(1_536_757, 0).saturating_mul(r.into())) + // Minimum execution time: 233_096_000 picoseconds. + Weight::from_parts(238_922_130, 6927) + // Standard Error: 1_240 + .saturating_add(Weight::from_parts(1_377_987, 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())) @@ -717,10 +717,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `873 + r * (6 ±0)` // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 272_821_000 picoseconds. - Weight::from_parts(281_694_459, 6822) - // Standard Error: 707 - .saturating_add(Weight::from_parts(337_791, 0).saturating_mul(r.into())) + // Minimum execution time: 232_446_000 picoseconds. + Weight::from_parts(231_494_444, 6822) + // Standard Error: 1_083 + .saturating_add(Weight::from_parts(312_884, 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())) @@ -744,10 +744,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 269_144_000 picoseconds. - Weight::from_parts(286_733_568, 6820) - // Standard Error: 632 - .saturating_add(Weight::from_parts(326_852, 0).saturating_mul(r.into())) + // Minimum execution time: 231_408_000 picoseconds. + Weight::from_parts(236_107_027, 6820) + // Standard Error: 688 + .saturating_add(Weight::from_parts(294_409, 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())) @@ -771,10 +771,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 264_898_000 picoseconds. - Weight::from_parts(278_289_181, 6818) - // Standard Error: 727 - .saturating_add(Weight::from_parts(339_198, 0).saturating_mul(r.into())) + // Minimum execution time: 231_288_000 picoseconds. + Weight::from_parts(234_629_830, 6818) + // Standard Error: 696 + .saturating_add(Weight::from_parts(295_972, 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())) @@ -798,10 +798,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 271_716_000 picoseconds. - Weight::from_parts(283_955_388, 6804) - // Standard Error: 625 - .saturating_add(Weight::from_parts(334_417, 0).saturating_mul(r.into())) + // Minimum execution time: 230_524_000 picoseconds. + Weight::from_parts(235_987_717, 6804) + // Standard Error: 916 + .saturating_add(Weight::from_parts(304_957, 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())) @@ -827,10 +827,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `933 + r * (14 ±0)` // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 257_860_000 picoseconds. - Weight::from_parts(293_075_400, 6866) - // Standard Error: 828 - .saturating_add(Weight::from_parts(1_446_598, 0).saturating_mul(r.into())) + // Minimum execution time: 230_818_000 picoseconds. + Weight::from_parts(237_177_909, 6866) + // Standard Error: 1_020 + .saturating_add(Weight::from_parts(1_318_650, 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())) @@ -854,10 +854,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 260_552_000 picoseconds. - Weight::from_parts(286_564_683, 6805) - // Standard Error: 491 - .saturating_add(Weight::from_parts(287_186, 0).saturating_mul(r.into())) + // Minimum execution time: 231_205_000 picoseconds. + Weight::from_parts(233_210_703, 6805) + // Standard Error: 419 + .saturating_add(Weight::from_parts(265_035, 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())) @@ -881,10 +881,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `865` // Estimated: `6805` - // Minimum execution time: 262_067_000 picoseconds. - Weight::from_parts(227_191_236, 6805) - // Standard Error: 24 - .saturating_add(Weight::from_parts(988, 0).saturating_mul(n.into())) + // Minimum execution time: 233_354_000 picoseconds. + Weight::from_parts(235_632_612, 6805) + // Standard Error: 0 + .saturating_add(Weight::from_parts(566, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -907,10 +907,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `849 + r * (45 ±0)` // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 250_995_000 picoseconds. - Weight::from_parts(276_061_469, 6789) - // Standard Error: 848_490 - .saturating_add(Weight::from_parts(3_158_930, 0).saturating_mul(r.into())) + // Minimum execution time: 227_524_000 picoseconds. + Weight::from_parts(229_931_587, 6789) + // Standard Error: 150_834 + .saturating_add(Weight::from_parts(1_751_212, 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())) @@ -934,10 +934,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859` // Estimated: `6812` - // Minimum execution time: 268_616_000 picoseconds. - Weight::from_parts(281_133_770, 6812) + // Minimum execution time: 231_180_000 picoseconds. + Weight::from_parts(232_433_720, 6812) // Standard Error: 0 - .saturating_add(Weight::from_parts(322, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(271, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -964,10 +964,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `891 + r * (300 ±0)` // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 253_638_000 picoseconds. - Weight::from_parts(280_626_938, 6831) - // Standard Error: 881_658 - .saturating_add(Weight::from_parts(125_804_461, 0).saturating_mul(r.into())) + // Minimum execution time: 230_213_000 picoseconds. + Weight::from_parts(232_955_914, 6831) + // Standard Error: 217_759 + .saturating_add(Weight::from_parts(110_493_885, 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)) @@ -995,10 +995,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `940 + r * (10 ±0)` // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 264_610_000 picoseconds. - Weight::from_parts(285_295_004, 6881) - // Standard Error: 3_606 - .saturating_add(Weight::from_parts(1_887_236, 0).saturating_mul(r.into())) + // Minimum execution time: 231_459_000 picoseconds. + Weight::from_parts(239_529_751, 6881) + // Standard Error: 1_986 + .saturating_add(Weight::from_parts(1_696_093, 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())) @@ -1022,10 +1022,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (10 ±0)` // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 254_995_000 picoseconds. - Weight::from_parts(282_088_329, 6804) - // Standard Error: 3_537 - .saturating_add(Weight::from_parts(3_705_908, 0).saturating_mul(r.into())) + // Minimum execution time: 229_705_000 picoseconds. + Weight::from_parts(251_575_587, 6804) + // Standard Error: 2_026 + .saturating_add(Weight::from_parts(3_273_498, 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())) @@ -1050,12 +1050,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `878 + t * (32 ±0)` // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 274_294_000 picoseconds. - Weight::from_parts(288_179_122, 6825) - // Standard Error: 100_930 - .saturating_add(Weight::from_parts(3_477_887, 0).saturating_mul(t.into())) - // Standard Error: 28 - .saturating_add(Weight::from_parts(616, 0).saturating_mul(n.into())) + // Minimum execution time: 247_159_000 picoseconds. + Weight::from_parts(239_251_723, 6825) + // Standard Error: 44_543 + .saturating_add(Weight::from_parts(2_395_739, 0).saturating_mul(t.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(678, 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)) @@ -1081,10 +1081,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (7 ±0)` // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 166_001_000 picoseconds. - Weight::from_parts(179_843_482, 6802) - // Standard Error: 427 - .saturating_add(Weight::from_parts(250_454, 0).saturating_mul(r.into())) + // Minimum execution time: 159_923_000 picoseconds. + Weight::from_parts(165_856_547, 6802) + // Standard Error: 414 + .saturating_add(Weight::from_parts(222_306, 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())) @@ -1108,10 +1108,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `125809` // Estimated: `131751` - // Minimum execution time: 530_321_000 picoseconds. - Weight::from_parts(500_509_784, 131751) - // Standard Error: 12 - .saturating_add(Weight::from_parts(1_034, 0).saturating_mul(i.into())) + // Minimum execution time: 451_590_000 picoseconds. + Weight::from_parts(455_938_036, 131751) + // Standard Error: 1 + .saturating_add(Weight::from_parts(864, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1122,10 +1122,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `926 + r * (292 ±0)` // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 260_457_000 picoseconds. - Weight::from_parts(185_350_892, 924) - // Standard Error: 10_373 - .saturating_add(Weight::from_parts(6_922_211, 0).saturating_mul(r.into())) + // Minimum execution time: 232_506_000 picoseconds. + Weight::from_parts(125_493_408, 924) + // Standard Error: 10_457 + .saturating_add(Weight::from_parts(6_083_139, 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)) @@ -1139,10 +1139,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1385` // Estimated: `1361` - // Minimum execution time: 289_613_000 picoseconds. - Weight::from_parts(332_400_786, 1361) - // Standard Error: 60 - .saturating_add(Weight::from_parts(781, 0).saturating_mul(n.into())) + // Minimum execution time: 245_298_000 picoseconds. + Weight::from_parts(277_144_683, 1361) + // Standard Error: 45 + .saturating_add(Weight::from_parts(484, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -1153,10 +1153,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1248 + n * (1 ±0)` // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 275_133_000 picoseconds. - Weight::from_parts(301_144_154, 1248) - // Standard Error: 30 - .saturating_add(Weight::from_parts(48, 0).saturating_mul(n.into())) + // Minimum execution time: 244_551_000 picoseconds. + Weight::from_parts(247_420_522, 1248) + // Standard Error: 18 + .saturating_add(Weight::from_parts(52, 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())) @@ -1168,10 +1168,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `922 + r * (288 ±0)` // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 254_967_000 picoseconds. - Weight::from_parts(194_626_982, 926) - // Standard Error: 9_677 - .saturating_add(Weight::from_parts(6_789_131, 0).saturating_mul(r.into())) + // Minimum execution time: 231_245_000 picoseconds. + Weight::from_parts(129_063_415, 926) + // Standard Error: 9_899 + .saturating_add(Weight::from_parts(5_951_064, 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)) @@ -1185,10 +1185,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1244 + n * (1 ±0)` // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 280_961_000 picoseconds. - Weight::from_parts(306_621_234, 1244) - // Standard Error: 34 - .saturating_add(Weight::from_parts(135, 0).saturating_mul(n.into())) + // Minimum execution time: 244_736_000 picoseconds. + Weight::from_parts(249_611_780, 1244) .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())) @@ -1200,10 +1198,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `916 + r * (296 ±0)` // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 265_957_000 picoseconds. - Weight::from_parts(210_031_762, 921) - // Standard Error: 8_722 - .saturating_add(Weight::from_parts(5_589_002, 0).saturating_mul(r.into())) + // Minimum execution time: 232_312_000 picoseconds. + Weight::from_parts(150_819_573, 921) + // Standard Error: 9_353 + .saturating_add(Weight::from_parts(4_962_941, 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)) @@ -1216,10 +1214,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1260 + n * (1 ±0)` // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 271_374_000 picoseconds. - Weight::from_parts(294_055_353, 1260) - // Standard Error: 34 - .saturating_add(Weight::from_parts(1_068, 0).saturating_mul(n.into())) + // Minimum execution time: 243_455_000 picoseconds. + Weight::from_parts(246_224_928, 1260) + // Standard Error: 27 + .saturating_add(Weight::from_parts(658, 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())) @@ -1231,10 +1229,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `937 + r * (288 ±0)` // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 270_971_000 picoseconds. - Weight::from_parts(209_549_997, 938) - // Standard Error: 7_478 - .saturating_add(Weight::from_parts(5_431_110, 0).saturating_mul(r.into())) + // Minimum execution time: 232_209_000 picoseconds. + Weight::from_parts(140_999_029, 938) + // Standard Error: 9_273 + .saturating_add(Weight::from_parts(4_830_806, 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)) @@ -1247,10 +1245,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1247 + n * (1 ±0)` // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 269_759_000 picoseconds. - Weight::from_parts(297_511_975, 1247) - // Standard Error: 37 - .saturating_add(Weight::from_parts(13, 0).saturating_mul(n.into())) + // Minimum execution time: 242_173_000 picoseconds. + Weight::from_parts(253_102_153, 1247) .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())) @@ -1262,10 +1258,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `910 + r * (296 ±0)` // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 259_076_000 picoseconds. - Weight::from_parts(184_153_810, 917) - // Standard Error: 10_139 - .saturating_add(Weight::from_parts(6_931_877, 0).saturating_mul(r.into())) + // Minimum execution time: 231_671_000 picoseconds. + Weight::from_parts(122_286_600, 917) + // Standard Error: 10_067 + .saturating_add(Weight::from_parts(6_203_569, 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)) @@ -1279,10 +1275,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1261 + n * (1 ±0)` // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 280_320_000 picoseconds. - Weight::from_parts(305_804_479, 1261) - // Standard Error: 47 - .saturating_add(Weight::from_parts(668, 0).saturating_mul(n.into())) + // Minimum execution time: 245_099_000 picoseconds. + Weight::from_parts(247_381_727, 1261) + // Standard Error: 17 + .saturating_add(Weight::from_parts(656, 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())) @@ -1306,10 +1302,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1454 + r * (45 ±0)` // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 274_387_000 picoseconds. - Weight::from_parts(188_676_452, 7351) - // Standard Error: 24_693 - .saturating_add(Weight::from_parts(37_632_538, 0).saturating_mul(r.into())) + // Minimum execution time: 232_171_000 picoseconds. + Weight::from_parts(124_079_879, 7351) + // Standard Error: 19_964 + .saturating_add(Weight::from_parts(33_504_374, 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)) @@ -1335,10 +1331,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1300 + r * (276 ±0)` // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 267_317_000 picoseconds. - Weight::from_parts(276_871_000, 9485) - // Standard Error: 110_186 - .saturating_add(Weight::from_parts(244_868_028, 0).saturating_mul(r.into())) + // Minimum execution time: 233_856_000 picoseconds. + Weight::from_parts(234_377_000, 9485) + // Standard Error: 61_371 + .saturating_add(Weight::from_parts(202_943_809, 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)) @@ -1363,11 +1359,11 @@ impl WeightInfo for SubstrateWeight { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±3)` - // Minimum execution time: 262_230_000 picoseconds. - Weight::from_parts(278_788_000, 6808) - // Standard Error: 209_557 - .saturating_add(Weight::from_parts(242_679_046, 0).saturating_mul(r.into())) + // Estimated: `6808 + r * (2635 ±10)` + // Minimum execution time: 232_556_000 picoseconds. + Weight::from_parts(233_465_000, 6808) + // Standard Error: 119_906 + .saturating_add(Weight::from_parts(201_562_056, 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)) @@ -1394,12 +1390,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1312 + t * (204 ±0)` // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 450_917_000 picoseconds. - Weight::from_parts(56_401_936, 12202) - // Standard Error: 12_036_426 - .saturating_add(Weight::from_parts(368_521_161, 0).saturating_mul(t.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(992, 0).saturating_mul(c.into())) + // Minimum execution time: 398_365_000 picoseconds. + Weight::from_parts(369_720_025, 12202) + // Standard Error: 2_615_627 + .saturating_add(Weight::from_parts(38_728_599, 0).saturating_mul(t.into())) + // Standard Error: 3 + .saturating_add(Weight::from_parts(572, 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)) @@ -1427,10 +1423,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1385 + r * (253 ±0)` // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 651_367_000 picoseconds. - Weight::from_parts(657_372_000, 7209) - // Standard Error: 534_972 - .saturating_add(Weight::from_parts(393_175_303, 0).saturating_mul(r.into())) + // Minimum execution time: 553_682_000 picoseconds. + Weight::from_parts(849_146_000, 7209) + // Standard Error: 279_474 + .saturating_add(Weight::from_parts(329_826_878, 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)) @@ -1460,12 +1456,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1135 + t * (187 ±0)` // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 2_289_113_000 picoseconds. - Weight::from_parts(1_477_704_357, 9556) - // Standard Error: 21 - .saturating_add(Weight::from_parts(894, 0).saturating_mul(i.into())) - // Standard Error: 21 - .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(s.into())) + // Minimum execution time: 1_571_273_000 picoseconds. + Weight::from_parts(313_928_596, 9556) + // Standard Error: 4_886_863 + .saturating_add(Weight::from_parts(120_816_498, 0).saturating_mul(t.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_133, 0).saturating_mul(i.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_315, 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)) @@ -1491,10 +1489,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 272_938_000 picoseconds. - Weight::from_parts(283_479_443, 6799) - // Standard Error: 604 - .saturating_add(Weight::from_parts(396_395, 0).saturating_mul(r.into())) + // Minimum execution time: 229_313_000 picoseconds. + Weight::from_parts(247_391_773, 6799) + // Standard Error: 2_029 + .saturating_add(Weight::from_parts(575_414, 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: `866` // Estimated: `6806` - // Minimum execution time: 278_131_000 picoseconds. - Weight::from_parts(265_385_985, 6806) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_104, 0).saturating_mul(n.into())) + // Minimum execution time: 232_394_000 picoseconds. + Weight::from_parts(224_376_706, 6806) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_932, 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: `860 + r * (8 ±0)` // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 265_307_000 picoseconds. - Weight::from_parts(282_844_558, 6802) - // Standard Error: 527 - .saturating_add(Weight::from_parts(790_013, 0).saturating_mul(r.into())) + // Minimum execution time: 228_677_000 picoseconds. + Weight::from_parts(233_085_708, 6802) + // Standard Error: 915 + .saturating_add(Weight::from_parts(726_827, 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: `868` // Estimated: `6810` - // Minimum execution time: 260_803_000 picoseconds. - Weight::from_parts(277_817_420, 6810) - // Standard Error: 1 - .saturating_add(Weight::from_parts(3_312, 0).saturating_mul(n.into())) + // Minimum execution time: 230_577_000 picoseconds. + Weight::from_parts(223_478_489, 6810) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_093, 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: `860 + r * (8 ±0)` // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 253_765_000 picoseconds. - Weight::from_parts(285_464_466, 6805) - // Standard Error: 603 - .saturating_add(Weight::from_parts(453_494, 0).saturating_mul(r.into())) + // Minimum execution time: 228_208_000 picoseconds. + Weight::from_parts(233_724_177, 6805) + // Standard Error: 691 + .saturating_add(Weight::from_parts(412_921, 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: `868` // Estimated: `6814` - // Minimum execution time: 269_004_000 picoseconds. - Weight::from_parts(274_535_144, 6814) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_196, 0).saturating_mul(n.into())) + // Minimum execution time: 230_327_000 picoseconds. + Weight::from_parts(224_171_918, 6814) + // Standard Error: 2 + .saturating_add(Weight::from_parts(909, 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: `860 + r * (8 ±0)` // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 261_878_000 picoseconds. - Weight::from_parts(283_648_022, 6806) - // Standard Error: 603 - .saturating_add(Weight::from_parts(450_348, 0).saturating_mul(r.into())) + // Minimum execution time: 228_525_000 picoseconds. + Weight::from_parts(232_557_781, 6806) + // Standard Error: 660 + .saturating_add(Weight::from_parts(413_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())) @@ -1677,10 +1675,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6808` - // Minimum execution time: 267_613_000 picoseconds. - Weight::from_parts(274_975_686, 6808) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) + // Minimum execution time: 230_665_000 picoseconds. + Weight::from_parts(224_584_241, 6808) + // Standard Error: 4 + .saturating_add(Weight::from_parts(923, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1702,11 +1700,11 @@ impl WeightInfo for SubstrateWeight { fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `993 + n * (1 ±0)` - // Estimated: `6930 + n * (1 ±0)` - // Minimum execution time: 340_592_000 picoseconds. - Weight::from_parts(349_921_322, 6930) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_901, 0).saturating_mul(n.into())) + // Estimated: `6929 + n * (1 ±0)` + // Minimum execution time: 284_387_000 picoseconds. + Weight::from_parts(287_621_452, 6929) + // Standard Error: 6 + .saturating_add(Weight::from_parts(5_518, 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: `807 + r * (112 ±0)` + // Measured: `803 + r * (112 ±0)` // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 266_674_000 picoseconds. - Weight::from_parts(326_772_820, 6747) - // Standard Error: 12_353 - .saturating_add(Weight::from_parts(56_640_768, 0).saturating_mul(r.into())) + // Minimum execution time: 232_642_000 picoseconds. + Weight::from_parts(239_626_278, 6747) + // Standard Error: 19_544 + .saturating_add(Weight::from_parts(48_014_016, 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())) @@ -1755,12 +1753,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `903 + r * (76 ±0)` + // Measured: `902 + r * (76 ±0)` // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 270_817_000 picoseconds. - Weight::from_parts(339_911_259, 6798) - // Standard Error: 15_003 - .saturating_add(Weight::from_parts(46_101_370, 0).saturating_mul(r.into())) + // Minimum execution time: 232_148_000 picoseconds. + Weight::from_parts(249_842_964, 6798) + // Standard Error: 19_712 + .saturating_add(Weight::from_parts(37_698_400, 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: `873 + r * (42 ±0)` // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 257_430_000 picoseconds. - Weight::from_parts(304_271_990, 6812) - // Standard Error: 9_478 - .saturating_add(Weight::from_parts(12_026_428, 0).saturating_mul(r.into())) + // Minimum execution time: 232_841_000 picoseconds. + Weight::from_parts(237_024_657, 6812) + // Standard Error: 9_673 + .saturating_add(Weight::from_parts(9_623_645, 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 * (963 ±0)` // Estimated: `6803 + r * (3089 ±7)` - // Minimum execution time: 270_428_000 picoseconds. - Weight::from_parts(276_490_000, 6803) - // Standard Error: 57_312 - .saturating_add(Weight::from_parts(24_895_924, 0).saturating_mul(r.into())) + // Minimum execution time: 231_422_000 picoseconds. + Weight::from_parts(232_255_000, 6803) + // Standard Error: 52_520 + .saturating_add(Weight::from_parts(22_254_263, 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: `854 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 263_322_000 picoseconds. - Weight::from_parts(282_334_093, 6804) - // Standard Error: 388 - .saturating_add(Weight::from_parts(178_061, 0).saturating_mul(r.into())) + // Minimum execution time: 231_340_000 picoseconds. + Weight::from_parts(234_400_872, 6804) + // Standard Error: 273 + .saturating_add(Weight::from_parts(170_278, 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: `2094 + r * (39 ±0)` // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 259_656_000 picoseconds. - Weight::from_parts(324_284_841, 7921) - // Standard Error: 1_102 - .saturating_add(Weight::from_parts(346_233, 0).saturating_mul(r.into())) + // Minimum execution time: 233_662_000 picoseconds. + Weight::from_parts(262_159_344, 7921) + // Standard Error: 1_074 + .saturating_add(Weight::from_parts(292_175, 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: `857 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 268_723_000 picoseconds. - Weight::from_parts(284_570_936, 6804) - // Standard Error: 401 - .saturating_add(Weight::from_parts(155_550, 0).saturating_mul(r.into())) + // Minimum execution time: 232_770_000 picoseconds. + Weight::from_parts(237_994_300, 6804) + // Standard Error: 177 + .saturating_add(Weight::from_parts(149_635, 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_351_000 picoseconds. - Weight::from_parts(1_782_388, 0) + // Minimum execution time: 1_342_000 picoseconds. + Weight::from_parts(2_102_277, 0) // Standard Error: 14 - .saturating_add(Weight::from_parts(10_307, 0).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(8_532, 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_605_000 picoseconds. - Weight::from_parts(2_745_000, 1627) + // Minimum execution time: 2_526_000 picoseconds. + Weight::from_parts(2_619_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_800_000 picoseconds. - Weight::from_parts(13_035_000, 441) - // Standard Error: 1_234 - .saturating_add(Weight::from_parts(1_213_662, 0).saturating_mul(k.into())) + // Minimum execution time: 12_222_000 picoseconds. + Weight::from_parts(7_874_446, 441) + // Standard Error: 1_009 + .saturating_add(Weight::from_parts(983_369, 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_729_000 picoseconds. - Weight::from_parts(9_244_587, 6149) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_321, 0).saturating_mul(c.into())) + // Minimum execution time: 8_744_000 picoseconds. + Weight::from_parts(10_972_869, 6149) + // Standard Error: 2 + .saturating_add(Weight::from_parts(1_285, 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())) @@ -1968,8 +1966,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_991_000 picoseconds. - Weight::from_parts(18_671_000, 6488) + // Minimum execution time: 17_770_000 picoseconds. + Weight::from_parts(18_047_000, 6488) .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_763_000 picoseconds. - Weight::from_parts(2_060_396, 3635) - // Standard Error: 840 - .saturating_add(Weight::from_parts(1_114_194, 0).saturating_mul(k.into())) + // Minimum execution time: 3_879_000 picoseconds. + Weight::from_parts(3_530_303, 3635) + // Standard Error: 988 + .saturating_add(Weight::from_parts(952_156, 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()))) @@ -2006,10 +2004,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_244_000 picoseconds. - Weight::from_parts(24_539_262, 6313) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(c.into())) + // Minimum execution time: 23_921_000 picoseconds. + Weight::from_parts(26_905_244, 6313) + // Standard Error: 0 + .saturating_add(Weight::from_parts(960, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -2020,8 +2018,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_464_000 picoseconds. - Weight::from_parts(3_537_000, 1627) + // Minimum execution time: 3_202_000 picoseconds. + Weight::from_parts(3_332_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2033,8 +2031,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_278_000 picoseconds. - Weight::from_parts(12_738_000, 3631) + // Minimum execution time: 12_819_000 picoseconds. + Weight::from_parts(13_248_000, 3631) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -2044,8 +2042,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 4_863_000 picoseconds. - Weight::from_parts(5_231_000, 3607) + // Minimum execution time: 5_131_000 picoseconds. + Weight::from_parts(5_444_000, 3607) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2056,8 +2054,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 6_856_000 picoseconds. - Weight::from_parts(7_354_000, 3632) + // Minimum execution time: 7_499_000 picoseconds. + Weight::from_parts(7_807_000, 3632) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2068,8 +2066,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_244_000 picoseconds. - Weight::from_parts(7_639_000, 3607) + // Minimum execution time: 7_844_000 picoseconds. + Weight::from_parts(8_243_000, 3607) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2092,10 +2090,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `788` // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 293_252_000 picoseconds. - Weight::from_parts(314_429_497, 6737) - // Standard Error: 41 - .saturating_add(Weight::from_parts(37_437, 0).saturating_mul(c.into())) + // Minimum execution time: 256_285_000 picoseconds. + Weight::from_parts(252_238_264, 6737) + // Standard Error: 36 + .saturating_add(Weight::from_parts(34_524, 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())) @@ -2123,14 +2121,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_746_399_000 picoseconds. - Weight::from_parts(601_624_680, 8745) - // Standard Error: 266 - .saturating_add(Weight::from_parts(77_175, 0).saturating_mul(c.into())) - // Standard Error: 32 - .saturating_add(Weight::from_parts(1_536, 0).saturating_mul(i.into())) - // Standard Error: 32 - .saturating_add(Weight::from_parts(1_852, 0).saturating_mul(s.into())) + // Minimum execution time: 3_053_939_000 picoseconds. + Weight::from_parts(546_019_919, 8745) + // Standard Error: 150 + .saturating_add(Weight::from_parts(69_276, 0).saturating_mul(c.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_092, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_389, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(9_u64)) } @@ -2156,12 +2154,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `505` // Estimated: `6431` - // Minimum execution time: 1_961_943_000 picoseconds. - Weight::from_parts(415_963_957, 6431) + // Minimum execution time: 1_614_344_000 picoseconds. + Weight::from_parts(284_151_776, 6431) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_635, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_395, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_637, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -2183,8 +2181,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `840` // Estimated: `6780` - // Minimum execution time: 192_171_000 picoseconds. - Weight::from_parts(201_274_000, 6780) + // Minimum execution time: 184_129_000 picoseconds. + Weight::from_parts(184_653_000, 6780) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -2201,10 +2199,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 260_570_000 picoseconds. - Weight::from_parts(257_960_229, 3607) - // Standard Error: 136 - .saturating_add(Weight::from_parts(76_620, 0).saturating_mul(c.into())) + // Minimum execution time: 229_300_000 picoseconds. + Weight::from_parts(174_267_970, 3607) + // Standard Error: 82 + .saturating_add(Weight::from_parts(69_989, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2220,8 +2218,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `257` // Estimated: `3722` - // Minimum execution time: 33_893_000 picoseconds. - Weight::from_parts(34_921_000, 3722) + // Minimum execution time: 32_464_000 picoseconds. + Weight::from_parts(32_949_000, 3722) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2237,8 +2235,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `579` // Estimated: `8994` - // Minimum execution time: 37_625_000 picoseconds. - Weight::from_parts(38_404_000, 8994) + // Minimum execution time: 35_637_000 picoseconds. + Weight::from_parts(35_992_000, 8994) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2261,10 +2259,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `862 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 267_999_000 picoseconds. - Weight::from_parts(279_789_385, 6803) - // Standard Error: 730 - .saturating_add(Weight::from_parts(351_857, 0).saturating_mul(r.into())) + // Minimum execution time: 231_288_000 picoseconds. + Weight::from_parts(235_104_934, 6803) + // Standard Error: 803 + .saturating_add(Weight::from_parts(308_024, 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())) @@ -2288,10 +2286,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `920 + r * (240 ±0)` // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 266_491_000 picoseconds. - Weight::from_parts(123_744_536, 6824) - // Standard Error: 6_430 - .saturating_add(Weight::from_parts(3_652_658, 0).saturating_mul(r.into())) + // Minimum execution time: 231_076_000 picoseconds. + Weight::from_parts(71_489_441, 6824) + // Standard Error: 5_810 + .saturating_add(Weight::from_parts(3_294_169, 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)) @@ -2316,10 +2314,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `912 + r * (244 ±0)` // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 271_010_000 picoseconds. - Weight::from_parts(132_741_373, 6828) - // Standard Error: 6_201 - .saturating_add(Weight::from_parts(4_501_953, 0).saturating_mul(r.into())) + // Minimum execution time: 234_510_000 picoseconds. + Weight::from_parts(61_305_028, 6828) + // Standard Error: 6_454 + .saturating_add(Weight::from_parts(4_062_373, 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)) @@ -2344,10 +2342,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 256_823_000 picoseconds. - Weight::from_parts(278_370_824, 6811) - // Standard Error: 863 - .saturating_add(Weight::from_parts(435_881, 0).saturating_mul(r.into())) + // Minimum execution time: 231_605_000 picoseconds. + Weight::from_parts(237_132_340, 6811) + // Standard Error: 594 + .saturating_add(Weight::from_parts(367_942, 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())) @@ -2371,10 +2369,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 262_446_000 picoseconds. - Weight::from_parts(284_083_856, 6804) - // Standard Error: 478 - .saturating_add(Weight::from_parts(187_672, 0).saturating_mul(r.into())) + // Minimum execution time: 229_374_000 picoseconds. + Weight::from_parts(233_341_039, 6804) + // Standard Error: 320 + .saturating_add(Weight::from_parts(179_102, 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())) @@ -2396,10 +2394,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `749 + r * (3 ±0)` // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 252_545_000 picoseconds. - Weight::from_parts(270_575_124, 6689) - // Standard Error: 382 - .saturating_add(Weight::from_parts(168_970, 0).saturating_mul(r.into())) + // Minimum execution time: 218_448_000 picoseconds. + Weight::from_parts(223_146_972, 6689) + // Standard Error: 297 + .saturating_add(Weight::from_parts(156_147, 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())) @@ -2423,10 +2421,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `863 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 258_254_000 picoseconds. - Weight::from_parts(279_322_090, 6805) - // Standard Error: 928 - .saturating_add(Weight::from_parts(341_286, 0).saturating_mul(r.into())) + // Minimum execution time: 230_422_000 picoseconds. + Weight::from_parts(232_730_616, 6805) + // Standard Error: 1_001 + .saturating_add(Weight::from_parts(305_008, 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())) @@ -2450,10 +2448,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 267_524_000 picoseconds. - Weight::from_parts(298_856_486, 6800) - // Standard Error: 2_321 - .saturating_add(Weight::from_parts(531_545, 0).saturating_mul(r.into())) + // Minimum execution time: 230_397_000 picoseconds. + Weight::from_parts(232_894_343, 6800) + // Standard Error: 958 + .saturating_add(Weight::from_parts(476_821, 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())) @@ -2477,10 +2475,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1003 + r * (6 ±0)` // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 263_587_000 picoseconds. - Weight::from_parts(288_057_110, 6927) - // Standard Error: 1_764 - .saturating_add(Weight::from_parts(1_536_757, 0).saturating_mul(r.into())) + // Minimum execution time: 233_096_000 picoseconds. + Weight::from_parts(238_922_130, 6927) + // Standard Error: 1_240 + .saturating_add(Weight::from_parts(1_377_987, 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())) @@ -2504,10 +2502,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `873 + r * (6 ±0)` // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 272_821_000 picoseconds. - Weight::from_parts(281_694_459, 6822) - // Standard Error: 707 - .saturating_add(Weight::from_parts(337_791, 0).saturating_mul(r.into())) + // Minimum execution time: 232_446_000 picoseconds. + Weight::from_parts(231_494_444, 6822) + // Standard Error: 1_083 + .saturating_add(Weight::from_parts(312_884, 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())) @@ -2531,10 +2529,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 269_144_000 picoseconds. - Weight::from_parts(286_733_568, 6820) - // Standard Error: 632 - .saturating_add(Weight::from_parts(326_852, 0).saturating_mul(r.into())) + // Minimum execution time: 231_408_000 picoseconds. + Weight::from_parts(236_107_027, 6820) + // Standard Error: 688 + .saturating_add(Weight::from_parts(294_409, 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())) @@ -2558,10 +2556,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 264_898_000 picoseconds. - Weight::from_parts(278_289_181, 6818) - // Standard Error: 727 - .saturating_add(Weight::from_parts(339_198, 0).saturating_mul(r.into())) + // Minimum execution time: 231_288_000 picoseconds. + Weight::from_parts(234_629_830, 6818) + // Standard Error: 696 + .saturating_add(Weight::from_parts(295_972, 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())) @@ -2585,10 +2583,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 271_716_000 picoseconds. - Weight::from_parts(283_955_388, 6804) - // Standard Error: 625 - .saturating_add(Weight::from_parts(334_417, 0).saturating_mul(r.into())) + // Minimum execution time: 230_524_000 picoseconds. + Weight::from_parts(235_987_717, 6804) + // Standard Error: 916 + .saturating_add(Weight::from_parts(304_957, 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())) @@ -2614,10 +2612,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `933 + r * (14 ±0)` // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 257_860_000 picoseconds. - Weight::from_parts(293_075_400, 6866) - // Standard Error: 828 - .saturating_add(Weight::from_parts(1_446_598, 0).saturating_mul(r.into())) + // Minimum execution time: 230_818_000 picoseconds. + Weight::from_parts(237_177_909, 6866) + // Standard Error: 1_020 + .saturating_add(Weight::from_parts(1_318_650, 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())) @@ -2641,10 +2639,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 260_552_000 picoseconds. - Weight::from_parts(286_564_683, 6805) - // Standard Error: 491 - .saturating_add(Weight::from_parts(287_186, 0).saturating_mul(r.into())) + // Minimum execution time: 231_205_000 picoseconds. + Weight::from_parts(233_210_703, 6805) + // Standard Error: 419 + .saturating_add(Weight::from_parts(265_035, 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())) @@ -2668,10 +2666,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `865` // Estimated: `6805` - // Minimum execution time: 262_067_000 picoseconds. - Weight::from_parts(227_191_236, 6805) - // Standard Error: 24 - .saturating_add(Weight::from_parts(988, 0).saturating_mul(n.into())) + // Minimum execution time: 233_354_000 picoseconds. + Weight::from_parts(235_632_612, 6805) + // Standard Error: 0 + .saturating_add(Weight::from_parts(566, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2694,10 +2692,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `849 + r * (45 ±0)` // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 250_995_000 picoseconds. - Weight::from_parts(276_061_469, 6789) - // Standard Error: 848_490 - .saturating_add(Weight::from_parts(3_158_930, 0).saturating_mul(r.into())) + // Minimum execution time: 227_524_000 picoseconds. + Weight::from_parts(229_931_587, 6789) + // Standard Error: 150_834 + .saturating_add(Weight::from_parts(1_751_212, 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())) @@ -2721,10 +2719,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859` // Estimated: `6812` - // Minimum execution time: 268_616_000 picoseconds. - Weight::from_parts(281_133_770, 6812) + // Minimum execution time: 231_180_000 picoseconds. + Weight::from_parts(232_433_720, 6812) // Standard Error: 0 - .saturating_add(Weight::from_parts(322, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(271, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2751,10 +2749,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `891 + r * (300 ±0)` // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 253_638_000 picoseconds. - Weight::from_parts(280_626_938, 6831) - // Standard Error: 881_658 - .saturating_add(Weight::from_parts(125_804_461, 0).saturating_mul(r.into())) + // Minimum execution time: 230_213_000 picoseconds. + Weight::from_parts(232_955_914, 6831) + // Standard Error: 217_759 + .saturating_add(Weight::from_parts(110_493_885, 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)) @@ -2782,10 +2780,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `940 + r * (10 ±0)` // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 264_610_000 picoseconds. - Weight::from_parts(285_295_004, 6881) - // Standard Error: 3_606 - .saturating_add(Weight::from_parts(1_887_236, 0).saturating_mul(r.into())) + // Minimum execution time: 231_459_000 picoseconds. + Weight::from_parts(239_529_751, 6881) + // Standard Error: 1_986 + .saturating_add(Weight::from_parts(1_696_093, 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())) @@ -2809,10 +2807,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (10 ±0)` // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 254_995_000 picoseconds. - Weight::from_parts(282_088_329, 6804) - // Standard Error: 3_537 - .saturating_add(Weight::from_parts(3_705_908, 0).saturating_mul(r.into())) + // Minimum execution time: 229_705_000 picoseconds. + Weight::from_parts(251_575_587, 6804) + // Standard Error: 2_026 + .saturating_add(Weight::from_parts(3_273_498, 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())) @@ -2837,12 +2835,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `878 + t * (32 ±0)` // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 274_294_000 picoseconds. - Weight::from_parts(288_179_122, 6825) - // Standard Error: 100_930 - .saturating_add(Weight::from_parts(3_477_887, 0).saturating_mul(t.into())) - // Standard Error: 28 - .saturating_add(Weight::from_parts(616, 0).saturating_mul(n.into())) + // Minimum execution time: 247_159_000 picoseconds. + Weight::from_parts(239_251_723, 6825) + // Standard Error: 44_543 + .saturating_add(Weight::from_parts(2_395_739, 0).saturating_mul(t.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(678, 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)) @@ -2868,10 +2866,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (7 ±0)` // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 166_001_000 picoseconds. - Weight::from_parts(179_843_482, 6802) - // Standard Error: 427 - .saturating_add(Weight::from_parts(250_454, 0).saturating_mul(r.into())) + // Minimum execution time: 159_923_000 picoseconds. + Weight::from_parts(165_856_547, 6802) + // Standard Error: 414 + .saturating_add(Weight::from_parts(222_306, 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())) @@ -2895,10 +2893,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `125809` // Estimated: `131751` - // Minimum execution time: 530_321_000 picoseconds. - Weight::from_parts(500_509_784, 131751) - // Standard Error: 12 - .saturating_add(Weight::from_parts(1_034, 0).saturating_mul(i.into())) + // Minimum execution time: 451_590_000 picoseconds. + Weight::from_parts(455_938_036, 131751) + // Standard Error: 1 + .saturating_add(Weight::from_parts(864, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2909,10 +2907,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `926 + r * (292 ±0)` // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 260_457_000 picoseconds. - Weight::from_parts(185_350_892, 924) - // Standard Error: 10_373 - .saturating_add(Weight::from_parts(6_922_211, 0).saturating_mul(r.into())) + // Minimum execution time: 232_506_000 picoseconds. + Weight::from_parts(125_493_408, 924) + // Standard Error: 10_457 + .saturating_add(Weight::from_parts(6_083_139, 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)) @@ -2926,10 +2924,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1385` // Estimated: `1361` - // Minimum execution time: 289_613_000 picoseconds. - Weight::from_parts(332_400_786, 1361) - // Standard Error: 60 - .saturating_add(Weight::from_parts(781, 0).saturating_mul(n.into())) + // Minimum execution time: 245_298_000 picoseconds. + Weight::from_parts(277_144_683, 1361) + // Standard Error: 45 + .saturating_add(Weight::from_parts(484, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2940,10 +2938,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1248 + n * (1 ±0)` // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 275_133_000 picoseconds. - Weight::from_parts(301_144_154, 1248) - // Standard Error: 30 - .saturating_add(Weight::from_parts(48, 0).saturating_mul(n.into())) + // Minimum execution time: 244_551_000 picoseconds. + Weight::from_parts(247_420_522, 1248) + // Standard Error: 18 + .saturating_add(Weight::from_parts(52, 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())) @@ -2955,10 +2953,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `922 + r * (288 ±0)` // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 254_967_000 picoseconds. - Weight::from_parts(194_626_982, 926) - // Standard Error: 9_677 - .saturating_add(Weight::from_parts(6_789_131, 0).saturating_mul(r.into())) + // Minimum execution time: 231_245_000 picoseconds. + Weight::from_parts(129_063_415, 926) + // Standard Error: 9_899 + .saturating_add(Weight::from_parts(5_951_064, 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)) @@ -2972,10 +2970,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1244 + n * (1 ±0)` // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 280_961_000 picoseconds. - Weight::from_parts(306_621_234, 1244) - // Standard Error: 34 - .saturating_add(Weight::from_parts(135, 0).saturating_mul(n.into())) + // Minimum execution time: 244_736_000 picoseconds. + Weight::from_parts(249_611_780, 1244) .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())) @@ -2987,10 +2983,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `916 + r * (296 ±0)` // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 265_957_000 picoseconds. - Weight::from_parts(210_031_762, 921) - // Standard Error: 8_722 - .saturating_add(Weight::from_parts(5_589_002, 0).saturating_mul(r.into())) + // Minimum execution time: 232_312_000 picoseconds. + Weight::from_parts(150_819_573, 921) + // Standard Error: 9_353 + .saturating_add(Weight::from_parts(4_962_941, 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)) @@ -3003,10 +2999,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1260 + n * (1 ±0)` // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 271_374_000 picoseconds. - Weight::from_parts(294_055_353, 1260) - // Standard Error: 34 - .saturating_add(Weight::from_parts(1_068, 0).saturating_mul(n.into())) + // Minimum execution time: 243_455_000 picoseconds. + Weight::from_parts(246_224_928, 1260) + // Standard Error: 27 + .saturating_add(Weight::from_parts(658, 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())) @@ -3018,10 +3014,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `937 + r * (288 ±0)` // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 270_971_000 picoseconds. - Weight::from_parts(209_549_997, 938) - // Standard Error: 7_478 - .saturating_add(Weight::from_parts(5_431_110, 0).saturating_mul(r.into())) + // Minimum execution time: 232_209_000 picoseconds. + Weight::from_parts(140_999_029, 938) + // Standard Error: 9_273 + .saturating_add(Weight::from_parts(4_830_806, 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)) @@ -3034,10 +3030,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1247 + n * (1 ±0)` // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 269_759_000 picoseconds. - Weight::from_parts(297_511_975, 1247) - // Standard Error: 37 - .saturating_add(Weight::from_parts(13, 0).saturating_mul(n.into())) + // Minimum execution time: 242_173_000 picoseconds. + Weight::from_parts(253_102_153, 1247) .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())) @@ -3049,10 +3043,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `910 + r * (296 ±0)` // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 259_076_000 picoseconds. - Weight::from_parts(184_153_810, 917) - // Standard Error: 10_139 - .saturating_add(Weight::from_parts(6_931_877, 0).saturating_mul(r.into())) + // Minimum execution time: 231_671_000 picoseconds. + Weight::from_parts(122_286_600, 917) + // Standard Error: 10_067 + .saturating_add(Weight::from_parts(6_203_569, 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)) @@ -3066,10 +3060,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1261 + n * (1 ±0)` // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 280_320_000 picoseconds. - Weight::from_parts(305_804_479, 1261) - // Standard Error: 47 - .saturating_add(Weight::from_parts(668, 0).saturating_mul(n.into())) + // Minimum execution time: 245_099_000 picoseconds. + Weight::from_parts(247_381_727, 1261) + // Standard Error: 17 + .saturating_add(Weight::from_parts(656, 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())) @@ -3093,10 +3087,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1454 + r * (45 ±0)` // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 274_387_000 picoseconds. - Weight::from_parts(188_676_452, 7351) - // Standard Error: 24_693 - .saturating_add(Weight::from_parts(37_632_538, 0).saturating_mul(r.into())) + // Minimum execution time: 232_171_000 picoseconds. + Weight::from_parts(124_079_879, 7351) + // Standard Error: 19_964 + .saturating_add(Weight::from_parts(33_504_374, 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)) @@ -3122,10 +3116,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1300 + r * (276 ±0)` // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 267_317_000 picoseconds. - Weight::from_parts(276_871_000, 9485) - // Standard Error: 110_186 - .saturating_add(Weight::from_parts(244_868_028, 0).saturating_mul(r.into())) + // Minimum execution time: 233_856_000 picoseconds. + Weight::from_parts(234_377_000, 9485) + // Standard Error: 61_371 + .saturating_add(Weight::from_parts(202_943_809, 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)) @@ -3150,11 +3144,11 @@ impl WeightInfo for () { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±3)` - // Minimum execution time: 262_230_000 picoseconds. - Weight::from_parts(278_788_000, 6808) - // Standard Error: 209_557 - .saturating_add(Weight::from_parts(242_679_046, 0).saturating_mul(r.into())) + // Estimated: `6808 + r * (2635 ±10)` + // Minimum execution time: 232_556_000 picoseconds. + Weight::from_parts(233_465_000, 6808) + // Standard Error: 119_906 + .saturating_add(Weight::from_parts(201_562_056, 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)) @@ -3181,12 +3175,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1312 + t * (204 ±0)` // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 450_917_000 picoseconds. - Weight::from_parts(56_401_936, 12202) - // Standard Error: 12_036_426 - .saturating_add(Weight::from_parts(368_521_161, 0).saturating_mul(t.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(992, 0).saturating_mul(c.into())) + // Minimum execution time: 398_365_000 picoseconds. + Weight::from_parts(369_720_025, 12202) + // Standard Error: 2_615_627 + .saturating_add(Weight::from_parts(38_728_599, 0).saturating_mul(t.into())) + // Standard Error: 3 + .saturating_add(Weight::from_parts(572, 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)) @@ -3214,10 +3208,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1385 + r * (253 ±0)` // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 651_367_000 picoseconds. - Weight::from_parts(657_372_000, 7209) - // Standard Error: 534_972 - .saturating_add(Weight::from_parts(393_175_303, 0).saturating_mul(r.into())) + // Minimum execution time: 553_682_000 picoseconds. + Weight::from_parts(849_146_000, 7209) + // Standard Error: 279_474 + .saturating_add(Weight::from_parts(329_826_878, 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)) @@ -3247,12 +3241,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1135 + t * (187 ±0)` // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 2_289_113_000 picoseconds. - Weight::from_parts(1_477_704_357, 9556) - // Standard Error: 21 - .saturating_add(Weight::from_parts(894, 0).saturating_mul(i.into())) - // Standard Error: 21 - .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(s.into())) + // Minimum execution time: 1_571_273_000 picoseconds. + Weight::from_parts(313_928_596, 9556) + // Standard Error: 4_886_863 + .saturating_add(Weight::from_parts(120_816_498, 0).saturating_mul(t.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_133, 0).saturating_mul(i.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_315, 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)) @@ -3278,10 +3274,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 272_938_000 picoseconds. - Weight::from_parts(283_479_443, 6799) - // Standard Error: 604 - .saturating_add(Weight::from_parts(396_395, 0).saturating_mul(r.into())) + // Minimum execution time: 229_313_000 picoseconds. + Weight::from_parts(247_391_773, 6799) + // Standard Error: 2_029 + .saturating_add(Weight::from_parts(575_414, 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: `866` // Estimated: `6806` - // Minimum execution time: 278_131_000 picoseconds. - Weight::from_parts(265_385_985, 6806) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_104, 0).saturating_mul(n.into())) + // Minimum execution time: 232_394_000 picoseconds. + Weight::from_parts(224_376_706, 6806) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_932, 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: `860 + r * (8 ±0)` // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 265_307_000 picoseconds. - Weight::from_parts(282_844_558, 6802) - // Standard Error: 527 - .saturating_add(Weight::from_parts(790_013, 0).saturating_mul(r.into())) + // Minimum execution time: 228_677_000 picoseconds. + Weight::from_parts(233_085_708, 6802) + // Standard Error: 915 + .saturating_add(Weight::from_parts(726_827, 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: `868` // Estimated: `6810` - // Minimum execution time: 260_803_000 picoseconds. - Weight::from_parts(277_817_420, 6810) - // Standard Error: 1 - .saturating_add(Weight::from_parts(3_312, 0).saturating_mul(n.into())) + // Minimum execution time: 230_577_000 picoseconds. + Weight::from_parts(223_478_489, 6810) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_093, 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: `860 + r * (8 ±0)` // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 253_765_000 picoseconds. - Weight::from_parts(285_464_466, 6805) - // Standard Error: 603 - .saturating_add(Weight::from_parts(453_494, 0).saturating_mul(r.into())) + // Minimum execution time: 228_208_000 picoseconds. + Weight::from_parts(233_724_177, 6805) + // Standard Error: 691 + .saturating_add(Weight::from_parts(412_921, 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: `868` // Estimated: `6814` - // Minimum execution time: 269_004_000 picoseconds. - Weight::from_parts(274_535_144, 6814) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_196, 0).saturating_mul(n.into())) + // Minimum execution time: 230_327_000 picoseconds. + Weight::from_parts(224_171_918, 6814) + // Standard Error: 2 + .saturating_add(Weight::from_parts(909, 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: `860 + r * (8 ±0)` // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 261_878_000 picoseconds. - Weight::from_parts(283_648_022, 6806) - // Standard Error: 603 - .saturating_add(Weight::from_parts(450_348, 0).saturating_mul(r.into())) + // Minimum execution time: 228_525_000 picoseconds. + Weight::from_parts(232_557_781, 6806) + // Standard Error: 660 + .saturating_add(Weight::from_parts(413_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())) @@ -3464,10 +3460,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6808` - // Minimum execution time: 267_613_000 picoseconds. - Weight::from_parts(274_975_686, 6808) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) + // Minimum execution time: 230_665_000 picoseconds. + Weight::from_parts(224_584_241, 6808) + // Standard Error: 4 + .saturating_add(Weight::from_parts(923, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3489,11 +3485,11 @@ impl WeightInfo for () { fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `993 + n * (1 ±0)` - // Estimated: `6930 + n * (1 ±0)` - // Minimum execution time: 340_592_000 picoseconds. - Weight::from_parts(349_921_322, 6930) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_901, 0).saturating_mul(n.into())) + // Estimated: `6929 + n * (1 ±0)` + // Minimum execution time: 284_387_000 picoseconds. + Weight::from_parts(287_621_452, 6929) + // Standard Error: 6 + .saturating_add(Weight::from_parts(5_518, 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: `807 + r * (112 ±0)` + // Measured: `803 + r * (112 ±0)` // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 266_674_000 picoseconds. - Weight::from_parts(326_772_820, 6747) - // Standard Error: 12_353 - .saturating_add(Weight::from_parts(56_640_768, 0).saturating_mul(r.into())) + // Minimum execution time: 232_642_000 picoseconds. + Weight::from_parts(239_626_278, 6747) + // Standard Error: 19_544 + .saturating_add(Weight::from_parts(48_014_016, 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())) @@ -3542,12 +3538,12 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `903 + r * (76 ±0)` + // Measured: `902 + r * (76 ±0)` // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 270_817_000 picoseconds. - Weight::from_parts(339_911_259, 6798) - // Standard Error: 15_003 - .saturating_add(Weight::from_parts(46_101_370, 0).saturating_mul(r.into())) + // Minimum execution time: 232_148_000 picoseconds. + Weight::from_parts(249_842_964, 6798) + // Standard Error: 19_712 + .saturating_add(Weight::from_parts(37_698_400, 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: `873 + r * (42 ±0)` // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 257_430_000 picoseconds. - Weight::from_parts(304_271_990, 6812) - // Standard Error: 9_478 - .saturating_add(Weight::from_parts(12_026_428, 0).saturating_mul(r.into())) + // Minimum execution time: 232_841_000 picoseconds. + Weight::from_parts(237_024_657, 6812) + // Standard Error: 9_673 + .saturating_add(Weight::from_parts(9_623_645, 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 * (963 ±0)` // Estimated: `6803 + r * (3089 ±7)` - // Minimum execution time: 270_428_000 picoseconds. - Weight::from_parts(276_490_000, 6803) - // Standard Error: 57_312 - .saturating_add(Weight::from_parts(24_895_924, 0).saturating_mul(r.into())) + // Minimum execution time: 231_422_000 picoseconds. + Weight::from_parts(232_255_000, 6803) + // Standard Error: 52_520 + .saturating_add(Weight::from_parts(22_254_263, 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: `854 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 263_322_000 picoseconds. - Weight::from_parts(282_334_093, 6804) - // Standard Error: 388 - .saturating_add(Weight::from_parts(178_061, 0).saturating_mul(r.into())) + // Minimum execution time: 231_340_000 picoseconds. + Weight::from_parts(234_400_872, 6804) + // Standard Error: 273 + .saturating_add(Weight::from_parts(170_278, 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: `2094 + r * (39 ±0)` // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 259_656_000 picoseconds. - Weight::from_parts(324_284_841, 7921) - // Standard Error: 1_102 - .saturating_add(Weight::from_parts(346_233, 0).saturating_mul(r.into())) + // Minimum execution time: 233_662_000 picoseconds. + Weight::from_parts(262_159_344, 7921) + // Standard Error: 1_074 + .saturating_add(Weight::from_parts(292_175, 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: `857 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 268_723_000 picoseconds. - Weight::from_parts(284_570_936, 6804) - // Standard Error: 401 - .saturating_add(Weight::from_parts(155_550, 0).saturating_mul(r.into())) + // Minimum execution time: 232_770_000 picoseconds. + Weight::from_parts(237_994_300, 6804) + // Standard Error: 177 + .saturating_add(Weight::from_parts(149_635, 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_351_000 picoseconds. - Weight::from_parts(1_782_388, 0) + // Minimum execution time: 1_342_000 picoseconds. + Weight::from_parts(2_102_277, 0) // Standard Error: 14 - .saturating_add(Weight::from_parts(10_307, 0).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(8_532, 0).saturating_mul(r.into())) } } From 721d4b6141a5ed760e0b5540d50378b997df9f30 Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sat, 17 Jun 2023 20:38:19 +0000 Subject: [PATCH 41/70] ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 1172 ++++++++++++++++---------------- 1 file changed, 588 insertions(+), 584 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index ef0fdb9571b9f..b7fafd455ba0a 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -137,8 +137,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_526_000 picoseconds. - Weight::from_parts(2_619_000, 1627) + // Minimum execution time: 2_573_000 picoseconds. + Weight::from_parts(2_704_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_222_000 picoseconds. - Weight::from_parts(7_874_446, 441) - // Standard Error: 1_009 - .saturating_add(Weight::from_parts(983_369, 0).saturating_mul(k.into())) + // Minimum execution time: 12_466_000 picoseconds. + Weight::from_parts(8_058_990, 441) + // Standard Error: 1_044 + .saturating_add(Weight::from_parts(984_050, 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_744_000 picoseconds. - Weight::from_parts(10_972_869, 6149) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_285, 0).saturating_mul(c.into())) + // Minimum execution time: 9_208_000 picoseconds. + Weight::from_parts(10_257_369, 6149) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_290, 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())) @@ -181,8 +181,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_770_000 picoseconds. - Weight::from_parts(18_047_000, 6488) + // Minimum execution time: 17_862_000 picoseconds. + Weight::from_parts(18_273_000, 6488) .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_879_000 picoseconds. - Weight::from_parts(3_530_303, 3635) - // Standard Error: 988 - .saturating_add(Weight::from_parts(952_156, 0).saturating_mul(k.into())) + // Minimum execution time: 3_849_000 picoseconds. + Weight::from_parts(2_652_504, 3635) + // Standard Error: 1_063 + .saturating_add(Weight::from_parts(1_033_214, 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()))) @@ -219,10 +219,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_921_000 picoseconds. - Weight::from_parts(26_905_244, 6313) - // Standard Error: 0 - .saturating_add(Weight::from_parts(960, 0).saturating_mul(c.into())) + // Minimum execution time: 23_665_000 picoseconds. + Weight::from_parts(26_798_407, 6313) + // Standard Error: 1 + .saturating_add(Weight::from_parts(957, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -233,8 +233,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_202_000 picoseconds. - Weight::from_parts(3_332_000, 1627) + // Minimum execution time: 3_412_000 picoseconds. + Weight::from_parts(3_529_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -246,8 +246,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_819_000 picoseconds. - Weight::from_parts(13_248_000, 3631) + // Minimum execution time: 12_840_000 picoseconds. + Weight::from_parts(13_182_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -257,8 +257,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 5_131_000 picoseconds. - Weight::from_parts(5_444_000, 3607) + // Minimum execution time: 5_128_000 picoseconds. + Weight::from_parts(5_375_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -269,8 +269,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 7_499_000 picoseconds. - Weight::from_parts(7_807_000, 3632) + // Minimum execution time: 7_133_000 picoseconds. + Weight::from_parts(7_652_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -281,8 +281,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_844_000 picoseconds. - Weight::from_parts(8_243_000, 3607) + // Minimum execution time: 7_836_000 picoseconds. + Weight::from_parts(8_200_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -305,10 +305,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `788` // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 256_285_000 picoseconds. - Weight::from_parts(252_238_264, 6737) - // Standard Error: 36 - .saturating_add(Weight::from_parts(34_524, 0).saturating_mul(c.into())) + // Minimum execution time: 261_651_000 picoseconds. + Weight::from_parts(258_159_011, 6737) + // Standard Error: 33 + .saturating_add(Weight::from_parts(33_653, 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())) @@ -336,14 +336,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_053_939_000 picoseconds. - Weight::from_parts(546_019_919, 8745) - // Standard Error: 150 - .saturating_add(Weight::from_parts(69_276, 0).saturating_mul(c.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_092, 0).saturating_mul(i.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_389, 0).saturating_mul(s.into())) + // Minimum execution time: 3_088_354_000 picoseconds. + Weight::from_parts(694_873_563, 8745) + // Standard Error: 169 + .saturating_add(Weight::from_parts(68_125, 0).saturating_mul(c.into())) + // Standard Error: 20 + .saturating_add(Weight::from_parts(1_019, 0).saturating_mul(i.into())) + // Standard Error: 20 + .saturating_add(Weight::from_parts(1_340, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(9_u64)) } @@ -369,12 +369,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `505` // Estimated: `6431` - // Minimum execution time: 1_614_344_000 picoseconds. - Weight::from_parts(284_151_776, 6431) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_395, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(s.into())) + // Minimum execution time: 1_622_269_000 picoseconds. + Weight::from_parts(319_925_845, 6431) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(i.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_381, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -396,8 +396,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `840` // Estimated: `6780` - // Minimum execution time: 184_129_000 picoseconds. - Weight::from_parts(184_653_000, 6780) + // Minimum execution time: 194_542_000 picoseconds. + Weight::from_parts(195_741_000, 6780) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -414,10 +414,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 229_300_000 picoseconds. - Weight::from_parts(174_267_970, 3607) - // Standard Error: 82 - .saturating_add(Weight::from_parts(69_989, 0).saturating_mul(c.into())) + // Minimum execution time: 233_777_000 picoseconds. + Weight::from_parts(214_148_420, 3607) + // Standard Error: 67 + .saturating_add(Weight::from_parts(67_940, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -433,8 +433,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `257` // Estimated: `3722` - // Minimum execution time: 32_464_000 picoseconds. - Weight::from_parts(32_949_000, 3722) + // Minimum execution time: 33_715_000 picoseconds. + Weight::from_parts(34_223_000, 3722) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -450,8 +450,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `579` // Estimated: `8994` - // Minimum execution time: 35_637_000 picoseconds. - Weight::from_parts(35_992_000, 8994) + // Minimum execution time: 36_291_000 picoseconds. + Weight::from_parts(36_731_000, 8994) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -474,10 +474,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `862 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 231_288_000 picoseconds. - Weight::from_parts(235_104_934, 6803) - // Standard Error: 803 - .saturating_add(Weight::from_parts(308_024, 0).saturating_mul(r.into())) + // Minimum execution time: 235_273_000 picoseconds. + Weight::from_parts(238_445_659, 6803) + // Standard Error: 985 + .saturating_add(Weight::from_parts(303_931, 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())) @@ -501,10 +501,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `920 + r * (240 ±0)` // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 231_076_000 picoseconds. - Weight::from_parts(71_489_441, 6824) - // Standard Error: 5_810 - .saturating_add(Weight::from_parts(3_294_169, 0).saturating_mul(r.into())) + // Minimum execution time: 236_442_000 picoseconds. + Weight::from_parts(69_410_637, 6824) + // Standard Error: 6_071 + .saturating_add(Weight::from_parts(3_348_834, 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)) @@ -529,10 +529,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `912 + r * (244 ±0)` // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 234_510_000 picoseconds. - Weight::from_parts(61_305_028, 6828) - // Standard Error: 6_454 - .saturating_add(Weight::from_parts(4_062_373, 0).saturating_mul(r.into())) + // Minimum execution time: 236_350_000 picoseconds. + Weight::from_parts(59_062_734, 6828) + // Standard Error: 6_929 + .saturating_add(Weight::from_parts(4_111_179, 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)) @@ -557,10 +557,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 231_605_000 picoseconds. - Weight::from_parts(237_132_340, 6811) - // Standard Error: 594 - .saturating_add(Weight::from_parts(367_942, 0).saturating_mul(r.into())) + // Minimum execution time: 236_432_000 picoseconds. + Weight::from_parts(237_424_115, 6811) + // Standard Error: 601 + .saturating_add(Weight::from_parts(371_988, 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())) @@ -584,10 +584,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 229_374_000 picoseconds. - Weight::from_parts(233_341_039, 6804) - // Standard Error: 320 - .saturating_add(Weight::from_parts(179_102, 0).saturating_mul(r.into())) + // Minimum execution time: 233_918_000 picoseconds. + Weight::from_parts(238_264_956, 6804) + // Standard Error: 2_291 + .saturating_add(Weight::from_parts(182_760, 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())) @@ -609,10 +609,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `749 + r * (3 ±0)` // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 218_448_000 picoseconds. - Weight::from_parts(223_146_972, 6689) - // Standard Error: 297 - .saturating_add(Weight::from_parts(156_147, 0).saturating_mul(r.into())) + // Minimum execution time: 222_665_000 picoseconds. + Weight::from_parts(226_891_455, 6689) + // Standard Error: 326 + .saturating_add(Weight::from_parts(157_251, 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())) @@ -636,10 +636,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `863 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 230_422_000 picoseconds. - Weight::from_parts(232_730_616, 6805) - // Standard Error: 1_001 - .saturating_add(Weight::from_parts(305_008, 0).saturating_mul(r.into())) + // Minimum execution time: 235_173_000 picoseconds. + Weight::from_parts(239_226_265, 6805) + // Standard Error: 578 + .saturating_add(Weight::from_parts(295_140, 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())) @@ -663,10 +663,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 230_397_000 picoseconds. - Weight::from_parts(232_894_343, 6800) - // Standard Error: 958 - .saturating_add(Weight::from_parts(476_821, 0).saturating_mul(r.into())) + // Minimum execution time: 235_708_000 picoseconds. + Weight::from_parts(239_679_148, 6800) + // Standard Error: 1_079 + .saturating_add(Weight::from_parts(471_952, 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())) @@ -690,10 +690,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1003 + r * (6 ±0)` // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 233_096_000 picoseconds. - Weight::from_parts(238_922_130, 6927) - // Standard Error: 1_240 - .saturating_add(Weight::from_parts(1_377_987, 0).saturating_mul(r.into())) + // Minimum execution time: 234_931_000 picoseconds. + Weight::from_parts(241_581_669, 6927) + // Standard Error: 1_067 + .saturating_add(Weight::from_parts(1_434_140, 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())) @@ -717,10 +717,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `873 + r * (6 ±0)` // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 232_446_000 picoseconds. - Weight::from_parts(231_494_444, 6822) - // Standard Error: 1_083 - .saturating_add(Weight::from_parts(312_884, 0).saturating_mul(r.into())) + // Minimum execution time: 236_084_000 picoseconds. + Weight::from_parts(246_964_158, 6822) + // Standard Error: 5_079 + .saturating_add(Weight::from_parts(296_545, 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())) @@ -744,10 +744,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 231_408_000 picoseconds. - Weight::from_parts(236_107_027, 6820) - // Standard Error: 688 - .saturating_add(Weight::from_parts(294_409, 0).saturating_mul(r.into())) + // Minimum execution time: 235_345_000 picoseconds. + Weight::from_parts(246_153_628, 6820) + // Standard Error: 1_394 + .saturating_add(Weight::from_parts(281_114, 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())) @@ -771,10 +771,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 231_288_000 picoseconds. - Weight::from_parts(234_629_830, 6818) - // Standard Error: 696 - .saturating_add(Weight::from_parts(295_972, 0).saturating_mul(r.into())) + // Minimum execution time: 234_406_000 picoseconds. + Weight::from_parts(239_022_171, 6818) + // Standard Error: 495 + .saturating_add(Weight::from_parts(287_854, 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())) @@ -798,10 +798,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 230_524_000 picoseconds. - Weight::from_parts(235_987_717, 6804) - // Standard Error: 916 - .saturating_add(Weight::from_parts(304_957, 0).saturating_mul(r.into())) + // Minimum execution time: 235_041_000 picoseconds. + Weight::from_parts(238_562_668, 6804) + // Standard Error: 466 + .saturating_add(Weight::from_parts(292_419, 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())) @@ -827,10 +827,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `933 + r * (14 ±0)` // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 230_818_000 picoseconds. - Weight::from_parts(237_177_909, 6866) - // Standard Error: 1_020 - .saturating_add(Weight::from_parts(1_318_650, 0).saturating_mul(r.into())) + // Minimum execution time: 234_531_000 picoseconds. + Weight::from_parts(242_532_350, 6866) + // Standard Error: 1_054 + .saturating_add(Weight::from_parts(1_334_533, 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())) @@ -854,10 +854,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 231_205_000 picoseconds. - Weight::from_parts(233_210_703, 6805) - // Standard Error: 419 - .saturating_add(Weight::from_parts(265_035, 0).saturating_mul(r.into())) + // Minimum execution time: 235_181_000 picoseconds. + Weight::from_parts(238_613_614, 6805) + // Standard Error: 576 + .saturating_add(Weight::from_parts(253_915, 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())) @@ -881,10 +881,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `865` // Estimated: `6805` - // Minimum execution time: 233_354_000 picoseconds. - Weight::from_parts(235_632_612, 6805) - // Standard Error: 0 - .saturating_add(Weight::from_parts(566, 0).saturating_mul(n.into())) + // Minimum execution time: 235_713_000 picoseconds. + Weight::from_parts(239_732_972, 6805) + // Standard Error: 1 + .saturating_add(Weight::from_parts(567, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -907,10 +907,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `849 + r * (45 ±0)` // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 227_524_000 picoseconds. - Weight::from_parts(229_931_587, 6789) - // Standard Error: 150_834 - .saturating_add(Weight::from_parts(1_751_212, 0).saturating_mul(r.into())) + // Minimum execution time: 231_204_000 picoseconds. + Weight::from_parts(233_964_393, 6789) + // Standard Error: 185_439 + .saturating_add(Weight::from_parts(2_657_106, 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())) @@ -934,10 +934,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859` // Estimated: `6812` - // Minimum execution time: 231_180_000 picoseconds. - Weight::from_parts(232_433_720, 6812) + // Minimum execution time: 235_132_000 picoseconds. + Weight::from_parts(236_424_515, 6812) // Standard Error: 0 - .saturating_add(Weight::from_parts(271, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -964,10 +964,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `891 + r * (300 ±0)` // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 230_213_000 picoseconds. - Weight::from_parts(232_955_914, 6831) - // Standard Error: 217_759 - .saturating_add(Weight::from_parts(110_493_885, 0).saturating_mul(r.into())) + // Minimum execution time: 234_791_000 picoseconds. + Weight::from_parts(236_660_753, 6831) + // Standard Error: 197_422 + .saturating_add(Weight::from_parts(114_341_846, 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)) @@ -995,10 +995,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `940 + r * (10 ±0)` // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 231_459_000 picoseconds. - Weight::from_parts(239_529_751, 6881) - // Standard Error: 1_986 - .saturating_add(Weight::from_parts(1_696_093, 0).saturating_mul(r.into())) + // Minimum execution time: 234_845_000 picoseconds. + Weight::from_parts(238_678_506, 6881) + // Standard Error: 7_321 + .saturating_add(Weight::from_parts(1_827_270, 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())) @@ -1022,10 +1022,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (10 ±0)` // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 229_705_000 picoseconds. - Weight::from_parts(251_575_587, 6804) - // Standard Error: 2_026 - .saturating_add(Weight::from_parts(3_273_498, 0).saturating_mul(r.into())) + // Minimum execution time: 234_371_000 picoseconds. + Weight::from_parts(240_688_540, 6804) + // Standard Error: 2_265 + .saturating_add(Weight::from_parts(3_594_517, 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())) @@ -1050,12 +1050,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `878 + t * (32 ±0)` // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 247_159_000 picoseconds. - Weight::from_parts(239_251_723, 6825) - // Standard Error: 44_543 - .saturating_add(Weight::from_parts(2_395_739, 0).saturating_mul(t.into())) - // Standard Error: 12 - .saturating_add(Weight::from_parts(678, 0).saturating_mul(n.into())) + // Minimum execution time: 250_583_000 picoseconds. + Weight::from_parts(243_645_227, 6825) + // Standard Error: 42_305 + .saturating_add(Weight::from_parts(2_459_102, 0).saturating_mul(t.into())) + // Standard Error: 11 + .saturating_add(Weight::from_parts(667, 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)) @@ -1081,10 +1081,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (7 ±0)` // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 159_923_000 picoseconds. - Weight::from_parts(165_856_547, 6802) - // Standard Error: 414 - .saturating_add(Weight::from_parts(222_306, 0).saturating_mul(r.into())) + // Minimum execution time: 161_534_000 picoseconds. + Weight::from_parts(165_244_020, 6802) + // Standard Error: 349 + .saturating_add(Weight::from_parts(226_353, 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())) @@ -1108,10 +1108,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `125809` // Estimated: `131751` - // Minimum execution time: 451_590_000 picoseconds. - Weight::from_parts(455_938_036, 131751) + // Minimum execution time: 456_546_000 picoseconds. + Weight::from_parts(458_378_061, 131751) // Standard Error: 1 - .saturating_add(Weight::from_parts(864, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(865, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1122,10 +1122,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `926 + r * (292 ±0)` // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 232_506_000 picoseconds. - Weight::from_parts(125_493_408, 924) - // Standard Error: 10_457 - .saturating_add(Weight::from_parts(6_083_139, 0).saturating_mul(r.into())) + // Minimum execution time: 237_444_000 picoseconds. + Weight::from_parts(127_397_650, 924) + // Standard Error: 10_459 + .saturating_add(Weight::from_parts(6_231_823, 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)) @@ -1139,10 +1139,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1385` // Estimated: `1361` - // Minimum execution time: 245_298_000 picoseconds. - Weight::from_parts(277_144_683, 1361) - // Standard Error: 45 - .saturating_add(Weight::from_parts(484, 0).saturating_mul(n.into())) + // Minimum execution time: 248_893_000 picoseconds. + Weight::from_parts(282_810_906, 1361) + // Standard Error: 51 + .saturating_add(Weight::from_parts(450, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -1153,10 +1153,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1248 + n * (1 ±0)` // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 244_551_000 picoseconds. - Weight::from_parts(247_420_522, 1248) + // Minimum execution time: 247_856_000 picoseconds. + Weight::from_parts(250_010_747, 1248) // Standard Error: 18 - .saturating_add(Weight::from_parts(52, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(230, 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())) @@ -1168,10 +1168,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `922 + r * (288 ±0)` // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 231_245_000 picoseconds. - Weight::from_parts(129_063_415, 926) - // Standard Error: 9_899 - .saturating_add(Weight::from_parts(5_951_064, 0).saturating_mul(r.into())) + // Minimum execution time: 239_231_000 picoseconds. + Weight::from_parts(127_983_126, 926) + // Standard Error: 10_506 + .saturating_add(Weight::from_parts(6_111_497, 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)) @@ -1185,8 +1185,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1244 + n * (1 ±0)` // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 244_736_000 picoseconds. - Weight::from_parts(249_611_780, 1244) + // Minimum execution time: 247_910_000 picoseconds. + Weight::from_parts(261_101_227, 1244) .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: `916 + r * (296 ±0)` // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 232_312_000 picoseconds. - Weight::from_parts(150_819_573, 921) - // Standard Error: 9_353 - .saturating_add(Weight::from_parts(4_962_941, 0).saturating_mul(r.into())) + // Minimum execution time: 237_253_000 picoseconds. + Weight::from_parts(145_882_105, 921) + // Standard Error: 8_860 + .saturating_add(Weight::from_parts(5_079_972, 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: `1260 + n * (1 ±0)` // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 243_455_000 picoseconds. - Weight::from_parts(246_224_928, 1260) - // Standard Error: 27 - .saturating_add(Weight::from_parts(658, 0).saturating_mul(n.into())) + // Minimum execution time: 247_190_000 picoseconds. + Weight::from_parts(249_735_261, 1260) + // Standard Error: 80 + .saturating_add(Weight::from_parts(697, 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: `937 + r * (288 ±0)` // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 232_209_000 picoseconds. - Weight::from_parts(140_999_029, 938) - // Standard Error: 9_273 - .saturating_add(Weight::from_parts(4_830_806, 0).saturating_mul(r.into())) + // Minimum execution time: 235_724_000 picoseconds. + Weight::from_parts(142_064_551, 938) + // Standard Error: 9_319 + .saturating_add(Weight::from_parts(4_874_532, 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,8 +1245,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1247 + n * (1 ±0)` // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 242_173_000 picoseconds. - Weight::from_parts(253_102_153, 1247) + // Minimum execution time: 245_583_000 picoseconds. + Weight::from_parts(247_475_076, 1247) + // Standard Error: 12 + .saturating_add(Weight::from_parts(205, 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())) @@ -1258,10 +1260,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `910 + r * (296 ±0)` // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 231_671_000 picoseconds. - Weight::from_parts(122_286_600, 917) - // Standard Error: 10_067 - .saturating_add(Weight::from_parts(6_203_569, 0).saturating_mul(r.into())) + // Minimum execution time: 235_634_000 picoseconds. + Weight::from_parts(133_819_230, 917) + // Standard Error: 9_783 + .saturating_add(Weight::from_parts(6_203_483, 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)) @@ -1275,10 +1277,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1261 + n * (1 ±0)` // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 245_099_000 picoseconds. - Weight::from_parts(247_381_727, 1261) - // Standard Error: 17 - .saturating_add(Weight::from_parts(656, 0).saturating_mul(n.into())) + // Minimum execution time: 248_525_000 picoseconds. + Weight::from_parts(251_121_050, 1261) + // Standard Error: 22 + .saturating_add(Weight::from_parts(671, 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())) @@ -1302,10 +1304,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1454 + r * (45 ±0)` // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 232_171_000 picoseconds. - Weight::from_parts(124_079_879, 7351) - // Standard Error: 19_964 - .saturating_add(Weight::from_parts(33_504_374, 0).saturating_mul(r.into())) + // Minimum execution time: 235_446_000 picoseconds. + Weight::from_parts(64_021_190, 7351) + // Standard Error: 21_480 + .saturating_add(Weight::from_parts(36_408_179, 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)) @@ -1331,10 +1333,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1300 + r * (276 ±0)` // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 233_856_000 picoseconds. - Weight::from_parts(234_377_000, 9485) - // Standard Error: 61_371 - .saturating_add(Weight::from_parts(202_943_809, 0).saturating_mul(r.into())) + // Minimum execution time: 236_402_000 picoseconds. + Weight::from_parts(237_348_000, 9485) + // Standard Error: 73_685 + .saturating_add(Weight::from_parts(203_183_388, 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)) @@ -1359,11 +1361,11 @@ impl WeightInfo for SubstrateWeight { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±10)` - // Minimum execution time: 232_556_000 picoseconds. - Weight::from_parts(233_465_000, 6808) - // Standard Error: 119_906 - .saturating_add(Weight::from_parts(201_562_056, 0).saturating_mul(r.into())) + // Estimated: `6808 + r * (2635 ±3)` + // Minimum execution time: 235_410_000 picoseconds. + Weight::from_parts(236_351_000, 6808) + // Standard Error: 118_024 + .saturating_add(Weight::from_parts(202_249_277, 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,12 +1392,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1312 + t * (204 ±0)` // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 398_365_000 picoseconds. - Weight::from_parts(369_720_025, 12202) - // Standard Error: 2_615_627 - .saturating_add(Weight::from_parts(38_728_599, 0).saturating_mul(t.into())) - // Standard Error: 3 - .saturating_add(Weight::from_parts(572, 0).saturating_mul(c.into())) + // Minimum execution time: 405_075_000 picoseconds. + Weight::from_parts(367_122_371, 12202) + // Standard Error: 944_866 + .saturating_add(Weight::from_parts(41_525_444, 0).saturating_mul(t.into())) + // Standard Error: 1 + .saturating_add(Weight::from_parts(576, 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)) @@ -1423,10 +1425,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1385 + r * (253 ±0)` // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 553_682_000 picoseconds. - Weight::from_parts(849_146_000, 7209) - // Standard Error: 279_474 - .saturating_add(Weight::from_parts(329_826_878, 0).saturating_mul(r.into())) + // Minimum execution time: 561_466_000 picoseconds. + Weight::from_parts(562_122_000, 7209) + // Standard Error: 225_315 + .saturating_add(Weight::from_parts(338_063_539, 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,14 +1458,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1135 + t * (187 ±0)` // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 1_571_273_000 picoseconds. - Weight::from_parts(313_928_596, 9556) - // Standard Error: 4_886_863 - .saturating_add(Weight::from_parts(120_816_498, 0).saturating_mul(t.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_133, 0).saturating_mul(i.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_315, 0).saturating_mul(s.into())) + // Minimum execution time: 1_563_154_000 picoseconds. + Weight::from_parts(290_797_570, 9556) + // Standard Error: 5_132_435 + .saturating_add(Weight::from_parts(126_768_369, 0).saturating_mul(t.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_145, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_336, 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)) @@ -1489,10 +1491,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 229_313_000 picoseconds. - Weight::from_parts(247_391_773, 6799) - // Standard Error: 2_029 - .saturating_add(Weight::from_parts(575_414, 0).saturating_mul(r.into())) + // Minimum execution time: 232_820_000 picoseconds. + Weight::from_parts(245_577_899, 6799) + // Standard Error: 3_986 + .saturating_add(Weight::from_parts(567_944, 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())) @@ -1516,8 +1518,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 232_394_000 picoseconds. - Weight::from_parts(224_376_706, 6806) + // Minimum execution time: 234_667_000 picoseconds. + Weight::from_parts(231_133_166, 6806) // Standard Error: 2 .saturating_add(Weight::from_parts(3_932, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) @@ -1542,10 +1544,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 228_677_000 picoseconds. - Weight::from_parts(233_085_708, 6802) - // Standard Error: 915 - .saturating_add(Weight::from_parts(726_827, 0).saturating_mul(r.into())) + // Minimum execution time: 232_590_000 picoseconds. + Weight::from_parts(236_807_740, 6802) + // Standard Error: 896 + .saturating_add(Weight::from_parts(721_808, 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())) @@ -1569,10 +1571,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6810` - // Minimum execution time: 230_577_000 picoseconds. - Weight::from_parts(223_478_489, 6810) + // Minimum execution time: 234_644_000 picoseconds. + Weight::from_parts(224_289_413, 6810) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_093, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1595,10 +1597,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 228_208_000 picoseconds. - Weight::from_parts(233_724_177, 6805) - // Standard Error: 691 - .saturating_add(Weight::from_parts(412_921, 0).saturating_mul(r.into())) + // Minimum execution time: 236_760_000 picoseconds. + Weight::from_parts(241_038_346, 6805) + // Standard Error: 769 + .saturating_add(Weight::from_parts(405_469, 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())) @@ -1622,10 +1624,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6814` - // Minimum execution time: 230_327_000 picoseconds. - Weight::from_parts(224_171_918, 6814) - // Standard Error: 2 - .saturating_add(Weight::from_parts(909, 0).saturating_mul(n.into())) + // Minimum execution time: 234_832_000 picoseconds. + Weight::from_parts(225_867_355, 6814) + // Standard Error: 1 + .saturating_add(Weight::from_parts(911, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1648,10 +1650,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 228_525_000 picoseconds. - Weight::from_parts(232_557_781, 6806) - // Standard Error: 660 - .saturating_add(Weight::from_parts(413_999, 0).saturating_mul(r.into())) + // Minimum execution time: 232_554_000 picoseconds. + Weight::from_parts(240_853_640, 6806) + // Standard Error: 593 + .saturating_add(Weight::from_parts(401_756, 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())) @@ -1675,10 +1677,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6808` - // Minimum execution time: 230_665_000 picoseconds. - Weight::from_parts(224_584_241, 6808) - // Standard Error: 4 - .saturating_add(Weight::from_parts(923, 0).saturating_mul(n.into())) + // Minimum execution time: 234_138_000 picoseconds. + Weight::from_parts(224_930_625, 6808) + // Standard Error: 1 + .saturating_add(Weight::from_parts(917, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1700,11 +1702,11 @@ impl WeightInfo for SubstrateWeight { fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `993 + n * (1 ±0)` - // Estimated: `6929 + n * (1 ±0)` - // Minimum execution time: 284_387_000 picoseconds. - Weight::from_parts(287_621_452, 6929) - // Standard Error: 6 - .saturating_add(Weight::from_parts(5_518, 0).saturating_mul(n.into())) + // Estimated: `6930 + n * (1 ±0)` + // Minimum execution time: 287_615_000 picoseconds. + Weight::from_parts(294_306_638, 6930) + // Standard Error: 10 + .saturating_add(Weight::from_parts(5_517, 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())) @@ -1726,12 +1728,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: `803 + r * (112 ±0)` + // Measured: `807 + r * (112 ±0)` // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 232_642_000 picoseconds. - Weight::from_parts(239_626_278, 6747) - // Standard Error: 19_544 - .saturating_add(Weight::from_parts(48_014_016, 0).saturating_mul(r.into())) + // Minimum execution time: 237_064_000 picoseconds. + Weight::from_parts(244_270_808, 6747) + // Standard Error: 21_403 + .saturating_add(Weight::from_parts(48_021_497, 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())) @@ -1755,10 +1757,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `902 + r * (76 ±0)` // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 232_148_000 picoseconds. - Weight::from_parts(249_842_964, 6798) - // Standard Error: 19_712 - .saturating_add(Weight::from_parts(37_698_400, 0).saturating_mul(r.into())) + // Minimum execution time: 245_534_000 picoseconds. + Weight::from_parts(253_356_767, 6798) + // Standard Error: 20_203 + .saturating_add(Weight::from_parts(37_741_543, 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())) @@ -1782,10 +1784,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `873 + r * (42 ±0)` // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 232_841_000 picoseconds. - Weight::from_parts(237_024_657, 6812) - // Standard Error: 9_673 - .saturating_add(Weight::from_parts(9_623_645, 0).saturating_mul(r.into())) + // Minimum execution time: 234_928_000 picoseconds. + Weight::from_parts(239_497_548, 6812) + // Standard Error: 10_310 + .saturating_add(Weight::from_parts(9_595_979, 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())) @@ -1808,11 +1810,11 @@ impl WeightInfo for SubstrateWeight { fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (963 ±0)` - // Estimated: `6803 + r * (3089 ±7)` - // Minimum execution time: 231_422_000 picoseconds. - Weight::from_parts(232_255_000, 6803) - // Standard Error: 52_520 - .saturating_add(Weight::from_parts(22_254_263, 0).saturating_mul(r.into())) + // Estimated: `6803 + r * (3089 ±10)` + // Minimum execution time: 235_519_000 picoseconds. + Weight::from_parts(236_033_000, 6803) + // Standard Error: 48_779 + .saturating_add(Weight::from_parts(23_326_050, 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)) @@ -1838,10 +1840,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `854 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 231_340_000 picoseconds. - Weight::from_parts(234_400_872, 6804) - // Standard Error: 273 - .saturating_add(Weight::from_parts(170_278, 0).saturating_mul(r.into())) + // Minimum execution time: 234_684_000 picoseconds. + Weight::from_parts(238_487_096, 6804) + // Standard Error: 334 + .saturating_add(Weight::from_parts(167_391, 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())) @@ -1865,10 +1867,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `2094 + r * (39 ±0)` // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 233_662_000 picoseconds. - Weight::from_parts(262_159_344, 7921) - // Standard Error: 1_074 - .saturating_add(Weight::from_parts(292_175, 0).saturating_mul(r.into())) + // Minimum execution time: 237_085_000 picoseconds. + Weight::from_parts(265_515_686, 7921) + // Standard Error: 1_106 + .saturating_add(Weight::from_parts(287_161, 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())) @@ -1894,10 +1896,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 232_770_000 picoseconds. - Weight::from_parts(237_994_300, 6804) - // Standard Error: 177 - .saturating_add(Weight::from_parts(149_635, 0).saturating_mul(r.into())) + // Minimum execution time: 234_411_000 picoseconds. + Weight::from_parts(242_157_767, 6804) + // Standard Error: 985 + .saturating_add(Weight::from_parts(147_359, 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())) @@ -1907,10 +1909,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_342_000 picoseconds. - Weight::from_parts(2_102_277, 0) - // Standard Error: 14 - .saturating_add(Weight::from_parts(8_532, 0).saturating_mul(r.into())) + // Minimum execution time: 1_374_000 picoseconds. + Weight::from_parts(1_970_771, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(8_835, 0).saturating_mul(r.into())) } } @@ -1922,8 +1924,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_526_000 picoseconds. - Weight::from_parts(2_619_000, 1627) + // Minimum execution time: 2_573_000 picoseconds. + Weight::from_parts(2_704_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1933,10 +1935,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `451 + k * (69 ±0)` // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_222_000 picoseconds. - Weight::from_parts(7_874_446, 441) - // Standard Error: 1_009 - .saturating_add(Weight::from_parts(983_369, 0).saturating_mul(k.into())) + // Minimum execution time: 12_466_000 picoseconds. + Weight::from_parts(8_058_990, 441) + // Standard Error: 1_044 + .saturating_add(Weight::from_parts(984_050, 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)) @@ -1950,10 +1952,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_744_000 picoseconds. - Weight::from_parts(10_972_869, 6149) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_285, 0).saturating_mul(c.into())) + // Minimum execution time: 9_208_000 picoseconds. + Weight::from_parts(10_257_369, 6149) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_290, 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,8 +1968,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_770_000 picoseconds. - Weight::from_parts(18_047_000, 6488) + // Minimum execution time: 17_862_000 picoseconds. + Weight::from_parts(18_273_000, 6488) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1980,10 +1982,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_879_000 picoseconds. - Weight::from_parts(3_530_303, 3635) - // Standard Error: 988 - .saturating_add(Weight::from_parts(952_156, 0).saturating_mul(k.into())) + // Minimum execution time: 3_849_000 picoseconds. + Weight::from_parts(2_652_504, 3635) + // Standard Error: 1_063 + .saturating_add(Weight::from_parts(1_033_214, 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 +2006,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_921_000 picoseconds. - Weight::from_parts(26_905_244, 6313) - // Standard Error: 0 - .saturating_add(Weight::from_parts(960, 0).saturating_mul(c.into())) + // Minimum execution time: 23_665_000 picoseconds. + Weight::from_parts(26_798_407, 6313) + // Standard Error: 1 + .saturating_add(Weight::from_parts(957, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -2018,8 +2020,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_202_000 picoseconds. - Weight::from_parts(3_332_000, 1627) + // Minimum execution time: 3_412_000 picoseconds. + Weight::from_parts(3_529_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2031,8 +2033,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_819_000 picoseconds. - Weight::from_parts(13_248_000, 3631) + // Minimum execution time: 12_840_000 picoseconds. + Weight::from_parts(13_182_000, 3631) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -2042,8 +2044,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 5_131_000 picoseconds. - Weight::from_parts(5_444_000, 3607) + // Minimum execution time: 5_128_000 picoseconds. + Weight::from_parts(5_375_000, 3607) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2054,8 +2056,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 7_499_000 picoseconds. - Weight::from_parts(7_807_000, 3632) + // Minimum execution time: 7_133_000 picoseconds. + Weight::from_parts(7_652_000, 3632) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2066,8 +2068,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_844_000 picoseconds. - Weight::from_parts(8_243_000, 3607) + // Minimum execution time: 7_836_000 picoseconds. + Weight::from_parts(8_200_000, 3607) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2090,10 +2092,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `788` // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 256_285_000 picoseconds. - Weight::from_parts(252_238_264, 6737) - // Standard Error: 36 - .saturating_add(Weight::from_parts(34_524, 0).saturating_mul(c.into())) + // Minimum execution time: 261_651_000 picoseconds. + Weight::from_parts(258_159_011, 6737) + // Standard Error: 33 + .saturating_add(Weight::from_parts(33_653, 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 +2123,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_053_939_000 picoseconds. - Weight::from_parts(546_019_919, 8745) - // Standard Error: 150 - .saturating_add(Weight::from_parts(69_276, 0).saturating_mul(c.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_092, 0).saturating_mul(i.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_389, 0).saturating_mul(s.into())) + // Minimum execution time: 3_088_354_000 picoseconds. + Weight::from_parts(694_873_563, 8745) + // Standard Error: 169 + .saturating_add(Weight::from_parts(68_125, 0).saturating_mul(c.into())) + // Standard Error: 20 + .saturating_add(Weight::from_parts(1_019, 0).saturating_mul(i.into())) + // Standard Error: 20 + .saturating_add(Weight::from_parts(1_340, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(9_u64)) } @@ -2154,12 +2156,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `505` // Estimated: `6431` - // Minimum execution time: 1_614_344_000 picoseconds. - Weight::from_parts(284_151_776, 6431) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_395, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(s.into())) + // Minimum execution time: 1_622_269_000 picoseconds. + Weight::from_parts(319_925_845, 6431) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(i.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_381, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -2181,8 +2183,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `840` // Estimated: `6780` - // Minimum execution time: 184_129_000 picoseconds. - Weight::from_parts(184_653_000, 6780) + // Minimum execution time: 194_542_000 picoseconds. + Weight::from_parts(195_741_000, 6780) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -2199,10 +2201,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 229_300_000 picoseconds. - Weight::from_parts(174_267_970, 3607) - // Standard Error: 82 - .saturating_add(Weight::from_parts(69_989, 0).saturating_mul(c.into())) + // Minimum execution time: 233_777_000 picoseconds. + Weight::from_parts(214_148_420, 3607) + // Standard Error: 67 + .saturating_add(Weight::from_parts(67_940, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2218,8 +2220,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `257` // Estimated: `3722` - // Minimum execution time: 32_464_000 picoseconds. - Weight::from_parts(32_949_000, 3722) + // Minimum execution time: 33_715_000 picoseconds. + Weight::from_parts(34_223_000, 3722) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2235,8 +2237,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `579` // Estimated: `8994` - // Minimum execution time: 35_637_000 picoseconds. - Weight::from_parts(35_992_000, 8994) + // Minimum execution time: 36_291_000 picoseconds. + Weight::from_parts(36_731_000, 8994) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2259,10 +2261,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `862 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 231_288_000 picoseconds. - Weight::from_parts(235_104_934, 6803) - // Standard Error: 803 - .saturating_add(Weight::from_parts(308_024, 0).saturating_mul(r.into())) + // Minimum execution time: 235_273_000 picoseconds. + Weight::from_parts(238_445_659, 6803) + // Standard Error: 985 + .saturating_add(Weight::from_parts(303_931, 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 +2288,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `920 + r * (240 ±0)` // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 231_076_000 picoseconds. - Weight::from_parts(71_489_441, 6824) - // Standard Error: 5_810 - .saturating_add(Weight::from_parts(3_294_169, 0).saturating_mul(r.into())) + // Minimum execution time: 236_442_000 picoseconds. + Weight::from_parts(69_410_637, 6824) + // Standard Error: 6_071 + .saturating_add(Weight::from_parts(3_348_834, 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 +2316,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `912 + r * (244 ±0)` // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 234_510_000 picoseconds. - Weight::from_parts(61_305_028, 6828) - // Standard Error: 6_454 - .saturating_add(Weight::from_parts(4_062_373, 0).saturating_mul(r.into())) + // Minimum execution time: 236_350_000 picoseconds. + Weight::from_parts(59_062_734, 6828) + // Standard Error: 6_929 + .saturating_add(Weight::from_parts(4_111_179, 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 +2344,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 231_605_000 picoseconds. - Weight::from_parts(237_132_340, 6811) - // Standard Error: 594 - .saturating_add(Weight::from_parts(367_942, 0).saturating_mul(r.into())) + // Minimum execution time: 236_432_000 picoseconds. + Weight::from_parts(237_424_115, 6811) + // Standard Error: 601 + .saturating_add(Weight::from_parts(371_988, 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 +2371,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 229_374_000 picoseconds. - Weight::from_parts(233_341_039, 6804) - // Standard Error: 320 - .saturating_add(Weight::from_parts(179_102, 0).saturating_mul(r.into())) + // Minimum execution time: 233_918_000 picoseconds. + Weight::from_parts(238_264_956, 6804) + // Standard Error: 2_291 + .saturating_add(Weight::from_parts(182_760, 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 +2396,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `749 + r * (3 ±0)` // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 218_448_000 picoseconds. - Weight::from_parts(223_146_972, 6689) - // Standard Error: 297 - .saturating_add(Weight::from_parts(156_147, 0).saturating_mul(r.into())) + // Minimum execution time: 222_665_000 picoseconds. + Weight::from_parts(226_891_455, 6689) + // Standard Error: 326 + .saturating_add(Weight::from_parts(157_251, 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 +2423,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `863 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 230_422_000 picoseconds. - Weight::from_parts(232_730_616, 6805) - // Standard Error: 1_001 - .saturating_add(Weight::from_parts(305_008, 0).saturating_mul(r.into())) + // Minimum execution time: 235_173_000 picoseconds. + Weight::from_parts(239_226_265, 6805) + // Standard Error: 578 + .saturating_add(Weight::from_parts(295_140, 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 +2450,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 230_397_000 picoseconds. - Weight::from_parts(232_894_343, 6800) - // Standard Error: 958 - .saturating_add(Weight::from_parts(476_821, 0).saturating_mul(r.into())) + // Minimum execution time: 235_708_000 picoseconds. + Weight::from_parts(239_679_148, 6800) + // Standard Error: 1_079 + .saturating_add(Weight::from_parts(471_952, 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 +2477,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1003 + r * (6 ±0)` // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 233_096_000 picoseconds. - Weight::from_parts(238_922_130, 6927) - // Standard Error: 1_240 - .saturating_add(Weight::from_parts(1_377_987, 0).saturating_mul(r.into())) + // Minimum execution time: 234_931_000 picoseconds. + Weight::from_parts(241_581_669, 6927) + // Standard Error: 1_067 + .saturating_add(Weight::from_parts(1_434_140, 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 +2504,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `873 + r * (6 ±0)` // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 232_446_000 picoseconds. - Weight::from_parts(231_494_444, 6822) - // Standard Error: 1_083 - .saturating_add(Weight::from_parts(312_884, 0).saturating_mul(r.into())) + // Minimum execution time: 236_084_000 picoseconds. + Weight::from_parts(246_964_158, 6822) + // Standard Error: 5_079 + .saturating_add(Weight::from_parts(296_545, 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 +2531,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 231_408_000 picoseconds. - Weight::from_parts(236_107_027, 6820) - // Standard Error: 688 - .saturating_add(Weight::from_parts(294_409, 0).saturating_mul(r.into())) + // Minimum execution time: 235_345_000 picoseconds. + Weight::from_parts(246_153_628, 6820) + // Standard Error: 1_394 + .saturating_add(Weight::from_parts(281_114, 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 +2558,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 231_288_000 picoseconds. - Weight::from_parts(234_629_830, 6818) - // Standard Error: 696 - .saturating_add(Weight::from_parts(295_972, 0).saturating_mul(r.into())) + // Minimum execution time: 234_406_000 picoseconds. + Weight::from_parts(239_022_171, 6818) + // Standard Error: 495 + .saturating_add(Weight::from_parts(287_854, 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 +2585,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 230_524_000 picoseconds. - Weight::from_parts(235_987_717, 6804) - // Standard Error: 916 - .saturating_add(Weight::from_parts(304_957, 0).saturating_mul(r.into())) + // Minimum execution time: 235_041_000 picoseconds. + Weight::from_parts(238_562_668, 6804) + // Standard Error: 466 + .saturating_add(Weight::from_parts(292_419, 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 +2614,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `933 + r * (14 ±0)` // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 230_818_000 picoseconds. - Weight::from_parts(237_177_909, 6866) - // Standard Error: 1_020 - .saturating_add(Weight::from_parts(1_318_650, 0).saturating_mul(r.into())) + // Minimum execution time: 234_531_000 picoseconds. + Weight::from_parts(242_532_350, 6866) + // Standard Error: 1_054 + .saturating_add(Weight::from_parts(1_334_533, 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 +2641,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 231_205_000 picoseconds. - Weight::from_parts(233_210_703, 6805) - // Standard Error: 419 - .saturating_add(Weight::from_parts(265_035, 0).saturating_mul(r.into())) + // Minimum execution time: 235_181_000 picoseconds. + Weight::from_parts(238_613_614, 6805) + // Standard Error: 576 + .saturating_add(Weight::from_parts(253_915, 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 +2668,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `865` // Estimated: `6805` - // Minimum execution time: 233_354_000 picoseconds. - Weight::from_parts(235_632_612, 6805) - // Standard Error: 0 - .saturating_add(Weight::from_parts(566, 0).saturating_mul(n.into())) + // Minimum execution time: 235_713_000 picoseconds. + Weight::from_parts(239_732_972, 6805) + // Standard Error: 1 + .saturating_add(Weight::from_parts(567, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2692,10 +2694,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `849 + r * (45 ±0)` // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 227_524_000 picoseconds. - Weight::from_parts(229_931_587, 6789) - // Standard Error: 150_834 - .saturating_add(Weight::from_parts(1_751_212, 0).saturating_mul(r.into())) + // Minimum execution time: 231_204_000 picoseconds. + Weight::from_parts(233_964_393, 6789) + // Standard Error: 185_439 + .saturating_add(Weight::from_parts(2_657_106, 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 +2721,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859` // Estimated: `6812` - // Minimum execution time: 231_180_000 picoseconds. - Weight::from_parts(232_433_720, 6812) + // Minimum execution time: 235_132_000 picoseconds. + Weight::from_parts(236_424_515, 6812) // Standard Error: 0 - .saturating_add(Weight::from_parts(271, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2749,10 +2751,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `891 + r * (300 ±0)` // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 230_213_000 picoseconds. - Weight::from_parts(232_955_914, 6831) - // Standard Error: 217_759 - .saturating_add(Weight::from_parts(110_493_885, 0).saturating_mul(r.into())) + // Minimum execution time: 234_791_000 picoseconds. + Weight::from_parts(236_660_753, 6831) + // Standard Error: 197_422 + .saturating_add(Weight::from_parts(114_341_846, 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 +2782,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `940 + r * (10 ±0)` // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 231_459_000 picoseconds. - Weight::from_parts(239_529_751, 6881) - // Standard Error: 1_986 - .saturating_add(Weight::from_parts(1_696_093, 0).saturating_mul(r.into())) + // Minimum execution time: 234_845_000 picoseconds. + Weight::from_parts(238_678_506, 6881) + // Standard Error: 7_321 + .saturating_add(Weight::from_parts(1_827_270, 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 +2809,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (10 ±0)` // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 229_705_000 picoseconds. - Weight::from_parts(251_575_587, 6804) - // Standard Error: 2_026 - .saturating_add(Weight::from_parts(3_273_498, 0).saturating_mul(r.into())) + // Minimum execution time: 234_371_000 picoseconds. + Weight::from_parts(240_688_540, 6804) + // Standard Error: 2_265 + .saturating_add(Weight::from_parts(3_594_517, 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 +2837,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `878 + t * (32 ±0)` // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 247_159_000 picoseconds. - Weight::from_parts(239_251_723, 6825) - // Standard Error: 44_543 - .saturating_add(Weight::from_parts(2_395_739, 0).saturating_mul(t.into())) - // Standard Error: 12 - .saturating_add(Weight::from_parts(678, 0).saturating_mul(n.into())) + // Minimum execution time: 250_583_000 picoseconds. + Weight::from_parts(243_645_227, 6825) + // Standard Error: 42_305 + .saturating_add(Weight::from_parts(2_459_102, 0).saturating_mul(t.into())) + // Standard Error: 11 + .saturating_add(Weight::from_parts(667, 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 +2868,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (7 ±0)` // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 159_923_000 picoseconds. - Weight::from_parts(165_856_547, 6802) - // Standard Error: 414 - .saturating_add(Weight::from_parts(222_306, 0).saturating_mul(r.into())) + // Minimum execution time: 161_534_000 picoseconds. + Weight::from_parts(165_244_020, 6802) + // Standard Error: 349 + .saturating_add(Weight::from_parts(226_353, 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 +2895,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `125809` // Estimated: `131751` - // Minimum execution time: 451_590_000 picoseconds. - Weight::from_parts(455_938_036, 131751) + // Minimum execution time: 456_546_000 picoseconds. + Weight::from_parts(458_378_061, 131751) // Standard Error: 1 - .saturating_add(Weight::from_parts(864, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(865, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2907,10 +2909,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `926 + r * (292 ±0)` // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 232_506_000 picoseconds. - Weight::from_parts(125_493_408, 924) - // Standard Error: 10_457 - .saturating_add(Weight::from_parts(6_083_139, 0).saturating_mul(r.into())) + // Minimum execution time: 237_444_000 picoseconds. + Weight::from_parts(127_397_650, 924) + // Standard Error: 10_459 + .saturating_add(Weight::from_parts(6_231_823, 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 +2926,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1385` // Estimated: `1361` - // Minimum execution time: 245_298_000 picoseconds. - Weight::from_parts(277_144_683, 1361) - // Standard Error: 45 - .saturating_add(Weight::from_parts(484, 0).saturating_mul(n.into())) + // Minimum execution time: 248_893_000 picoseconds. + Weight::from_parts(282_810_906, 1361) + // Standard Error: 51 + .saturating_add(Weight::from_parts(450, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2938,10 +2940,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1248 + n * (1 ±0)` // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 244_551_000 picoseconds. - Weight::from_parts(247_420_522, 1248) + // Minimum execution time: 247_856_000 picoseconds. + Weight::from_parts(250_010_747, 1248) // Standard Error: 18 - .saturating_add(Weight::from_parts(52, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(230, 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 +2955,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `922 + r * (288 ±0)` // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 231_245_000 picoseconds. - Weight::from_parts(129_063_415, 926) - // Standard Error: 9_899 - .saturating_add(Weight::from_parts(5_951_064, 0).saturating_mul(r.into())) + // Minimum execution time: 239_231_000 picoseconds. + Weight::from_parts(127_983_126, 926) + // Standard Error: 10_506 + .saturating_add(Weight::from_parts(6_111_497, 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,8 +2972,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1244 + n * (1 ±0)` // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 244_736_000 picoseconds. - Weight::from_parts(249_611_780, 1244) + // Minimum execution time: 247_910_000 picoseconds. + Weight::from_parts(261_101_227, 1244) .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())) @@ -2983,10 +2985,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `916 + r * (296 ±0)` // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 232_312_000 picoseconds. - Weight::from_parts(150_819_573, 921) - // Standard Error: 9_353 - .saturating_add(Weight::from_parts(4_962_941, 0).saturating_mul(r.into())) + // Minimum execution time: 237_253_000 picoseconds. + Weight::from_parts(145_882_105, 921) + // Standard Error: 8_860 + .saturating_add(Weight::from_parts(5_079_972, 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)) @@ -2999,10 +3001,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1260 + n * (1 ±0)` // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 243_455_000 picoseconds. - Weight::from_parts(246_224_928, 1260) - // Standard Error: 27 - .saturating_add(Weight::from_parts(658, 0).saturating_mul(n.into())) + // Minimum execution time: 247_190_000 picoseconds. + Weight::from_parts(249_735_261, 1260) + // Standard Error: 80 + .saturating_add(Weight::from_parts(697, 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())) @@ -3014,10 +3016,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `937 + r * (288 ±0)` // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 232_209_000 picoseconds. - Weight::from_parts(140_999_029, 938) - // Standard Error: 9_273 - .saturating_add(Weight::from_parts(4_830_806, 0).saturating_mul(r.into())) + // Minimum execution time: 235_724_000 picoseconds. + Weight::from_parts(142_064_551, 938) + // Standard Error: 9_319 + .saturating_add(Weight::from_parts(4_874_532, 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)) @@ -3030,8 +3032,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1247 + n * (1 ±0)` // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 242_173_000 picoseconds. - Weight::from_parts(253_102_153, 1247) + // Minimum execution time: 245_583_000 picoseconds. + Weight::from_parts(247_475_076, 1247) + // Standard Error: 12 + .saturating_add(Weight::from_parts(205, 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())) @@ -3043,10 +3047,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `910 + r * (296 ±0)` // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 231_671_000 picoseconds. - Weight::from_parts(122_286_600, 917) - // Standard Error: 10_067 - .saturating_add(Weight::from_parts(6_203_569, 0).saturating_mul(r.into())) + // Minimum execution time: 235_634_000 picoseconds. + Weight::from_parts(133_819_230, 917) + // Standard Error: 9_783 + .saturating_add(Weight::from_parts(6_203_483, 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)) @@ -3060,10 +3064,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1261 + n * (1 ±0)` // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 245_099_000 picoseconds. - Weight::from_parts(247_381_727, 1261) - // Standard Error: 17 - .saturating_add(Weight::from_parts(656, 0).saturating_mul(n.into())) + // Minimum execution time: 248_525_000 picoseconds. + Weight::from_parts(251_121_050, 1261) + // Standard Error: 22 + .saturating_add(Weight::from_parts(671, 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())) @@ -3087,10 +3091,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1454 + r * (45 ±0)` // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 232_171_000 picoseconds. - Weight::from_parts(124_079_879, 7351) - // Standard Error: 19_964 - .saturating_add(Weight::from_parts(33_504_374, 0).saturating_mul(r.into())) + // Minimum execution time: 235_446_000 picoseconds. + Weight::from_parts(64_021_190, 7351) + // Standard Error: 21_480 + .saturating_add(Weight::from_parts(36_408_179, 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)) @@ -3116,10 +3120,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1300 + r * (276 ±0)` // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 233_856_000 picoseconds. - Weight::from_parts(234_377_000, 9485) - // Standard Error: 61_371 - .saturating_add(Weight::from_parts(202_943_809, 0).saturating_mul(r.into())) + // Minimum execution time: 236_402_000 picoseconds. + Weight::from_parts(237_348_000, 9485) + // Standard Error: 73_685 + .saturating_add(Weight::from_parts(203_183_388, 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)) @@ -3144,11 +3148,11 @@ impl WeightInfo for () { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±10)` - // Minimum execution time: 232_556_000 picoseconds. - Weight::from_parts(233_465_000, 6808) - // Standard Error: 119_906 - .saturating_add(Weight::from_parts(201_562_056, 0).saturating_mul(r.into())) + // Estimated: `6808 + r * (2635 ±3)` + // Minimum execution time: 235_410_000 picoseconds. + Weight::from_parts(236_351_000, 6808) + // Standard Error: 118_024 + .saturating_add(Weight::from_parts(202_249_277, 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)) @@ -3175,12 +3179,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1312 + t * (204 ±0)` // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 398_365_000 picoseconds. - Weight::from_parts(369_720_025, 12202) - // Standard Error: 2_615_627 - .saturating_add(Weight::from_parts(38_728_599, 0).saturating_mul(t.into())) - // Standard Error: 3 - .saturating_add(Weight::from_parts(572, 0).saturating_mul(c.into())) + // Minimum execution time: 405_075_000 picoseconds. + Weight::from_parts(367_122_371, 12202) + // Standard Error: 944_866 + .saturating_add(Weight::from_parts(41_525_444, 0).saturating_mul(t.into())) + // Standard Error: 1 + .saturating_add(Weight::from_parts(576, 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)) @@ -3208,10 +3212,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1385 + r * (253 ±0)` // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 553_682_000 picoseconds. - Weight::from_parts(849_146_000, 7209) - // Standard Error: 279_474 - .saturating_add(Weight::from_parts(329_826_878, 0).saturating_mul(r.into())) + // Minimum execution time: 561_466_000 picoseconds. + Weight::from_parts(562_122_000, 7209) + // Standard Error: 225_315 + .saturating_add(Weight::from_parts(338_063_539, 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)) @@ -3241,14 +3245,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1135 + t * (187 ±0)` // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 1_571_273_000 picoseconds. - Weight::from_parts(313_928_596, 9556) - // Standard Error: 4_886_863 - .saturating_add(Weight::from_parts(120_816_498, 0).saturating_mul(t.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_133, 0).saturating_mul(i.into())) - // Standard Error: 7 - .saturating_add(Weight::from_parts(1_315, 0).saturating_mul(s.into())) + // Minimum execution time: 1_563_154_000 picoseconds. + Weight::from_parts(290_797_570, 9556) + // Standard Error: 5_132_435 + .saturating_add(Weight::from_parts(126_768_369, 0).saturating_mul(t.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_145, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_336, 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)) @@ -3274,10 +3278,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 229_313_000 picoseconds. - Weight::from_parts(247_391_773, 6799) - // Standard Error: 2_029 - .saturating_add(Weight::from_parts(575_414, 0).saturating_mul(r.into())) + // Minimum execution time: 232_820_000 picoseconds. + Weight::from_parts(245_577_899, 6799) + // Standard Error: 3_986 + .saturating_add(Weight::from_parts(567_944, 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())) @@ -3301,8 +3305,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 232_394_000 picoseconds. - Weight::from_parts(224_376_706, 6806) + // Minimum execution time: 234_667_000 picoseconds. + Weight::from_parts(231_133_166, 6806) // Standard Error: 2 .saturating_add(Weight::from_parts(3_932, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) @@ -3327,10 +3331,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 228_677_000 picoseconds. - Weight::from_parts(233_085_708, 6802) - // Standard Error: 915 - .saturating_add(Weight::from_parts(726_827, 0).saturating_mul(r.into())) + // Minimum execution time: 232_590_000 picoseconds. + Weight::from_parts(236_807_740, 6802) + // Standard Error: 896 + .saturating_add(Weight::from_parts(721_808, 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())) @@ -3354,10 +3358,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6810` - // Minimum execution time: 230_577_000 picoseconds. - Weight::from_parts(223_478_489, 6810) + // Minimum execution time: 234_644_000 picoseconds. + Weight::from_parts(224_289_413, 6810) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_093, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3380,10 +3384,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 228_208_000 picoseconds. - Weight::from_parts(233_724_177, 6805) - // Standard Error: 691 - .saturating_add(Weight::from_parts(412_921, 0).saturating_mul(r.into())) + // Minimum execution time: 236_760_000 picoseconds. + Weight::from_parts(241_038_346, 6805) + // Standard Error: 769 + .saturating_add(Weight::from_parts(405_469, 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())) @@ -3407,10 +3411,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6814` - // Minimum execution time: 230_327_000 picoseconds. - Weight::from_parts(224_171_918, 6814) - // Standard Error: 2 - .saturating_add(Weight::from_parts(909, 0).saturating_mul(n.into())) + // Minimum execution time: 234_832_000 picoseconds. + Weight::from_parts(225_867_355, 6814) + // Standard Error: 1 + .saturating_add(Weight::from_parts(911, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3433,10 +3437,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 228_525_000 picoseconds. - Weight::from_parts(232_557_781, 6806) - // Standard Error: 660 - .saturating_add(Weight::from_parts(413_999, 0).saturating_mul(r.into())) + // Minimum execution time: 232_554_000 picoseconds. + Weight::from_parts(240_853_640, 6806) + // Standard Error: 593 + .saturating_add(Weight::from_parts(401_756, 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())) @@ -3460,10 +3464,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6808` - // Minimum execution time: 230_665_000 picoseconds. - Weight::from_parts(224_584_241, 6808) - // Standard Error: 4 - .saturating_add(Weight::from_parts(923, 0).saturating_mul(n.into())) + // Minimum execution time: 234_138_000 picoseconds. + Weight::from_parts(224_930_625, 6808) + // Standard Error: 1 + .saturating_add(Weight::from_parts(917, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3485,11 +3489,11 @@ impl WeightInfo for () { fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `993 + n * (1 ±0)` - // Estimated: `6929 + n * (1 ±0)` - // Minimum execution time: 284_387_000 picoseconds. - Weight::from_parts(287_621_452, 6929) - // Standard Error: 6 - .saturating_add(Weight::from_parts(5_518, 0).saturating_mul(n.into())) + // Estimated: `6930 + n * (1 ±0)` + // Minimum execution time: 287_615_000 picoseconds. + Weight::from_parts(294_306_638, 6930) + // Standard Error: 10 + .saturating_add(Weight::from_parts(5_517, 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())) @@ -3511,12 +3515,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: `803 + r * (112 ±0)` + // Measured: `807 + r * (112 ±0)` // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 232_642_000 picoseconds. - Weight::from_parts(239_626_278, 6747) - // Standard Error: 19_544 - .saturating_add(Weight::from_parts(48_014_016, 0).saturating_mul(r.into())) + // Minimum execution time: 237_064_000 picoseconds. + Weight::from_parts(244_270_808, 6747) + // Standard Error: 21_403 + .saturating_add(Weight::from_parts(48_021_497, 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())) @@ -3540,10 +3544,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `902 + r * (76 ±0)` // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 232_148_000 picoseconds. - Weight::from_parts(249_842_964, 6798) - // Standard Error: 19_712 - .saturating_add(Weight::from_parts(37_698_400, 0).saturating_mul(r.into())) + // Minimum execution time: 245_534_000 picoseconds. + Weight::from_parts(253_356_767, 6798) + // Standard Error: 20_203 + .saturating_add(Weight::from_parts(37_741_543, 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())) @@ -3567,10 +3571,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `873 + r * (42 ±0)` // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 232_841_000 picoseconds. - Weight::from_parts(237_024_657, 6812) - // Standard Error: 9_673 - .saturating_add(Weight::from_parts(9_623_645, 0).saturating_mul(r.into())) + // Minimum execution time: 234_928_000 picoseconds. + Weight::from_parts(239_497_548, 6812) + // Standard Error: 10_310 + .saturating_add(Weight::from_parts(9_595_979, 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())) @@ -3593,11 +3597,11 @@ impl WeightInfo for () { fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (963 ±0)` - // Estimated: `6803 + r * (3089 ±7)` - // Minimum execution time: 231_422_000 picoseconds. - Weight::from_parts(232_255_000, 6803) - // Standard Error: 52_520 - .saturating_add(Weight::from_parts(22_254_263, 0).saturating_mul(r.into())) + // Estimated: `6803 + r * (3089 ±10)` + // Minimum execution time: 235_519_000 picoseconds. + Weight::from_parts(236_033_000, 6803) + // Standard Error: 48_779 + .saturating_add(Weight::from_parts(23_326_050, 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)) @@ -3623,10 +3627,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `854 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 231_340_000 picoseconds. - Weight::from_parts(234_400_872, 6804) - // Standard Error: 273 - .saturating_add(Weight::from_parts(170_278, 0).saturating_mul(r.into())) + // Minimum execution time: 234_684_000 picoseconds. + Weight::from_parts(238_487_096, 6804) + // Standard Error: 334 + .saturating_add(Weight::from_parts(167_391, 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())) @@ -3650,10 +3654,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `2094 + r * (39 ±0)` // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 233_662_000 picoseconds. - Weight::from_parts(262_159_344, 7921) - // Standard Error: 1_074 - .saturating_add(Weight::from_parts(292_175, 0).saturating_mul(r.into())) + // Minimum execution time: 237_085_000 picoseconds. + Weight::from_parts(265_515_686, 7921) + // Standard Error: 1_106 + .saturating_add(Weight::from_parts(287_161, 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())) @@ -3679,10 +3683,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 232_770_000 picoseconds. - Weight::from_parts(237_994_300, 6804) - // Standard Error: 177 - .saturating_add(Weight::from_parts(149_635, 0).saturating_mul(r.into())) + // Minimum execution time: 234_411_000 picoseconds. + Weight::from_parts(242_157_767, 6804) + // Standard Error: 985 + .saturating_add(Weight::from_parts(147_359, 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())) @@ -3692,9 +3696,9 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_342_000 picoseconds. - Weight::from_parts(2_102_277, 0) - // Standard Error: 14 - .saturating_add(Weight::from_parts(8_532, 0).saturating_mul(r.into())) + // Minimum execution time: 1_374_000 picoseconds. + Weight::from_parts(1_970_771, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(8_835, 0).saturating_mul(r.into())) } } From e226c0e39a96b86129a894e8b2747246a5057d7a Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sun, 18 Jun 2023 21:29:07 +0300 Subject: [PATCH 42/70] use wasmi 0.29 --- Cargo.lock | 11 ++--------- frame/contracts/Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 69e8d66672355..c31b47ad34698 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3774,12 +3774,6 @@ dependencies = [ "webrtc-util", ] -[[package]] -name = "intx" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f38a50a899dc47a6d0ed5508e7f601a2e34c3a85303514b5d137f3c10a0c75" - [[package]] name = "io-lifetimes" version = "1.0.11" @@ -13326,11 +13320,10 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.30.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51fb5c61993e71158abf5bb863df2674ca3ec39ed6471c64f07aeaf751d67b4" +checksum = "677160b1166881badada1137afc6457777126f328ae63a18058b504f546f0828" dependencies = [ - "intx", "smallvec", "spin 0.9.8", "wasmi_arena", diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml index 4b17131e72924..1b140c9379b3b 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -26,7 +26,7 @@ serde = { version = "1", optional = true, features = ["derive"] } smallvec = { version = "1", default-features = false, features = [ "const_generics", ] } -wasmi = { version = "0.30", default-features = false } +wasmi = { version = "0.29", default-features = false } wasmparser = { package = "wasmparser-nostd", version = "0.100", default-features = false } impl-trait-for-tuples = "0.2" From d687f1c09e902d566b4a3511255331ecd8c8ab2c Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sun, 18 Jun 2023 20:20:04 +0000 Subject: [PATCH 43/70] ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 1170 ++++++++++++++++---------------- 1 file changed, 587 insertions(+), 583 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index b7fafd455ba0a..73f89b5546574 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-17, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 @@ -137,8 +137,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_573_000 picoseconds. - Weight::from_parts(2_704_000, 1627) + // Minimum execution time: 2_416_000 picoseconds. + Weight::from_parts(2_574_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_466_000 picoseconds. - Weight::from_parts(8_058_990, 441) - // Standard Error: 1_044 - .saturating_add(Weight::from_parts(984_050, 0).saturating_mul(k.into())) + // Minimum execution time: 12_025_000 picoseconds. + Weight::from_parts(7_586_048, 441) + // Standard Error: 1_035 + .saturating_add(Weight::from_parts(998_135, 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: 9_208_000 picoseconds. - Weight::from_parts(10_257_369, 6149) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_290, 0).saturating_mul(c.into())) + // Minimum execution time: 8_920_000 picoseconds. + Weight::from_parts(10_032_308, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_295, 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())) @@ -181,8 +181,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_862_000 picoseconds. - Weight::from_parts(18_273_000, 6488) + // Minimum execution time: 17_464_000 picoseconds. + Weight::from_parts(17_741_000, 6488) .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_849_000 picoseconds. - Weight::from_parts(2_652_504, 3635) - // Standard Error: 1_063 - .saturating_add(Weight::from_parts(1_033_214, 0).saturating_mul(k.into())) + // Minimum execution time: 3_770_000 picoseconds. + Weight::from_parts(2_561_868, 3635) + // Standard Error: 1_239 + .saturating_add(Weight::from_parts(949_122, 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()))) @@ -219,10 +219,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_665_000 picoseconds. - Weight::from_parts(26_798_407, 6313) + // Minimum execution time: 23_018_000 picoseconds. + Weight::from_parts(26_135_343, 6313) // Standard Error: 1 - .saturating_add(Weight::from_parts(957, 0).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(967, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -233,8 +233,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_412_000 picoseconds. - Weight::from_parts(3_529_000, 1627) + // Minimum execution time: 3_191_000 picoseconds. + Weight::from_parts(3_390_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -246,8 +246,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_840_000 picoseconds. - Weight::from_parts(13_182_000, 3631) + // Minimum execution time: 12_435_000 picoseconds. + Weight::from_parts(12_887_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -257,8 +257,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 5_128_000 picoseconds. - Weight::from_parts(5_375_000, 3607) + // Minimum execution time: 5_077_000 picoseconds. + Weight::from_parts(5_380_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -269,8 +269,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 7_133_000 picoseconds. - Weight::from_parts(7_652_000, 3632) + // Minimum execution time: 7_024_000 picoseconds. + Weight::from_parts(7_416_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -281,8 +281,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_836_000 picoseconds. - Weight::from_parts(8_200_000, 3607) + // Minimum execution time: 7_490_000 picoseconds. + Weight::from_parts(7_695_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -305,10 +305,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `788` // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 261_651_000 picoseconds. - Weight::from_parts(258_159_011, 6737) - // Standard Error: 33 - .saturating_add(Weight::from_parts(33_653, 0).saturating_mul(c.into())) + // Minimum execution time: 256_725_000 picoseconds. + Weight::from_parts(245_088_815, 6737) + // Standard Error: 53 + .saturating_add(Weight::from_parts(37_705, 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())) @@ -336,14 +336,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_088_354_000 picoseconds. - Weight::from_parts(694_873_563, 8745) - // Standard Error: 169 - .saturating_add(Weight::from_parts(68_125, 0).saturating_mul(c.into())) - // Standard Error: 20 - .saturating_add(Weight::from_parts(1_019, 0).saturating_mul(i.into())) - // Standard Error: 20 - .saturating_add(Weight::from_parts(1_340, 0).saturating_mul(s.into())) + // Minimum execution time: 3_145_398_000 picoseconds. + Weight::from_parts(550_492_509, 8745) + // Standard Error: 138 + .saturating_add(Weight::from_parts(72_504, 0).saturating_mul(c.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_125, 0).saturating_mul(i.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_420, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(9_u64)) } @@ -369,12 +369,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `505` // Estimated: `6431` - // Minimum execution time: 1_622_269_000 picoseconds. - Weight::from_parts(319_925_845, 6431) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(i.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_381, 0).saturating_mul(s.into())) + // Minimum execution time: 1_636_729_000 picoseconds. + Weight::from_parts(261_166_753, 6431) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_440, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_448, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -396,8 +396,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `840` // Estimated: `6780` - // Minimum execution time: 194_542_000 picoseconds. - Weight::from_parts(195_741_000, 6780) + // Minimum execution time: 183_146_000 picoseconds. + Weight::from_parts(184_324_000, 6780) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -414,10 +414,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 233_777_000 picoseconds. - Weight::from_parts(214_148_420, 3607) - // Standard Error: 67 - .saturating_add(Weight::from_parts(67_940, 0).saturating_mul(c.into())) + // Minimum execution time: 228_099_000 picoseconds. + Weight::from_parts(207_736_782, 3607) + // Standard Error: 81 + .saturating_add(Weight::from_parts(72_062, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -433,8 +433,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `257` // Estimated: `3722` - // Minimum execution time: 33_715_000 picoseconds. - Weight::from_parts(34_223_000, 3722) + // Minimum execution time: 32_147_000 picoseconds. + Weight::from_parts(32_595_000, 3722) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -450,8 +450,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `579` // Estimated: `8994` - // Minimum execution time: 36_291_000 picoseconds. - Weight::from_parts(36_731_000, 8994) + // Minimum execution time: 35_146_000 picoseconds. + Weight::from_parts(35_404_000, 8994) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -474,10 +474,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `862 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 235_273_000 picoseconds. - Weight::from_parts(238_445_659, 6803) - // Standard Error: 985 - .saturating_add(Weight::from_parts(303_931, 0).saturating_mul(r.into())) + // Minimum execution time: 231_641_000 picoseconds. + Weight::from_parts(246_597_753, 6803) + // Standard Error: 3_104 + .saturating_add(Weight::from_parts(304_326, 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())) @@ -501,10 +501,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `920 + r * (240 ±0)` // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 236_442_000 picoseconds. - Weight::from_parts(69_410_637, 6824) - // Standard Error: 6_071 - .saturating_add(Weight::from_parts(3_348_834, 0).saturating_mul(r.into())) + // Minimum execution time: 231_274_000 picoseconds. + Weight::from_parts(67_248_651, 6824) + // Standard Error: 6_144 + .saturating_add(Weight::from_parts(3_251_957, 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)) @@ -529,10 +529,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `912 + r * (244 ±0)` // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 236_350_000 picoseconds. - Weight::from_parts(59_062_734, 6828) - // Standard Error: 6_929 - .saturating_add(Weight::from_parts(4_111_179, 0).saturating_mul(r.into())) + // Minimum execution time: 232_665_000 picoseconds. + Weight::from_parts(64_453_027, 6828) + // Standard Error: 6_473 + .saturating_add(Weight::from_parts(3_977_900, 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)) @@ -557,10 +557,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 236_432_000 picoseconds. - Weight::from_parts(237_424_115, 6811) - // Standard Error: 601 - .saturating_add(Weight::from_parts(371_988, 0).saturating_mul(r.into())) + // Minimum execution time: 233_959_000 picoseconds. + Weight::from_parts(235_855_751, 6811) + // Standard Error: 590 + .saturating_add(Weight::from_parts(386_662, 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())) @@ -584,10 +584,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 233_918_000 picoseconds. - Weight::from_parts(238_264_956, 6804) - // Standard Error: 2_291 - .saturating_add(Weight::from_parts(182_760, 0).saturating_mul(r.into())) + // Minimum execution time: 230_718_000 picoseconds. + Weight::from_parts(226_522_400, 6804) + // Standard Error: 4_783 + .saturating_add(Weight::from_parts(210_779, 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())) @@ -609,10 +609,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `749 + r * (3 ±0)` // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 222_665_000 picoseconds. - Weight::from_parts(226_891_455, 6689) - // Standard Error: 326 - .saturating_add(Weight::from_parts(157_251, 0).saturating_mul(r.into())) + // Minimum execution time: 219_749_000 picoseconds. + Weight::from_parts(230_060_094, 6689) + // Standard Error: 2_382 + .saturating_add(Weight::from_parts(169_338, 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())) @@ -636,10 +636,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `863 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 235_173_000 picoseconds. - Weight::from_parts(239_226_265, 6805) - // Standard Error: 578 - .saturating_add(Weight::from_parts(295_140, 0).saturating_mul(r.into())) + // Minimum execution time: 231_545_000 picoseconds. + Weight::from_parts(238_567_419, 6805) + // Standard Error: 1_075 + .saturating_add(Weight::from_parts(306_036, 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())) @@ -663,10 +663,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 235_708_000 picoseconds. - Weight::from_parts(239_679_148, 6800) - // Standard Error: 1_079 - .saturating_add(Weight::from_parts(471_952, 0).saturating_mul(r.into())) + // Minimum execution time: 232_326_000 picoseconds. + Weight::from_parts(225_495_558, 6800) + // Standard Error: 11_662 + .saturating_add(Weight::from_parts(525_607, 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())) @@ -690,10 +690,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1003 + r * (6 ±0)` // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 234_931_000 picoseconds. - Weight::from_parts(241_581_669, 6927) - // Standard Error: 1_067 - .saturating_add(Weight::from_parts(1_434_140, 0).saturating_mul(r.into())) + // Minimum execution time: 231_721_000 picoseconds. + Weight::from_parts(241_687_240, 6927) + // Standard Error: 1_054 + .saturating_add(Weight::from_parts(1_391_130, 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())) @@ -717,10 +717,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `873 + r * (6 ±0)` // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 236_084_000 picoseconds. - Weight::from_parts(246_964_158, 6822) - // Standard Error: 5_079 - .saturating_add(Weight::from_parts(296_545, 0).saturating_mul(r.into())) + // Minimum execution time: 232_346_000 picoseconds. + Weight::from_parts(238_747_964, 6822) + // Standard Error: 726 + .saturating_add(Weight::from_parts(302_191, 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())) @@ -744,10 +744,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 235_345_000 picoseconds. - Weight::from_parts(246_153_628, 6820) - // Standard Error: 1_394 - .saturating_add(Weight::from_parts(281_114, 0).saturating_mul(r.into())) + // Minimum execution time: 234_416_000 picoseconds. + Weight::from_parts(234_833_885, 6820) + // Standard Error: 464 + .saturating_add(Weight::from_parts(306_075, 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())) @@ -771,10 +771,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 234_406_000 picoseconds. - Weight::from_parts(239_022_171, 6818) - // Standard Error: 495 - .saturating_add(Weight::from_parts(287_854, 0).saturating_mul(r.into())) + // Minimum execution time: 230_737_000 picoseconds. + Weight::from_parts(236_497_502, 6818) + // Standard Error: 564 + .saturating_add(Weight::from_parts(299_577, 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())) @@ -798,10 +798,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 235_041_000 picoseconds. - Weight::from_parts(238_562_668, 6804) - // Standard Error: 466 - .saturating_add(Weight::from_parts(292_419, 0).saturating_mul(r.into())) + // Minimum execution time: 231_832_000 picoseconds. + Weight::from_parts(237_288_366, 6804) + // Standard Error: 528 + .saturating_add(Weight::from_parts(303_263, 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())) @@ -827,10 +827,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `933 + r * (14 ±0)` // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 234_531_000 picoseconds. - Weight::from_parts(242_532_350, 6866) - // Standard Error: 1_054 - .saturating_add(Weight::from_parts(1_334_533, 0).saturating_mul(r.into())) + // Minimum execution time: 231_627_000 picoseconds. + Weight::from_parts(237_225_364, 6866) + // Standard Error: 1_179 + .saturating_add(Weight::from_parts(1_319_878, 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())) @@ -854,10 +854,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 235_181_000 picoseconds. - Weight::from_parts(238_613_614, 6805) - // Standard Error: 576 - .saturating_add(Weight::from_parts(253_915, 0).saturating_mul(r.into())) + // Minimum execution time: 231_819_000 picoseconds. + Weight::from_parts(235_603_311, 6805) + // Standard Error: 380 + .saturating_add(Weight::from_parts(262_916, 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())) @@ -881,10 +881,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `865` // Estimated: `6805` - // Minimum execution time: 235_713_000 picoseconds. - Weight::from_parts(239_732_972, 6805) + // Minimum execution time: 234_883_000 picoseconds. + Weight::from_parts(234_377_651, 6805) // Standard Error: 1 - .saturating_add(Weight::from_parts(567, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(597, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -907,10 +907,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `849 + r * (45 ±0)` // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 231_204_000 picoseconds. - Weight::from_parts(233_964_393, 6789) - // Standard Error: 185_439 - .saturating_add(Weight::from_parts(2_657_106, 0).saturating_mul(r.into())) + // Minimum execution time: 228_138_000 picoseconds. + Weight::from_parts(230_006_512, 6789) + // Standard Error: 99_810 + .saturating_add(Weight::from_parts(2_428_987, 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())) @@ -934,10 +934,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859` // Estimated: `6812` - // Minimum execution time: 235_132_000 picoseconds. - Weight::from_parts(236_424_515, 6812) - // Standard Error: 0 - .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) + // Minimum execution time: 230_946_000 picoseconds. + Weight::from_parts(237_179_222, 6812) + // Standard Error: 2 + .saturating_add(Weight::from_parts(289, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -964,10 +964,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `891 + r * (300 ±0)` // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 234_791_000 picoseconds. - Weight::from_parts(236_660_753, 6831) - // Standard Error: 197_422 - .saturating_add(Weight::from_parts(114_341_846, 0).saturating_mul(r.into())) + // Minimum execution time: 230_537_000 picoseconds. + Weight::from_parts(232_555_173, 6831) + // Standard Error: 118_223 + .saturating_add(Weight::from_parts(105_739_626, 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)) @@ -995,10 +995,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `940 + r * (10 ±0)` // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 234_845_000 picoseconds. - Weight::from_parts(238_678_506, 6881) - // Standard Error: 7_321 - .saturating_add(Weight::from_parts(1_827_270, 0).saturating_mul(r.into())) + // Minimum execution time: 231_071_000 picoseconds. + Weight::from_parts(239_630_508, 6881) + // Standard Error: 2_285 + .saturating_add(Weight::from_parts(1_679_147, 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())) @@ -1022,10 +1022,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `859 + r * (10 ±0)` // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 234_371_000 picoseconds. - Weight::from_parts(240_688_540, 6804) - // Standard Error: 2_265 - .saturating_add(Weight::from_parts(3_594_517, 0).saturating_mul(r.into())) + // Minimum execution time: 229_158_000 picoseconds. + Weight::from_parts(237_303_297, 6804) + // Standard Error: 2_089 + .saturating_add(Weight::from_parts(3_342_141, 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())) @@ -1050,12 +1050,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `878 + t * (32 ±0)` // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 250_583_000 picoseconds. - Weight::from_parts(243_645_227, 6825) - // Standard Error: 42_305 - .saturating_add(Weight::from_parts(2_459_102, 0).saturating_mul(t.into())) - // Standard Error: 11 - .saturating_add(Weight::from_parts(667, 0).saturating_mul(n.into())) + // Minimum execution time: 247_115_000 picoseconds. + Weight::from_parts(237_880_998, 6825) + // Standard Error: 46_167 + .saturating_add(Weight::from_parts(2_648_130, 0).saturating_mul(t.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(797, 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)) @@ -1081,10 +1081,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (7 ±0)` // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 161_534_000 picoseconds. - Weight::from_parts(165_244_020, 6802) - // Standard Error: 349 - .saturating_add(Weight::from_parts(226_353, 0).saturating_mul(r.into())) + // Minimum execution time: 160_227_000 picoseconds. + Weight::from_parts(165_426_206, 6802) + // Standard Error: 369 + .saturating_add(Weight::from_parts(240_521, 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())) @@ -1108,10 +1108,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `125809` // Estimated: `131751` - // Minimum execution time: 456_546_000 picoseconds. - Weight::from_parts(458_378_061, 131751) - // Standard Error: 1 - .saturating_add(Weight::from_parts(865, 0).saturating_mul(i.into())) + // Minimum execution time: 457_067_000 picoseconds. + Weight::from_parts(455_263_911, 131751) + // Standard Error: 3 + .saturating_add(Weight::from_parts(895, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1122,10 +1122,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `926 + r * (292 ±0)` // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 237_444_000 picoseconds. - Weight::from_parts(127_397_650, 924) - // Standard Error: 10_459 - .saturating_add(Weight::from_parts(6_231_823, 0).saturating_mul(r.into())) + // Minimum execution time: 232_432_000 picoseconds. + Weight::from_parts(128_099_011, 924) + // Standard Error: 9_989 + .saturating_add(Weight::from_parts(6_011_795, 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)) @@ -1139,10 +1139,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1385` // Estimated: `1361` - // Minimum execution time: 248_893_000 picoseconds. - Weight::from_parts(282_810_906, 1361) - // Standard Error: 51 - .saturating_add(Weight::from_parts(450, 0).saturating_mul(n.into())) + // Minimum execution time: 245_738_000 picoseconds. + Weight::from_parts(277_229_722, 1361) + // Standard Error: 45 + .saturating_add(Weight::from_parts(559, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -1153,10 +1153,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1248 + n * (1 ±0)` // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 247_856_000 picoseconds. - Weight::from_parts(250_010_747, 1248) - // Standard Error: 18 - .saturating_add(Weight::from_parts(230, 0).saturating_mul(n.into())) + // Minimum execution time: 245_711_000 picoseconds. + Weight::from_parts(247_826_690, 1248) + // Standard Error: 16 + .saturating_add(Weight::from_parts(123, 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())) @@ -1168,10 +1168,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `922 + r * (288 ±0)` // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 239_231_000 picoseconds. - Weight::from_parts(127_983_126, 926) - // Standard Error: 10_506 - .saturating_add(Weight::from_parts(6_111_497, 0).saturating_mul(r.into())) + // Minimum execution time: 232_335_000 picoseconds. + Weight::from_parts(127_575_261, 926) + // Standard Error: 10_444 + .saturating_add(Weight::from_parts(5_949_900, 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)) @@ -1185,8 +1185,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1244 + n * (1 ±0)` // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 247_910_000 picoseconds. - Weight::from_parts(261_101_227, 1244) + // Minimum execution time: 244_098_000 picoseconds. + Weight::from_parts(246_035_630, 1244) + // Standard Error: 14 + .saturating_add(Weight::from_parts(178, 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 +1200,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `916 + r * (296 ±0)` // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 237_253_000 picoseconds. - Weight::from_parts(145_882_105, 921) - // Standard Error: 8_860 - .saturating_add(Weight::from_parts(5_079_972, 0).saturating_mul(r.into())) + // Minimum execution time: 233_339_000 picoseconds. + Weight::from_parts(147_348_628, 921) + // Standard Error: 8_468 + .saturating_add(Weight::from_parts(4_922_548, 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 +1216,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1260 + n * (1 ±0)` // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 247_190_000 picoseconds. - Weight::from_parts(249_735_261, 1260) - // Standard Error: 80 - .saturating_add(Weight::from_parts(697, 0).saturating_mul(n.into())) + // Minimum execution time: 243_918_000 picoseconds. + Weight::from_parts(246_029_747, 1260) + // Standard Error: 16 + .saturating_add(Weight::from_parts(710, 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 +1231,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `937 + r * (288 ±0)` // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 235_724_000 picoseconds. - Weight::from_parts(142_064_551, 938) - // Standard Error: 9_319 - .saturating_add(Weight::from_parts(4_874_532, 0).saturating_mul(r.into())) + // Minimum execution time: 233_032_000 picoseconds. + Weight::from_parts(145_375_464, 938) + // Standard Error: 8_475 + .saturating_add(Weight::from_parts(4_752_430, 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 +1247,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1247 + n * (1 ±0)` // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 245_583_000 picoseconds. - Weight::from_parts(247_475_076, 1247) - // Standard Error: 12 - .saturating_add(Weight::from_parts(205, 0).saturating_mul(n.into())) + // Minimum execution time: 242_533_000 picoseconds. + Weight::from_parts(244_677_084, 1247) + // Standard Error: 16 + .saturating_add(Weight::from_parts(155, 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 +1262,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `910 + r * (296 ±0)` // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 235_634_000 picoseconds. - Weight::from_parts(133_819_230, 917) - // Standard Error: 9_783 - .saturating_add(Weight::from_parts(6_203_483, 0).saturating_mul(r.into())) + // Minimum execution time: 232_834_000 picoseconds. + Weight::from_parts(118_909_001, 917) + // Standard Error: 10_419 + .saturating_add(Weight::from_parts(6_133_128, 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 +1279,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1261 + n * (1 ±0)` // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 248_525_000 picoseconds. - Weight::from_parts(251_121_050, 1261) - // Standard Error: 22 - .saturating_add(Weight::from_parts(671, 0).saturating_mul(n.into())) + // Minimum execution time: 245_445_000 picoseconds. + Weight::from_parts(241_994_064, 1261) + // Standard Error: 209 + .saturating_add(Weight::from_parts(2_073, 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 +1306,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1454 + r * (45 ±0)` // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 235_446_000 picoseconds. - Weight::from_parts(64_021_190, 7351) - // Standard Error: 21_480 - .saturating_add(Weight::from_parts(36_408_179, 0).saturating_mul(r.into())) + // Minimum execution time: 238_414_000 picoseconds. + Weight::from_parts(148_662_940, 7351) + // Standard Error: 28_550 + .saturating_add(Weight::from_parts(33_583_257, 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 +1335,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1300 + r * (276 ±0)` // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 236_402_000 picoseconds. - Weight::from_parts(237_348_000, 9485) - // Standard Error: 73_685 - .saturating_add(Weight::from_parts(203_183_388, 0).saturating_mul(r.into())) + // Minimum execution time: 232_867_000 picoseconds. + Weight::from_parts(233_783_000, 9485) + // Standard Error: 71_028 + .saturating_add(Weight::from_parts(203_698_485, 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 +1363,11 @@ impl WeightInfo for SubstrateWeight { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±3)` - // Minimum execution time: 235_410_000 picoseconds. - Weight::from_parts(236_351_000, 6808) - // Standard Error: 118_024 - .saturating_add(Weight::from_parts(202_249_277, 0).saturating_mul(r.into())) + // Estimated: `6808 + r * (2635 ±10)` + // Minimum execution time: 233_217_000 picoseconds. + Weight::from_parts(233_877_000, 6808) + // Standard Error: 106_254 + .saturating_add(Weight::from_parts(201_924_666, 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)) @@ -1392,12 +1394,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1312 + t * (204 ±0)` // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 405_075_000 picoseconds. - Weight::from_parts(367_122_371, 12202) - // Standard Error: 944_866 - .saturating_add(Weight::from_parts(41_525_444, 0).saturating_mul(t.into())) + // Minimum execution time: 407_110_000 picoseconds. + Weight::from_parts(386_773_504, 12202) + // Standard Error: 977_209 + .saturating_add(Weight::from_parts(25_384_027, 0).saturating_mul(t.into())) // Standard Error: 1 - .saturating_add(Weight::from_parts(576, 0).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(587, 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)) @@ -1425,10 +1427,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1385 + r * (253 ±0)` // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 561_466_000 picoseconds. - Weight::from_parts(562_122_000, 7209) - // Standard Error: 225_315 - .saturating_add(Weight::from_parts(338_063_539, 0).saturating_mul(r.into())) + // Minimum execution time: 547_672_000 picoseconds. + Weight::from_parts(548_754_000, 7209) + // Standard Error: 221_475 + .saturating_add(Weight::from_parts(327_267_765, 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)) @@ -1458,14 +1460,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1135 + t * (187 ±0)` // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 1_563_154_000 picoseconds. - Weight::from_parts(290_797_570, 9556) - // Standard Error: 5_132_435 - .saturating_add(Weight::from_parts(126_768_369, 0).saturating_mul(t.into())) + // Minimum execution time: 1_588_262_000 picoseconds. + Weight::from_parts(264_143_221, 9556) + // Standard Error: 5_366_546 + .saturating_add(Weight::from_parts(130_759_588, 0).saturating_mul(t.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_145, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_184, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_369, 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)) @@ -1491,10 +1493,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 232_820_000 picoseconds. - Weight::from_parts(245_577_899, 6799) - // Standard Error: 3_986 - .saturating_add(Weight::from_parts(567_944, 0).saturating_mul(r.into())) + // Minimum execution time: 228_991_000 picoseconds. + Weight::from_parts(232_270_831, 6799) + // Standard Error: 3_526 + .saturating_add(Weight::from_parts(586_415, 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 +1520,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 234_667_000 picoseconds. - Weight::from_parts(231_133_166, 6806) + // Minimum execution time: 231_431_000 picoseconds. + Weight::from_parts(228_325_760, 6806) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_932, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(3_951, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1544,10 +1546,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 232_590_000 picoseconds. - Weight::from_parts(236_807_740, 6802) - // Standard Error: 896 - .saturating_add(Weight::from_parts(721_808, 0).saturating_mul(r.into())) + // Minimum execution time: 228_392_000 picoseconds. + Weight::from_parts(232_663_214, 6802) + // Standard Error: 865 + .saturating_add(Weight::from_parts(744_016, 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 +1573,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6810` - // Minimum execution time: 234_644_000 picoseconds. - Weight::from_parts(224_289_413, 6810) + // Minimum execution time: 231_459_000 picoseconds. + Weight::from_parts(224_330_056, 6810) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(3_091, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1597,10 +1599,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 236_760_000 picoseconds. - Weight::from_parts(241_038_346, 6805) - // Standard Error: 769 - .saturating_add(Weight::from_parts(405_469, 0).saturating_mul(r.into())) + // Minimum execution time: 228_938_000 picoseconds. + Weight::from_parts(229_690_646, 6805) + // Standard Error: 4_025 + .saturating_add(Weight::from_parts(441_360, 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 +1626,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6814` - // Minimum execution time: 234_832_000 picoseconds. - Weight::from_parts(225_867_355, 6814) + // Minimum execution time: 230_605_000 picoseconds. + Weight::from_parts(226_668_183, 6814) // Standard Error: 1 - .saturating_add(Weight::from_parts(911, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(913, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1650,10 +1652,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 232_554_000 picoseconds. - Weight::from_parts(240_853_640, 6806) - // Standard Error: 593 - .saturating_add(Weight::from_parts(401_756, 0).saturating_mul(r.into())) + // Minimum execution time: 228_749_000 picoseconds. + Weight::from_parts(233_763_978, 6806) + // Standard Error: 529 + .saturating_add(Weight::from_parts(426_985, 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 +1679,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6808` - // Minimum execution time: 234_138_000 picoseconds. - Weight::from_parts(224_930_625, 6808) + // Minimum execution time: 231_585_000 picoseconds. + Weight::from_parts(223_404_948, 6808) // Standard Error: 1 - .saturating_add(Weight::from_parts(917, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1703,10 +1705,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `993 + n * (1 ±0)` // Estimated: `6930 + n * (1 ±0)` - // Minimum execution time: 287_615_000 picoseconds. - Weight::from_parts(294_306_638, 6930) - // Standard Error: 10 - .saturating_add(Weight::from_parts(5_517, 0).saturating_mul(n.into())) + // Minimum execution time: 284_016_000 picoseconds. + Weight::from_parts(288_280_129, 6930) + // Standard Error: 8 + .saturating_add(Weight::from_parts(5_548, 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 +1730,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: `807 + r * (112 ±0)` + // Measured: `803 + r * (112 ±0)` // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 237_064_000 picoseconds. - Weight::from_parts(244_270_808, 6747) - // Standard Error: 21_403 - .saturating_add(Weight::from_parts(48_021_497, 0).saturating_mul(r.into())) + // Minimum execution time: 232_497_000 picoseconds. + Weight::from_parts(242_606_845, 6747) + // Standard Error: 19_911 + .saturating_add(Weight::from_parts(48_047_241, 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())) @@ -1755,12 +1757,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `902 + r * (76 ±0)` + // Measured: `903 + r * (76 ±0)` // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 245_534_000 picoseconds. - Weight::from_parts(253_356_767, 6798) - // Standard Error: 20_203 - .saturating_add(Weight::from_parts(37_741_543, 0).saturating_mul(r.into())) + // Minimum execution time: 233_369_000 picoseconds. + Weight::from_parts(247_152_297, 6798) + // Standard Error: 18_592 + .saturating_add(Weight::from_parts(37_766_740, 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 +1786,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `873 + r * (42 ±0)` // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 234_928_000 picoseconds. - Weight::from_parts(239_497_548, 6812) - // Standard Error: 10_310 - .saturating_add(Weight::from_parts(9_595_979, 0).saturating_mul(r.into())) + // Minimum execution time: 232_720_000 picoseconds. + Weight::from_parts(236_166_125, 6812) + // Standard Error: 9_360 + .saturating_add(Weight::from_parts(9_594_769, 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())) @@ -1810,11 +1812,11 @@ impl WeightInfo for SubstrateWeight { fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (963 ±0)` - // Estimated: `6803 + r * (3089 ±10)` - // Minimum execution time: 235_519_000 picoseconds. - Weight::from_parts(236_033_000, 6803) - // Standard Error: 48_779 - .saturating_add(Weight::from_parts(23_326_050, 0).saturating_mul(r.into())) + // Estimated: `6803 + r * (3089 ±7)` + // Minimum execution time: 232_030_000 picoseconds. + Weight::from_parts(233_004_000, 6803) + // Standard Error: 50_017 + .saturating_add(Weight::from_parts(22_584_341, 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 +1842,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `854 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 234_684_000 picoseconds. - Weight::from_parts(238_487_096, 6804) - // Standard Error: 334 - .saturating_add(Weight::from_parts(167_391, 0).saturating_mul(r.into())) + // Minimum execution time: 231_530_000 picoseconds. + Weight::from_parts(235_866_983, 6804) + // Standard Error: 262 + .saturating_add(Weight::from_parts(174_364, 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 +1869,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `2094 + r * (39 ±0)` // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 237_085_000 picoseconds. - Weight::from_parts(265_515_686, 7921) - // Standard Error: 1_106 - .saturating_add(Weight::from_parts(287_161, 0).saturating_mul(r.into())) + // Minimum execution time: 233_088_000 picoseconds. + Weight::from_parts(260_912_513, 7921) + // Standard Error: 1_095 + .saturating_add(Weight::from_parts(304_805, 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 +1898,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 234_411_000 picoseconds. - Weight::from_parts(242_157_767, 6804) - // Standard Error: 985 - .saturating_add(Weight::from_parts(147_359, 0).saturating_mul(r.into())) + // Minimum execution time: 231_852_000 picoseconds. + Weight::from_parts(238_062_484, 6804) + // Standard Error: 369 + .saturating_add(Weight::from_parts(158_553, 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 +1911,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_374_000 picoseconds. - Weight::from_parts(1_970_771, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(8_835, 0).saturating_mul(r.into())) + // Minimum execution time: 1_460_000 picoseconds. + Weight::from_parts(1_683_045, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(2_389, 0).saturating_mul(r.into())) } } @@ -1924,8 +1926,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_573_000 picoseconds. - Weight::from_parts(2_704_000, 1627) + // Minimum execution time: 2_416_000 picoseconds. + Weight::from_parts(2_574_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1935,10 +1937,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `451 + k * (69 ±0)` // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_466_000 picoseconds. - Weight::from_parts(8_058_990, 441) - // Standard Error: 1_044 - .saturating_add(Weight::from_parts(984_050, 0).saturating_mul(k.into())) + // Minimum execution time: 12_025_000 picoseconds. + Weight::from_parts(7_586_048, 441) + // Standard Error: 1_035 + .saturating_add(Weight::from_parts(998_135, 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 +1954,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 9_208_000 picoseconds. - Weight::from_parts(10_257_369, 6149) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_290, 0).saturating_mul(c.into())) + // Minimum execution time: 8_920_000 picoseconds. + Weight::from_parts(10_032_308, 6149) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_295, 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())) @@ -1968,8 +1970,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_862_000 picoseconds. - Weight::from_parts(18_273_000, 6488) + // Minimum execution time: 17_464_000 picoseconds. + Weight::from_parts(17_741_000, 6488) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1982,10 +1984,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_849_000 picoseconds. - Weight::from_parts(2_652_504, 3635) - // Standard Error: 1_063 - .saturating_add(Weight::from_parts(1_033_214, 0).saturating_mul(k.into())) + // Minimum execution time: 3_770_000 picoseconds. + Weight::from_parts(2_561_868, 3635) + // Standard Error: 1_239 + .saturating_add(Weight::from_parts(949_122, 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()))) @@ -2006,10 +2008,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_665_000 picoseconds. - Weight::from_parts(26_798_407, 6313) + // Minimum execution time: 23_018_000 picoseconds. + Weight::from_parts(26_135_343, 6313) // Standard Error: 1 - .saturating_add(Weight::from_parts(957, 0).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(967, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -2020,8 +2022,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_412_000 picoseconds. - Weight::from_parts(3_529_000, 1627) + // Minimum execution time: 3_191_000 picoseconds. + Weight::from_parts(3_390_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2033,8 +2035,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_840_000 picoseconds. - Weight::from_parts(13_182_000, 3631) + // Minimum execution time: 12_435_000 picoseconds. + Weight::from_parts(12_887_000, 3631) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -2044,8 +2046,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 5_128_000 picoseconds. - Weight::from_parts(5_375_000, 3607) + // Minimum execution time: 5_077_000 picoseconds. + Weight::from_parts(5_380_000, 3607) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2056,8 +2058,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 7_133_000 picoseconds. - Weight::from_parts(7_652_000, 3632) + // Minimum execution time: 7_024_000 picoseconds. + Weight::from_parts(7_416_000, 3632) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2068,8 +2070,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_836_000 picoseconds. - Weight::from_parts(8_200_000, 3607) + // Minimum execution time: 7_490_000 picoseconds. + Weight::from_parts(7_695_000, 3607) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2092,10 +2094,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `788` // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 261_651_000 picoseconds. - Weight::from_parts(258_159_011, 6737) - // Standard Error: 33 - .saturating_add(Weight::from_parts(33_653, 0).saturating_mul(c.into())) + // Minimum execution time: 256_725_000 picoseconds. + Weight::from_parts(245_088_815, 6737) + // Standard Error: 53 + .saturating_add(Weight::from_parts(37_705, 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())) @@ -2123,14 +2125,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 3_088_354_000 picoseconds. - Weight::from_parts(694_873_563, 8745) - // Standard Error: 169 - .saturating_add(Weight::from_parts(68_125, 0).saturating_mul(c.into())) - // Standard Error: 20 - .saturating_add(Weight::from_parts(1_019, 0).saturating_mul(i.into())) - // Standard Error: 20 - .saturating_add(Weight::from_parts(1_340, 0).saturating_mul(s.into())) + // Minimum execution time: 3_145_398_000 picoseconds. + Weight::from_parts(550_492_509, 8745) + // Standard Error: 138 + .saturating_add(Weight::from_parts(72_504, 0).saturating_mul(c.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_125, 0).saturating_mul(i.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_420, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(9_u64)) } @@ -2156,12 +2158,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `505` // Estimated: `6431` - // Minimum execution time: 1_622_269_000 picoseconds. - Weight::from_parts(319_925_845, 6431) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_408, 0).saturating_mul(i.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_381, 0).saturating_mul(s.into())) + // Minimum execution time: 1_636_729_000 picoseconds. + Weight::from_parts(261_166_753, 6431) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_440, 0).saturating_mul(i.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_448, 0).saturating_mul(s.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -2183,8 +2185,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `840` // Estimated: `6780` - // Minimum execution time: 194_542_000 picoseconds. - Weight::from_parts(195_741_000, 6780) + // Minimum execution time: 183_146_000 picoseconds. + Weight::from_parts(184_324_000, 6780) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -2201,10 +2203,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 233_777_000 picoseconds. - Weight::from_parts(214_148_420, 3607) - // Standard Error: 67 - .saturating_add(Weight::from_parts(67_940, 0).saturating_mul(c.into())) + // Minimum execution time: 228_099_000 picoseconds. + Weight::from_parts(207_736_782, 3607) + // Standard Error: 81 + .saturating_add(Weight::from_parts(72_062, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2220,8 +2222,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `257` // Estimated: `3722` - // Minimum execution time: 33_715_000 picoseconds. - Weight::from_parts(34_223_000, 3722) + // Minimum execution time: 32_147_000 picoseconds. + Weight::from_parts(32_595_000, 3722) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2237,8 +2239,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `579` // Estimated: `8994` - // Minimum execution time: 36_291_000 picoseconds. - Weight::from_parts(36_731_000, 8994) + // Minimum execution time: 35_146_000 picoseconds. + Weight::from_parts(35_404_000, 8994) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2261,10 +2263,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `862 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 235_273_000 picoseconds. - Weight::from_parts(238_445_659, 6803) - // Standard Error: 985 - .saturating_add(Weight::from_parts(303_931, 0).saturating_mul(r.into())) + // Minimum execution time: 231_641_000 picoseconds. + Weight::from_parts(246_597_753, 6803) + // Standard Error: 3_104 + .saturating_add(Weight::from_parts(304_326, 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())) @@ -2288,10 +2290,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `920 + r * (240 ±0)` // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 236_442_000 picoseconds. - Weight::from_parts(69_410_637, 6824) - // Standard Error: 6_071 - .saturating_add(Weight::from_parts(3_348_834, 0).saturating_mul(r.into())) + // Minimum execution time: 231_274_000 picoseconds. + Weight::from_parts(67_248_651, 6824) + // Standard Error: 6_144 + .saturating_add(Weight::from_parts(3_251_957, 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)) @@ -2316,10 +2318,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `912 + r * (244 ±0)` // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 236_350_000 picoseconds. - Weight::from_parts(59_062_734, 6828) - // Standard Error: 6_929 - .saturating_add(Weight::from_parts(4_111_179, 0).saturating_mul(r.into())) + // Minimum execution time: 232_665_000 picoseconds. + Weight::from_parts(64_453_027, 6828) + // Standard Error: 6_473 + .saturating_add(Weight::from_parts(3_977_900, 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)) @@ -2344,10 +2346,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 236_432_000 picoseconds. - Weight::from_parts(237_424_115, 6811) - // Standard Error: 601 - .saturating_add(Weight::from_parts(371_988, 0).saturating_mul(r.into())) + // Minimum execution time: 233_959_000 picoseconds. + Weight::from_parts(235_855_751, 6811) + // Standard Error: 590 + .saturating_add(Weight::from_parts(386_662, 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())) @@ -2371,10 +2373,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 233_918_000 picoseconds. - Weight::from_parts(238_264_956, 6804) - // Standard Error: 2_291 - .saturating_add(Weight::from_parts(182_760, 0).saturating_mul(r.into())) + // Minimum execution time: 230_718_000 picoseconds. + Weight::from_parts(226_522_400, 6804) + // Standard Error: 4_783 + .saturating_add(Weight::from_parts(210_779, 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())) @@ -2396,10 +2398,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `749 + r * (3 ±0)` // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 222_665_000 picoseconds. - Weight::from_parts(226_891_455, 6689) - // Standard Error: 326 - .saturating_add(Weight::from_parts(157_251, 0).saturating_mul(r.into())) + // Minimum execution time: 219_749_000 picoseconds. + Weight::from_parts(230_060_094, 6689) + // Standard Error: 2_382 + .saturating_add(Weight::from_parts(169_338, 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())) @@ -2423,10 +2425,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `863 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 235_173_000 picoseconds. - Weight::from_parts(239_226_265, 6805) - // Standard Error: 578 - .saturating_add(Weight::from_parts(295_140, 0).saturating_mul(r.into())) + // Minimum execution time: 231_545_000 picoseconds. + Weight::from_parts(238_567_419, 6805) + // Standard Error: 1_075 + .saturating_add(Weight::from_parts(306_036, 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())) @@ -2450,10 +2452,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 235_708_000 picoseconds. - Weight::from_parts(239_679_148, 6800) - // Standard Error: 1_079 - .saturating_add(Weight::from_parts(471_952, 0).saturating_mul(r.into())) + // Minimum execution time: 232_326_000 picoseconds. + Weight::from_parts(225_495_558, 6800) + // Standard Error: 11_662 + .saturating_add(Weight::from_parts(525_607, 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())) @@ -2477,10 +2479,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1003 + r * (6 ±0)` // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 234_931_000 picoseconds. - Weight::from_parts(241_581_669, 6927) - // Standard Error: 1_067 - .saturating_add(Weight::from_parts(1_434_140, 0).saturating_mul(r.into())) + // Minimum execution time: 231_721_000 picoseconds. + Weight::from_parts(241_687_240, 6927) + // Standard Error: 1_054 + .saturating_add(Weight::from_parts(1_391_130, 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())) @@ -2504,10 +2506,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `873 + r * (6 ±0)` // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 236_084_000 picoseconds. - Weight::from_parts(246_964_158, 6822) - // Standard Error: 5_079 - .saturating_add(Weight::from_parts(296_545, 0).saturating_mul(r.into())) + // Minimum execution time: 232_346_000 picoseconds. + Weight::from_parts(238_747_964, 6822) + // Standard Error: 726 + .saturating_add(Weight::from_parts(302_191, 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())) @@ -2531,10 +2533,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 235_345_000 picoseconds. - Weight::from_parts(246_153_628, 6820) - // Standard Error: 1_394 - .saturating_add(Weight::from_parts(281_114, 0).saturating_mul(r.into())) + // Minimum execution time: 234_416_000 picoseconds. + Weight::from_parts(234_833_885, 6820) + // Standard Error: 464 + .saturating_add(Weight::from_parts(306_075, 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())) @@ -2558,10 +2560,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 234_406_000 picoseconds. - Weight::from_parts(239_022_171, 6818) - // Standard Error: 495 - .saturating_add(Weight::from_parts(287_854, 0).saturating_mul(r.into())) + // Minimum execution time: 230_737_000 picoseconds. + Weight::from_parts(236_497_502, 6818) + // Standard Error: 564 + .saturating_add(Weight::from_parts(299_577, 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())) @@ -2585,10 +2587,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 235_041_000 picoseconds. - Weight::from_parts(238_562_668, 6804) - // Standard Error: 466 - .saturating_add(Weight::from_parts(292_419, 0).saturating_mul(r.into())) + // Minimum execution time: 231_832_000 picoseconds. + Weight::from_parts(237_288_366, 6804) + // Standard Error: 528 + .saturating_add(Weight::from_parts(303_263, 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())) @@ -2614,10 +2616,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `933 + r * (14 ±0)` // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 234_531_000 picoseconds. - Weight::from_parts(242_532_350, 6866) - // Standard Error: 1_054 - .saturating_add(Weight::from_parts(1_334_533, 0).saturating_mul(r.into())) + // Minimum execution time: 231_627_000 picoseconds. + Weight::from_parts(237_225_364, 6866) + // Standard Error: 1_179 + .saturating_add(Weight::from_parts(1_319_878, 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())) @@ -2641,10 +2643,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 235_181_000 picoseconds. - Weight::from_parts(238_613_614, 6805) - // Standard Error: 576 - .saturating_add(Weight::from_parts(253_915, 0).saturating_mul(r.into())) + // Minimum execution time: 231_819_000 picoseconds. + Weight::from_parts(235_603_311, 6805) + // Standard Error: 380 + .saturating_add(Weight::from_parts(262_916, 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())) @@ -2668,10 +2670,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `865` // Estimated: `6805` - // Minimum execution time: 235_713_000 picoseconds. - Weight::from_parts(239_732_972, 6805) + // Minimum execution time: 234_883_000 picoseconds. + Weight::from_parts(234_377_651, 6805) // Standard Error: 1 - .saturating_add(Weight::from_parts(567, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(597, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2694,10 +2696,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `849 + r * (45 ±0)` // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 231_204_000 picoseconds. - Weight::from_parts(233_964_393, 6789) - // Standard Error: 185_439 - .saturating_add(Weight::from_parts(2_657_106, 0).saturating_mul(r.into())) + // Minimum execution time: 228_138_000 picoseconds. + Weight::from_parts(230_006_512, 6789) + // Standard Error: 99_810 + .saturating_add(Weight::from_parts(2_428_987, 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())) @@ -2721,10 +2723,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859` // Estimated: `6812` - // Minimum execution time: 235_132_000 picoseconds. - Weight::from_parts(236_424_515, 6812) - // Standard Error: 0 - .saturating_add(Weight::from_parts(270, 0).saturating_mul(n.into())) + // Minimum execution time: 230_946_000 picoseconds. + Weight::from_parts(237_179_222, 6812) + // Standard Error: 2 + .saturating_add(Weight::from_parts(289, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2751,10 +2753,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `891 + r * (300 ±0)` // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 234_791_000 picoseconds. - Weight::from_parts(236_660_753, 6831) - // Standard Error: 197_422 - .saturating_add(Weight::from_parts(114_341_846, 0).saturating_mul(r.into())) + // Minimum execution time: 230_537_000 picoseconds. + Weight::from_parts(232_555_173, 6831) + // Standard Error: 118_223 + .saturating_add(Weight::from_parts(105_739_626, 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)) @@ -2782,10 +2784,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `940 + r * (10 ±0)` // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 234_845_000 picoseconds. - Weight::from_parts(238_678_506, 6881) - // Standard Error: 7_321 - .saturating_add(Weight::from_parts(1_827_270, 0).saturating_mul(r.into())) + // Minimum execution time: 231_071_000 picoseconds. + Weight::from_parts(239_630_508, 6881) + // Standard Error: 2_285 + .saturating_add(Weight::from_parts(1_679_147, 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())) @@ -2809,10 +2811,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (10 ±0)` // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 234_371_000 picoseconds. - Weight::from_parts(240_688_540, 6804) - // Standard Error: 2_265 - .saturating_add(Weight::from_parts(3_594_517, 0).saturating_mul(r.into())) + // Minimum execution time: 229_158_000 picoseconds. + Weight::from_parts(237_303_297, 6804) + // Standard Error: 2_089 + .saturating_add(Weight::from_parts(3_342_141, 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())) @@ -2837,12 +2839,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `878 + t * (32 ±0)` // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 250_583_000 picoseconds. - Weight::from_parts(243_645_227, 6825) - // Standard Error: 42_305 - .saturating_add(Weight::from_parts(2_459_102, 0).saturating_mul(t.into())) - // Standard Error: 11 - .saturating_add(Weight::from_parts(667, 0).saturating_mul(n.into())) + // Minimum execution time: 247_115_000 picoseconds. + Weight::from_parts(237_880_998, 6825) + // Standard Error: 46_167 + .saturating_add(Weight::from_parts(2_648_130, 0).saturating_mul(t.into())) + // Standard Error: 12 + .saturating_add(Weight::from_parts(797, 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)) @@ -2868,10 +2870,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (7 ±0)` // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 161_534_000 picoseconds. - Weight::from_parts(165_244_020, 6802) - // Standard Error: 349 - .saturating_add(Weight::from_parts(226_353, 0).saturating_mul(r.into())) + // Minimum execution time: 160_227_000 picoseconds. + Weight::from_parts(165_426_206, 6802) + // Standard Error: 369 + .saturating_add(Weight::from_parts(240_521, 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())) @@ -2895,10 +2897,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `125809` // Estimated: `131751` - // Minimum execution time: 456_546_000 picoseconds. - Weight::from_parts(458_378_061, 131751) - // Standard Error: 1 - .saturating_add(Weight::from_parts(865, 0).saturating_mul(i.into())) + // Minimum execution time: 457_067_000 picoseconds. + Weight::from_parts(455_263_911, 131751) + // Standard Error: 3 + .saturating_add(Weight::from_parts(895, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2909,10 +2911,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `926 + r * (292 ±0)` // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 237_444_000 picoseconds. - Weight::from_parts(127_397_650, 924) - // Standard Error: 10_459 - .saturating_add(Weight::from_parts(6_231_823, 0).saturating_mul(r.into())) + // Minimum execution time: 232_432_000 picoseconds. + Weight::from_parts(128_099_011, 924) + // Standard Error: 9_989 + .saturating_add(Weight::from_parts(6_011_795, 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)) @@ -2926,10 +2928,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1385` // Estimated: `1361` - // Minimum execution time: 248_893_000 picoseconds. - Weight::from_parts(282_810_906, 1361) - // Standard Error: 51 - .saturating_add(Weight::from_parts(450, 0).saturating_mul(n.into())) + // Minimum execution time: 245_738_000 picoseconds. + Weight::from_parts(277_229_722, 1361) + // Standard Error: 45 + .saturating_add(Weight::from_parts(559, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2940,10 +2942,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1248 + n * (1 ±0)` // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 247_856_000 picoseconds. - Weight::from_parts(250_010_747, 1248) - // Standard Error: 18 - .saturating_add(Weight::from_parts(230, 0).saturating_mul(n.into())) + // Minimum execution time: 245_711_000 picoseconds. + Weight::from_parts(247_826_690, 1248) + // Standard Error: 16 + .saturating_add(Weight::from_parts(123, 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())) @@ -2955,10 +2957,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `922 + r * (288 ±0)` // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 239_231_000 picoseconds. - Weight::from_parts(127_983_126, 926) - // Standard Error: 10_506 - .saturating_add(Weight::from_parts(6_111_497, 0).saturating_mul(r.into())) + // Minimum execution time: 232_335_000 picoseconds. + Weight::from_parts(127_575_261, 926) + // Standard Error: 10_444 + .saturating_add(Weight::from_parts(5_949_900, 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)) @@ -2972,8 +2974,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1244 + n * (1 ±0)` // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 247_910_000 picoseconds. - Weight::from_parts(261_101_227, 1244) + // Minimum execution time: 244_098_000 picoseconds. + Weight::from_parts(246_035_630, 1244) + // Standard Error: 14 + .saturating_add(Weight::from_parts(178, 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 +2989,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `916 + r * (296 ±0)` // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 237_253_000 picoseconds. - Weight::from_parts(145_882_105, 921) - // Standard Error: 8_860 - .saturating_add(Weight::from_parts(5_079_972, 0).saturating_mul(r.into())) + // Minimum execution time: 233_339_000 picoseconds. + Weight::from_parts(147_348_628, 921) + // Standard Error: 8_468 + .saturating_add(Weight::from_parts(4_922_548, 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 +3005,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1260 + n * (1 ±0)` // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 247_190_000 picoseconds. - Weight::from_parts(249_735_261, 1260) - // Standard Error: 80 - .saturating_add(Weight::from_parts(697, 0).saturating_mul(n.into())) + // Minimum execution time: 243_918_000 picoseconds. + Weight::from_parts(246_029_747, 1260) + // Standard Error: 16 + .saturating_add(Weight::from_parts(710, 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 +3020,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `937 + r * (288 ±0)` // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 235_724_000 picoseconds. - Weight::from_parts(142_064_551, 938) - // Standard Error: 9_319 - .saturating_add(Weight::from_parts(4_874_532, 0).saturating_mul(r.into())) + // Minimum execution time: 233_032_000 picoseconds. + Weight::from_parts(145_375_464, 938) + // Standard Error: 8_475 + .saturating_add(Weight::from_parts(4_752_430, 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 +3036,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1247 + n * (1 ±0)` // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 245_583_000 picoseconds. - Weight::from_parts(247_475_076, 1247) - // Standard Error: 12 - .saturating_add(Weight::from_parts(205, 0).saturating_mul(n.into())) + // Minimum execution time: 242_533_000 picoseconds. + Weight::from_parts(244_677_084, 1247) + // Standard Error: 16 + .saturating_add(Weight::from_parts(155, 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 +3051,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `910 + r * (296 ±0)` // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 235_634_000 picoseconds. - Weight::from_parts(133_819_230, 917) - // Standard Error: 9_783 - .saturating_add(Weight::from_parts(6_203_483, 0).saturating_mul(r.into())) + // Minimum execution time: 232_834_000 picoseconds. + Weight::from_parts(118_909_001, 917) + // Standard Error: 10_419 + .saturating_add(Weight::from_parts(6_133_128, 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 +3068,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1261 + n * (1 ±0)` // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 248_525_000 picoseconds. - Weight::from_parts(251_121_050, 1261) - // Standard Error: 22 - .saturating_add(Weight::from_parts(671, 0).saturating_mul(n.into())) + // Minimum execution time: 245_445_000 picoseconds. + Weight::from_parts(241_994_064, 1261) + // Standard Error: 209 + .saturating_add(Weight::from_parts(2_073, 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 +3095,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1454 + r * (45 ±0)` // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 235_446_000 picoseconds. - Weight::from_parts(64_021_190, 7351) - // Standard Error: 21_480 - .saturating_add(Weight::from_parts(36_408_179, 0).saturating_mul(r.into())) + // Minimum execution time: 238_414_000 picoseconds. + Weight::from_parts(148_662_940, 7351) + // Standard Error: 28_550 + .saturating_add(Weight::from_parts(33_583_257, 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 +3124,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1300 + r * (276 ±0)` // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 236_402_000 picoseconds. - Weight::from_parts(237_348_000, 9485) - // Standard Error: 73_685 - .saturating_add(Weight::from_parts(203_183_388, 0).saturating_mul(r.into())) + // Minimum execution time: 232_867_000 picoseconds. + Weight::from_parts(233_783_000, 9485) + // Standard Error: 71_028 + .saturating_add(Weight::from_parts(203_698_485, 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 +3152,11 @@ impl WeightInfo for () { fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±3)` - // Minimum execution time: 235_410_000 picoseconds. - Weight::from_parts(236_351_000, 6808) - // Standard Error: 118_024 - .saturating_add(Weight::from_parts(202_249_277, 0).saturating_mul(r.into())) + // Estimated: `6808 + r * (2635 ±10)` + // Minimum execution time: 233_217_000 picoseconds. + Weight::from_parts(233_877_000, 6808) + // Standard Error: 106_254 + .saturating_add(Weight::from_parts(201_924_666, 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)) @@ -3179,12 +3183,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1312 + t * (204 ±0)` // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 405_075_000 picoseconds. - Weight::from_parts(367_122_371, 12202) - // Standard Error: 944_866 - .saturating_add(Weight::from_parts(41_525_444, 0).saturating_mul(t.into())) + // Minimum execution time: 407_110_000 picoseconds. + Weight::from_parts(386_773_504, 12202) + // Standard Error: 977_209 + .saturating_add(Weight::from_parts(25_384_027, 0).saturating_mul(t.into())) // Standard Error: 1 - .saturating_add(Weight::from_parts(576, 0).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(587, 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)) @@ -3212,10 +3216,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1385 + r * (253 ±0)` // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 561_466_000 picoseconds. - Weight::from_parts(562_122_000, 7209) - // Standard Error: 225_315 - .saturating_add(Weight::from_parts(338_063_539, 0).saturating_mul(r.into())) + // Minimum execution time: 547_672_000 picoseconds. + Weight::from_parts(548_754_000, 7209) + // Standard Error: 221_475 + .saturating_add(Weight::from_parts(327_267_765, 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)) @@ -3245,14 +3249,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1135 + t * (187 ±0)` // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 1_563_154_000 picoseconds. - Weight::from_parts(290_797_570, 9556) - // Standard Error: 5_132_435 - .saturating_add(Weight::from_parts(126_768_369, 0).saturating_mul(t.into())) + // Minimum execution time: 1_588_262_000 picoseconds. + Weight::from_parts(264_143_221, 9556) + // Standard Error: 5_366_546 + .saturating_add(Weight::from_parts(130_759_588, 0).saturating_mul(t.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_145, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_184, 0).saturating_mul(i.into())) // Standard Error: 8 - .saturating_add(Weight::from_parts(1_336, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_369, 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)) @@ -3278,10 +3282,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 232_820_000 picoseconds. - Weight::from_parts(245_577_899, 6799) - // Standard Error: 3_986 - .saturating_add(Weight::from_parts(567_944, 0).saturating_mul(r.into())) + // Minimum execution time: 228_991_000 picoseconds. + Weight::from_parts(232_270_831, 6799) + // Standard Error: 3_526 + .saturating_add(Weight::from_parts(586_415, 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 +3309,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 234_667_000 picoseconds. - Weight::from_parts(231_133_166, 6806) + // Minimum execution time: 231_431_000 picoseconds. + Weight::from_parts(228_325_760, 6806) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_932, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(3_951, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3331,10 +3335,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 232_590_000 picoseconds. - Weight::from_parts(236_807_740, 6802) - // Standard Error: 896 - .saturating_add(Weight::from_parts(721_808, 0).saturating_mul(r.into())) + // Minimum execution time: 228_392_000 picoseconds. + Weight::from_parts(232_663_214, 6802) + // Standard Error: 865 + .saturating_add(Weight::from_parts(744_016, 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 +3362,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6810` - // Minimum execution time: 234_644_000 picoseconds. - Weight::from_parts(224_289_413, 6810) + // Minimum execution time: 231_459_000 picoseconds. + Weight::from_parts(224_330_056, 6810) // Standard Error: 2 - .saturating_add(Weight::from_parts(3_083, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(3_091, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3384,10 +3388,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 236_760_000 picoseconds. - Weight::from_parts(241_038_346, 6805) - // Standard Error: 769 - .saturating_add(Weight::from_parts(405_469, 0).saturating_mul(r.into())) + // Minimum execution time: 228_938_000 picoseconds. + Weight::from_parts(229_690_646, 6805) + // Standard Error: 4_025 + .saturating_add(Weight::from_parts(441_360, 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 +3415,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6814` - // Minimum execution time: 234_832_000 picoseconds. - Weight::from_parts(225_867_355, 6814) + // Minimum execution time: 230_605_000 picoseconds. + Weight::from_parts(226_668_183, 6814) // Standard Error: 1 - .saturating_add(Weight::from_parts(911, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(913, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3437,10 +3441,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (8 ±0)` // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 232_554_000 picoseconds. - Weight::from_parts(240_853_640, 6806) - // Standard Error: 593 - .saturating_add(Weight::from_parts(401_756, 0).saturating_mul(r.into())) + // Minimum execution time: 228_749_000 picoseconds. + Weight::from_parts(233_763_978, 6806) + // Standard Error: 529 + .saturating_add(Weight::from_parts(426_985, 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 +3468,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `868` // Estimated: `6808` - // Minimum execution time: 234_138_000 picoseconds. - Weight::from_parts(224_930_625, 6808) + // Minimum execution time: 231_585_000 picoseconds. + Weight::from_parts(223_404_948, 6808) // Standard Error: 1 - .saturating_add(Weight::from_parts(917, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3490,10 +3494,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `993 + n * (1 ±0)` // Estimated: `6930 + n * (1 ±0)` - // Minimum execution time: 287_615_000 picoseconds. - Weight::from_parts(294_306_638, 6930) - // Standard Error: 10 - .saturating_add(Weight::from_parts(5_517, 0).saturating_mul(n.into())) + // Minimum execution time: 284_016_000 picoseconds. + Weight::from_parts(288_280_129, 6930) + // Standard Error: 8 + .saturating_add(Weight::from_parts(5_548, 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 +3519,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: `807 + r * (112 ±0)` + // Measured: `803 + r * (112 ±0)` // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 237_064_000 picoseconds. - Weight::from_parts(244_270_808, 6747) - // Standard Error: 21_403 - .saturating_add(Weight::from_parts(48_021_497, 0).saturating_mul(r.into())) + // Minimum execution time: 232_497_000 picoseconds. + Weight::from_parts(242_606_845, 6747) + // Standard Error: 19_911 + .saturating_add(Weight::from_parts(48_047_241, 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())) @@ -3542,12 +3546,12 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `902 + r * (76 ±0)` + // Measured: `903 + r * (76 ±0)` // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 245_534_000 picoseconds. - Weight::from_parts(253_356_767, 6798) - // Standard Error: 20_203 - .saturating_add(Weight::from_parts(37_741_543, 0).saturating_mul(r.into())) + // Minimum execution time: 233_369_000 picoseconds. + Weight::from_parts(247_152_297, 6798) + // Standard Error: 18_592 + .saturating_add(Weight::from_parts(37_766_740, 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 +3575,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `873 + r * (42 ±0)` // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 234_928_000 picoseconds. - Weight::from_parts(239_497_548, 6812) - // Standard Error: 10_310 - .saturating_add(Weight::from_parts(9_595_979, 0).saturating_mul(r.into())) + // Minimum execution time: 232_720_000 picoseconds. + Weight::from_parts(236_166_125, 6812) + // Standard Error: 9_360 + .saturating_add(Weight::from_parts(9_594_769, 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())) @@ -3597,11 +3601,11 @@ impl WeightInfo for () { fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0 + r * (963 ±0)` - // Estimated: `6803 + r * (3089 ±10)` - // Minimum execution time: 235_519_000 picoseconds. - Weight::from_parts(236_033_000, 6803) - // Standard Error: 48_779 - .saturating_add(Weight::from_parts(23_326_050, 0).saturating_mul(r.into())) + // Estimated: `6803 + r * (3089 ±7)` + // Minimum execution time: 232_030_000 picoseconds. + Weight::from_parts(233_004_000, 6803) + // Standard Error: 50_017 + .saturating_add(Weight::from_parts(22_584_341, 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 +3631,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `854 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 234_684_000 picoseconds. - Weight::from_parts(238_487_096, 6804) - // Standard Error: 334 - .saturating_add(Weight::from_parts(167_391, 0).saturating_mul(r.into())) + // Minimum execution time: 231_530_000 picoseconds. + Weight::from_parts(235_866_983, 6804) + // Standard Error: 262 + .saturating_add(Weight::from_parts(174_364, 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 +3658,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `2094 + r * (39 ±0)` // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 237_085_000 picoseconds. - Weight::from_parts(265_515_686, 7921) - // Standard Error: 1_106 - .saturating_add(Weight::from_parts(287_161, 0).saturating_mul(r.into())) + // Minimum execution time: 233_088_000 picoseconds. + Weight::from_parts(260_912_513, 7921) + // Standard Error: 1_095 + .saturating_add(Weight::from_parts(304_805, 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 +3687,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 234_411_000 picoseconds. - Weight::from_parts(242_157_767, 6804) - // Standard Error: 985 - .saturating_add(Weight::from_parts(147_359, 0).saturating_mul(r.into())) + // Minimum execution time: 231_852_000 picoseconds. + Weight::from_parts(238_062_484, 6804) + // Standard Error: 369 + .saturating_add(Weight::from_parts(158_553, 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 +3700,9 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_374_000 picoseconds. - Weight::from_parts(1_970_771, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(8_835, 0).saturating_mul(r.into())) + // Minimum execution time: 1_460_000 picoseconds. + Weight::from_parts(1_683_045, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(2_389, 0).saturating_mul(r.into())) } } From 76a8c20e6fb8957df95982697c0d22e200851761 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 14:37:22 +0300 Subject: [PATCH 44/70] use wasmi 0.30 again --- frame/contracts/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frame/contracts/Cargo.toml b/frame/contracts/Cargo.toml index 1b140c9379b3b..4b17131e72924 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -26,7 +26,7 @@ serde = { version = "1", optional = true, features = ["derive"] } smallvec = { version = "1", default-features = false, features = [ "const_generics", ] } -wasmi = { version = "0.29", default-features = false } +wasmi = { version = "0.30", default-features = false } wasmparser = { package = "wasmparser-nostd", version = "0.100", default-features = false } impl-trait-for-tuples = "0.2" From fbc43ae2ace71465a411276115659ceff8b9a588 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 15:55:35 +0300 Subject: [PATCH 45/70] query memory limits from wasmi --- Cargo.lock | 11 ++- frame/contracts/src/benchmarking/sandbox.rs | 13 +-- frame/contracts/src/wasm/mod.rs | 94 ++++++++++++++++----- frame/contracts/src/wasm/prepare.rs | 41 ++++----- 4 files changed, 102 insertions(+), 57 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 912455aa2ce81..97d2a24db6f1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3774,6 +3774,12 @@ dependencies = [ "webrtc-util", ] +[[package]] +name = "intx" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f38a50a899dc47a6d0ed5508e7f601a2e34c3a85303514b5d137f3c10a0c75" + [[package]] name = "io-lifetimes" version = "1.0.11" @@ -13324,10 +13330,11 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677160b1166881badada1137afc6457777126f328ae63a18058b504f546f0828" +checksum = "e51fb5c61993e71158abf5bb863df2674ca3ec39ed6471c64f07aeaf751d67b4" dependencies = [ + "intx", "smallvec", "spin 0.9.8", "wasmi_arena", diff --git a/frame/contracts/src/benchmarking/sandbox.rs b/frame/contracts/src/benchmarking/sandbox.rs index a47cfcdb4c542..b323c92079bd5 100644 --- a/frame/contracts/src/benchmarking/sandbox.rs +++ b/frame/contracts/src/benchmarking/sandbox.rs @@ -20,6 +20,7 @@ /// ! environment that provides the seal interface as imported functions. use super::{code::WasmModule, Config}; use crate::wasm::{AllowDeprecatedInterface, AllowUnstableInterface, Environment, WasmBlob}; +use sp_core::Get; use wasmi::{errors::LinkerError, Func, Linker, StackLimits, Store}; /// Minimal execution environment without any imported functions. @@ -36,19 +37,13 @@ impl Sandbox { } impl From<&WasmModule> for Sandbox { - /// Creates an instance from the supplied module and supplies as much memory - /// to the instance as the module declares as imported. Sets the execution engine fuel level - /// to `u64::MAX`. + /// Creates an instance from the supplied module. + /// Sets the execution engine fuel level to `u64::MAX`. fn from(module: &WasmModule) -> Self { - let memory = module - .memory - .as_ref() - .map(|mem| (mem.min_pages, mem.max_pages)) - .unwrap_or((0, 0)); let (mut store, _memory, instance) = WasmBlob::::instantiate::( &module.code, (), - memory, + &::Schedule::get(), StackLimits::default(), // We are testing with an empty environment anyways AllowDeprecatedInterface::No, diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index d99099249b036..ea94f7eb47627 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -38,6 +38,7 @@ pub use crate::wasm::{ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, gas::{GasMeter, Token}, + wasm::prepare::IMPORT_MODULE_MEMORY, weights::WeightInfo, AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeInfoOf, CodeVec, Config, Error, Event, Pallet, PristineCode, Schedule, Weight, LOG_TARGET, @@ -52,9 +53,10 @@ use sp_core::Get; use sp_runtime::{traits::Hash, RuntimeDebug}; use sp_std::prelude::*; use wasmi::{ - Config as WasmiConfig, Engine, FuelConsumptionMode, Instance, Linker, Memory, MemoryType, - Module, StackLimits, Store, + Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, + MemoryType, Module, StackLimits, Store, }; +const BYTES_PER_PAGE: usize = 64 * 1024; /// Validated Wasm module ready for execution. /// This data structure is immutable once created and stored. @@ -88,12 +90,6 @@ pub struct CodeInfo { /// The number of instantiated contracts that use this as their code. #[codec(compact)] refcount: u64, - /// Initial memory size of a contract's sandbox. - #[codec(compact)] - initial: u32, - /// Maximum memory size of a contract's sandbox. - #[codec(compact)] - maximum: u32, /// Marks if the code might contain non-deterministic features and is therefore never allowed /// to be run on-chain. Specifically, such a code can never be instantiated into a contract /// and can just be used through a delegate call. @@ -200,10 +196,10 @@ impl WasmBlob { pub fn instantiate( code: &[u8], host_state: H, - memory_limits: (u32, u32), + schedule: &Schedule, stack_limits: StackLimits, allow_deprecated: AllowDeprecatedInterface, - ) -> Result<(Store, Memory, Instance), wasmi::Error> + ) -> Result<(Store, Memory, Instance), &'static str> where E: Environment, { @@ -218,7 +214,7 @@ impl WasmBlob { .fuel_consumption_mode(FuelConsumptionMode::Eager); let engine = Engine::new(&config); - let module = Module::new(&engine, code.clone())?; + 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); E::define( @@ -230,25 +226,77 @@ impl WasmBlob { AllowUnstableInterface::No }, 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)?; // 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 memory = - Memory::new(&mut store, MemoryType::new(memory_limits.0, Some(memory_limits.1))?) - .expect( - "We checked the limits versus our `Schedule`, + let qed = "We checked the limits versus our Schedule, which specifies the max amount of memory pages - well below u16::MAX; qed", - ); + well below u16::MAX; qed"; + let memory = Memory::new( + &mut store, + 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 define with this name attached; qed"); + .expect("We just created the Linker. It has no definitions with this name; qed"); - let instance = linker.instantiate(&mut store, &module)?.ensure_no_start(&mut store)?; + let instance = linker + .instantiate(&mut store, &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")?; Ok((store, memory, instance)) } + /// Query wasmi for memory limits specified for the import in Wasm module. + pub 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(ref 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.clone()); + 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)) + } + /// Put the module blob into storage. /// /// Increments the reference count of the in-storage `WasmBlob`, if it already exists in @@ -424,11 +472,11 @@ impl Executable for WasmBlob { let code = self.code.as_slice(); // Instantiate the Wasm module to the engine. let runtime = Runtime::new(ext, input_data); - let memory_limits = (self.code_info.initial, self.code_info.maximum); + let schedule = ::Schedule::get(); let (mut store, memory, instance) = Self::instantiate::( code, runtime, - memory_limits, + &schedule, StackLimits::default(), match function { ExportedFunction::Call => AllowDeprecatedInterface::Yes, @@ -436,7 +484,7 @@ impl Executable for WasmBlob { }, ) .map_err(|msg| { - log::debug!(target: LOG_TARGET, "failed to instantiate code: {}", msg); + log::debug!(target: LOG_TARGET, "failed to instantiate code to wasmi: {}", msg); Error::::CodeRejected })?; store.data_mut().set_memory(memory); diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index e307d1d62b2a6..bb23b9fadac4a 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -241,6 +241,7 @@ impl ContractModule { /// and enforces and returns the memory type declared by the contract if any. /// /// `import_fn_banlist`: list of function names that are disallowed to be imported + #[cfg(any(test, feature = "runtime-benchmarks"))] pub fn scan_imports( &self, import_fn_banlist: &[&[u8]], @@ -287,7 +288,7 @@ impl ContractModule { elements::serialize(self.0).map_err(|_| "error serializing contract module") } } - +#[cfg(any(test, feature = "runtime-benchmarks"))] pub fn get_memory_limits( module: Option<&MemoryType>, schedule: &Schedule, @@ -320,7 +321,7 @@ fn validate( schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result<(Vec, (u32, u32)), (DispatchError, &'static str)> +) -> Result, (DispatchError, &'static str)> where E: Environment<()>, T: Config, @@ -357,8 +358,9 @@ where (Error::::CodeRejected.into(), "Validation of new code failed!") })?; - let (code, memory_limits) = (|| { + let code = (|| { let contract_module = ContractModule::new(code)?; + // TODO: query w wasmi contract_module.scan_exports()?; contract_module.ensure_no_internal_memory()?; contract_module.ensure_table_size_limit(schedule.limits.table_size)?; @@ -368,10 +370,8 @@ where 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. - let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; - - Ok((code, memory_limits)) + Ok(code) })() .map_err(|msg: &str| { log::debug!(target: LOG_TARGET, "New code rejected: {}", msg); @@ -389,7 +389,7 @@ where WasmBlob::::instantiate::( &code, (), - memory_limits, + schedule, stack_limits, AllowDeprecatedInterface::No, ) @@ -398,8 +398,7 @@ where (Error::::CodeRejected.into(), "New code rejected on wasmi instantiation!") })?; } - - Ok((code, memory_limits)) + Ok(code) } /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: @@ -420,8 +419,7 @@ where E: Environment<()>, T: Config, { - let (checked_code, (initial, maximum)) = - validate::(code.as_ref(), schedule, determinism, try_instantiate)?; + let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; let err = |_| (>::CodeTooLarge.into(), "Validation enlarged the code size!"); let checked_code: CodeVec = checked_code.try_into().map_err(err)?; ensure!( @@ -435,7 +433,7 @@ where .update_contract::(None) .charge_or_zero(); - let code_info = CodeInfo { owner, deposit, determinism, refcount: 0, initial, maximum }; + let code_info = CodeInfo { owner, deposit, determinism, refcount: 0 }; Ok(WasmBlob { code, code_info }) } @@ -456,8 +454,8 @@ pub mod benchmarking { owner: AccountIdOf, ) -> Result, DispatchError> { let contract_module = ContractModule::new(&code)?; - let (initial, maximum) = - get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + println!("benchmarking::prepare----------->"); + let _ = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { owner, @@ -465,10 +463,7 @@ pub mod benchmarking { deposit: Default::default(), refcount: 0, determinism: Determinism::Enforced, - initial, - maximum, }; - Ok(WasmBlob { code, code_info }) } } @@ -743,7 +738,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule.") + Err("New code rejected on wasmi instantiation!") ); prepare_test!( @@ -756,7 +751,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Memory import must have the field name 'memory'") + Err("New code rejected on wasmi instantiation!") ); prepare_test!( @@ -783,7 +778,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Cannot import tables") + Err("New code rejected on wasmi instantiation!") ); prepare_test!( @@ -795,7 +790,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Cannot import globals") + Err("New code rejected on wasmi instantiation!") ); } @@ -895,7 +890,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Invalid module for imported memory") + Err("New code rejected on wasmi instantiation!") ); // memory is in "env" and not in some arbitrary module @@ -909,7 +904,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Invalid module for imported memory") + Err("New code rejected on wasmi instantiation!") ); prepare_test!( From cd54ff24ade669fce6e2798903ee3c5b96ffd727 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 22:44:50 +0300 Subject: [PATCH 46/70] save: scan_exports ported, compiles --- frame/contracts/src/wasm/prepare.rs | 317 ++++++++++++++-------------- 1 file changed, 157 insertions(+), 160 deletions(-) diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index bb23b9fadac4a..0e27014ee5117 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -29,11 +29,10 @@ use crate::{ use codec::MaxEncodedLen; use sp_runtime::DispatchError; use sp_std::prelude::*; -use wasm_instrument::parity_wasm::elements::{ - self, External, Internal, MemoryType, Type, ValueType, +use wasm_instrument::parity_wasm::elements::{self, External, Internal, MemoryType, Type}; +use wasmi::{ + core::ValueType, Config as WasmiConfig, Engine, FuelConsumptionMode, Module, StackLimits, Store, }; -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. @@ -55,15 +54,44 @@ pub enum TryInstantiate { } /// The inner deserialized module is valid (this is guaranteed by `new` method). -pub struct ContractModule(elements::Module); +pub struct ContractModule(Module); impl ContractModule { /// Creates a new instance of `ContractModule`. /// + /// The inner Wasm module is checked not the have restricted WebAssembly proposals. /// 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")?; + pub fn new(code: &[u8], determinism: Determinism) -> Result { + // TODO DRY as it's (almost) the same as in WasmBlob::instantiate + // 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. + // NOTE: wasmi does not support unstable WebAssembly features. The module is implicitly + // checked for not having those when creating wasmi::Module below. + let mut config = WasmiConfig::default(); + config + // TODO shoudnd't we put it to Schedule.limits? + // .set_stack_limits(stack_limits) + .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) + // 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)) + .consume_fuel(true) + .fuel_consumption_mode(FuelConsumptionMode::Eager); + + let engine = Engine::new(&config); + let module = + Module::new(&engine, code.clone()).map_err(|_| "Validation of new code failed!")?; // Return a `ContractModule` instance with // __valid__ module. @@ -75,88 +103,88 @@ impl ContractModule { /// 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(()) - } + // 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(()) - } + // 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") - } - } - } - Ok(()) - } + // 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") + // } + // } + // } + // 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.") - } - } - - Ok(()) - } + // 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.") + // } + // } + + // Ok(()) + // } /// Check that the module has required exported functions. For now /// these are just entrypoints: @@ -168,26 +196,24 @@ 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(&[]); + // let types = module.type_section().map(|ts| ts.types()).unwrap_or(&[]); + let exports = module.exports(); + // 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() { + // 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 exports { + match export.name() { "call" => call_found = true, "deploy" => deploy_found = true, _ => return Err("unknown export: expecting only deploy and call functions"), @@ -195,29 +221,24 @@ impl ContractModule { // 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"), - }; - + let func_ty = export.ty().func().ok_or("expected a function")?; + // TODO add a test where fn_idx could point to an imported fn? + // 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 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") + // }, + // }; // 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])) { @@ -284,9 +305,9 @@ impl ContractModule { Ok(imported_mem_type) } - fn into_wasm_code(self) -> Result, &'static str> { - elements::serialize(self.0).map_err(|_| "error serializing contract module") - } + // fn into_wasm_code(self) -> Result, &'static str> { + // elements::serialize(self.0).map_err(|_| "error serializing contract module") + // } } #[cfg(any(test, feature = "runtime-benchmarks"))] pub fn get_memory_limits( @@ -314,6 +335,11 @@ pub fn get_memory_limits( } /// Check that given `code` satisfies constraints required for the contract Wasm module. +/// This includes two groups of checks: +/// +/// 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. /// /// On success it returns back the code. fn validate( @@ -326,52 +352,23 @@ 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 code = (|| { - let contract_module = ContractModule::new(code)?; - // TODO: query w wasmi + // We check that the module is generally valid, + // and does not have restricted WebAssembly features, here. + let contract_module = ContractModule::new::(code, determinism)?; + // Below go further checks required by our pallet. contract_module.scan_exports()?; - 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)?; + // 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. - let code = contract_module.into_wasm_code()?; - Ok(code) + // TODO: there is no way to serialize wasmi::Module? + // let code = contract_module.into_wasm_code()?; + Ok(code.to_vec()) })() .map_err(|msg: &str| { log::debug!(target: LOG_TARGET, "New code rejected: {}", msg); From b5480641d49db9b640f54b42be37701049b72aff Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 22:58:21 +0300 Subject: [PATCH 47/70] save (wip, not compiles) --- frame/contracts/src/wasm/prepare.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 0e27014ee5117..57e50a6c847e7 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -103,6 +103,7 @@ impl ContractModule { /// 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. + // TODO we need instantiate the module to check this, first // 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") @@ -358,7 +359,7 @@ where let contract_module = ContractModule::new::(code, determinism)?; // Below go further checks required by our pallet. contract_module.scan_exports()?; - // contract_module.ensure_no_internal_memory()?; + 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)?; From 0b4bb91bb8122fa6d5c395859b66478be984f980 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 15:55:35 +0300 Subject: [PATCH 48/70] query memory limits from wasmi --- Cargo.lock | 11 ++- frame/contracts/src/benchmarking/sandbox.rs | 13 +-- frame/contracts/src/wasm/mod.rs | 94 ++++++++++++++++----- frame/contracts/src/wasm/prepare.rs | 30 +++---- 4 files changed, 96 insertions(+), 52 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 912455aa2ce81..97d2a24db6f1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3774,6 +3774,12 @@ dependencies = [ "webrtc-util", ] +[[package]] +name = "intx" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f38a50a899dc47a6d0ed5508e7f601a2e34c3a85303514b5d137f3c10a0c75" + [[package]] name = "io-lifetimes" version = "1.0.11" @@ -13324,10 +13330,11 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677160b1166881badada1137afc6457777126f328ae63a18058b504f546f0828" +checksum = "e51fb5c61993e71158abf5bb863df2674ca3ec39ed6471c64f07aeaf751d67b4" dependencies = [ + "intx", "smallvec", "spin 0.9.8", "wasmi_arena", diff --git a/frame/contracts/src/benchmarking/sandbox.rs b/frame/contracts/src/benchmarking/sandbox.rs index a47cfcdb4c542..b323c92079bd5 100644 --- a/frame/contracts/src/benchmarking/sandbox.rs +++ b/frame/contracts/src/benchmarking/sandbox.rs @@ -20,6 +20,7 @@ /// ! environment that provides the seal interface as imported functions. use super::{code::WasmModule, Config}; use crate::wasm::{AllowDeprecatedInterface, AllowUnstableInterface, Environment, WasmBlob}; +use sp_core::Get; use wasmi::{errors::LinkerError, Func, Linker, StackLimits, Store}; /// Minimal execution environment without any imported functions. @@ -36,19 +37,13 @@ impl Sandbox { } impl From<&WasmModule> for Sandbox { - /// Creates an instance from the supplied module and supplies as much memory - /// to the instance as the module declares as imported. Sets the execution engine fuel level - /// to `u64::MAX`. + /// Creates an instance from the supplied module. + /// Sets the execution engine fuel level to `u64::MAX`. fn from(module: &WasmModule) -> Self { - let memory = module - .memory - .as_ref() - .map(|mem| (mem.min_pages, mem.max_pages)) - .unwrap_or((0, 0)); let (mut store, _memory, instance) = WasmBlob::::instantiate::( &module.code, (), - memory, + &::Schedule::get(), StackLimits::default(), // We are testing with an empty environment anyways AllowDeprecatedInterface::No, diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index d99099249b036..ea94f7eb47627 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -38,6 +38,7 @@ pub use crate::wasm::{ use crate::{ exec::{ExecResult, Executable, ExportedFunction, Ext}, gas::{GasMeter, Token}, + wasm::prepare::IMPORT_MODULE_MEMORY, weights::WeightInfo, AccountIdOf, BadOrigin, BalanceOf, CodeHash, CodeInfoOf, CodeVec, Config, Error, Event, Pallet, PristineCode, Schedule, Weight, LOG_TARGET, @@ -52,9 +53,10 @@ use sp_core::Get; use sp_runtime::{traits::Hash, RuntimeDebug}; use sp_std::prelude::*; use wasmi::{ - Config as WasmiConfig, Engine, FuelConsumptionMode, Instance, Linker, Memory, MemoryType, - Module, StackLimits, Store, + Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, + MemoryType, Module, StackLimits, Store, }; +const BYTES_PER_PAGE: usize = 64 * 1024; /// Validated Wasm module ready for execution. /// This data structure is immutable once created and stored. @@ -88,12 +90,6 @@ pub struct CodeInfo { /// The number of instantiated contracts that use this as their code. #[codec(compact)] refcount: u64, - /// Initial memory size of a contract's sandbox. - #[codec(compact)] - initial: u32, - /// Maximum memory size of a contract's sandbox. - #[codec(compact)] - maximum: u32, /// Marks if the code might contain non-deterministic features and is therefore never allowed /// to be run on-chain. Specifically, such a code can never be instantiated into a contract /// and can just be used through a delegate call. @@ -200,10 +196,10 @@ impl WasmBlob { pub fn instantiate( code: &[u8], host_state: H, - memory_limits: (u32, u32), + schedule: &Schedule, stack_limits: StackLimits, allow_deprecated: AllowDeprecatedInterface, - ) -> Result<(Store, Memory, Instance), wasmi::Error> + ) -> Result<(Store, Memory, Instance), &'static str> where E: Environment, { @@ -218,7 +214,7 @@ impl WasmBlob { .fuel_consumption_mode(FuelConsumptionMode::Eager); let engine = Engine::new(&config); - let module = Module::new(&engine, code.clone())?; + 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); E::define( @@ -230,25 +226,77 @@ impl WasmBlob { AllowUnstableInterface::No }, 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)?; // 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 memory = - Memory::new(&mut store, MemoryType::new(memory_limits.0, Some(memory_limits.1))?) - .expect( - "We checked the limits versus our `Schedule`, + let qed = "We checked the limits versus our Schedule, which specifies the max amount of memory pages - well below u16::MAX; qed", - ); + well below u16::MAX; qed"; + let memory = Memory::new( + &mut store, + 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 define with this name attached; qed"); + .expect("We just created the Linker. It has no definitions with this name; qed"); - let instance = linker.instantiate(&mut store, &module)?.ensure_no_start(&mut store)?; + let instance = linker + .instantiate(&mut store, &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")?; Ok((store, memory, instance)) } + /// Query wasmi for memory limits specified for the import in Wasm module. + pub 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(ref 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.clone()); + 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)) + } + /// Put the module blob into storage. /// /// Increments the reference count of the in-storage `WasmBlob`, if it already exists in @@ -424,11 +472,11 @@ impl Executable for WasmBlob { let code = self.code.as_slice(); // Instantiate the Wasm module to the engine. let runtime = Runtime::new(ext, input_data); - let memory_limits = (self.code_info.initial, self.code_info.maximum); + let schedule = ::Schedule::get(); let (mut store, memory, instance) = Self::instantiate::( code, runtime, - memory_limits, + &schedule, StackLimits::default(), match function { ExportedFunction::Call => AllowDeprecatedInterface::Yes, @@ -436,7 +484,7 @@ impl Executable for WasmBlob { }, ) .map_err(|msg| { - log::debug!(target: LOG_TARGET, "failed to instantiate code: {}", msg); + log::debug!(target: LOG_TARGET, "failed to instantiate code to wasmi: {}", msg); Error::::CodeRejected })?; store.data_mut().set_memory(memory); diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index e307d1d62b2a6..3257e4a3d1eac 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -287,7 +287,7 @@ impl ContractModule { elements::serialize(self.0).map_err(|_| "error serializing contract module") } } - +#[cfg(any(test, feature = "runtime-benchmarks"))] pub fn get_memory_limits( module: Option<&MemoryType>, schedule: &Schedule, @@ -320,7 +320,7 @@ fn validate( schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result<(Vec, (u32, u32)), (DispatchError, &'static str)> +) -> Result, (DispatchError, &'static str)> where E: Environment<()>, T: Config, @@ -357,9 +357,10 @@ where (Error::::CodeRejected.into(), "Validation of new code failed!") })?; - let (code, memory_limits) = (|| { + let code = (|| { let contract_module = ContractModule::new(code)?; 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)?; @@ -368,10 +369,8 @@ where 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. - let memory_limits = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = contract_module.into_wasm_code()?; - - Ok((code, memory_limits)) + Ok(code) })() .map_err(|msg: &str| { log::debug!(target: LOG_TARGET, "New code rejected: {}", msg); @@ -389,7 +388,7 @@ where WasmBlob::::instantiate::( &code, (), - memory_limits, + schedule, stack_limits, AllowDeprecatedInterface::No, ) @@ -398,8 +397,7 @@ where (Error::::CodeRejected.into(), "New code rejected on wasmi instantiation!") })?; } - - Ok((code, memory_limits)) + Ok(code) } /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: @@ -420,8 +418,7 @@ where E: Environment<()>, T: Config, { - let (checked_code, (initial, maximum)) = - validate::(code.as_ref(), schedule, determinism, try_instantiate)?; + let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; let err = |_| (>::CodeTooLarge.into(), "Validation enlarged the code size!"); let checked_code: CodeVec = checked_code.try_into().map_err(err)?; ensure!( @@ -435,7 +432,7 @@ where .update_contract::(None) .charge_or_zero(); - let code_info = CodeInfo { owner, deposit, determinism, refcount: 0, initial, maximum }; + let code_info = CodeInfo { owner, deposit, determinism, refcount: 0 }; Ok(WasmBlob { code, code_info }) } @@ -456,8 +453,8 @@ pub mod benchmarking { owner: AccountIdOf, ) -> Result, DispatchError> { let contract_module = ContractModule::new(&code)?; - let (initial, maximum) = - get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + println!("benchmarking::prepare----------->"); + let _ = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { owner, @@ -465,10 +462,7 @@ pub mod benchmarking { deposit: Default::default(), refcount: 0, determinism: Determinism::Enforced, - initial, - maximum, }; - Ok(WasmBlob { code, code_info }) } } @@ -743,7 +737,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule.") + Err("New code rejected on wasmi instantiation!") ); prepare_test!( From b15d5a91e3259b0905620904cfdbe63011ff2a33 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 23:26:47 +0300 Subject: [PATCH 49/70] better migration types --- frame/contracts/src/migration/v12.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index d40ce967a7c37..8d719c299cb77 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -25,8 +25,7 @@ use crate::{ }; use codec::{Decode, Encode}; use frame_support::{ - codec, pallet_prelude::*, storage_alias, traits::ReservableCurrency, BoundedVec, - DefaultNoBound, Identity, + codec, pallet_prelude::*, storage_alias, traits::ReservableCurrency, DefaultNoBound, Identity, }; use scale_info::prelude::format; use sp_core::hexdisplay::HexDisplay; @@ -112,7 +111,7 @@ pub fn store_old_dummy_code(len: usize, account: T::AccountId) { #[derive(Encode, Decode, MaxEncodedLen, DefaultNoBound)] pub struct Migration { - last_key: Option>>, + last_code_hash: Option>, _phantom: PhantomData, } @@ -124,8 +123,8 @@ impl Migrate for Migration { } fn step(&mut self) -> (IsFinished, Weight) { - let mut iter = if let Some(last_key) = self.last_key.take() { - PristineCode::::iter_from(last_key.to_vec()) + let mut iter = if let Some(last_key) = self.last_code_hash.take() { + PristineCode::::iter_from(PristineCode::::hashed_key_for(last_key)) } else { PristineCode::::iter() }; @@ -206,7 +205,7 @@ impl Migrate for Migration { } CodeInfoOf::::insert(hash, info); - self.last_key = Some(iter.last_raw_key().to_vec().try_into().unwrap()); + self.last_code_hash = Some(hash); (IsFinished::No, T::WeightInfo::v12_migration_step(code.len() as u32)) } else { From 8eb87105141a0748ed434afc06824c07752a2510 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 20 Jun 2023 23:30:51 +0300 Subject: [PATCH 50/70] ci: pull weights from master --- frame/contracts/src/weights.rs | 4513 +++++++++++++++++++------------- 1 file changed, 2718 insertions(+), 1795 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index 73f89b5546574..6c6cb0afd46e7 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,26 +18,28 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: -// target/production/substrate +// ./target/production/substrate // benchmark // pallet +// --chain=dev // --steps=50 // --repeat=20 +// --pallet=pallet_contracts +// --no-storage-info +// --no-median-slopes +// --no-min-squares // --extrinsic=* // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/substrate/.git/.artifacts/bench.json -// --pallet=pallet_contracts -// --chain=dev -// --header=./HEADER-APACHE2 // --output=./frame/contracts/src/weights.rs +// --header=./HEADER-APACHE2 // --template=./.maintain/frame-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -52,10 +54,10 @@ use core::marker::PhantomData; pub trait WeightInfo { fn on_process_deletion_queue_batch() -> Weight; fn on_initialize_per_trie_key(k: u32, ) -> Weight; + fn reinstrument(c: u32, ) -> Weight; fn v9_migration_step(c: u32, ) -> Weight; fn v10_migration_step() -> Weight; fn v11_migration_step(k: u32, ) -> Weight; - fn v12_migration_step(c: u32, ) -> Weight; fn migration_noop() -> Weight; fn migrate() -> Weight; fn on_runtime_upgrade_noop() -> Weight; @@ -82,6 +84,7 @@ pub trait WeightInfo { fn seal_block_number(r: u32, ) -> Weight; fn seal_now(r: u32, ) -> Weight; fn seal_weight_to_fee(r: u32, ) -> Weight; + fn seal_gas(r: u32, ) -> Weight; fn seal_input(r: u32, ) -> Weight; fn seal_input_per_byte(n: u32, ) -> Weight; fn seal_return(r: u32, ) -> Weight; @@ -126,6 +129,56 @@ pub trait WeightInfo { fn seal_account_reentrance_count(r: u32, ) -> Weight; fn seal_instantiation_nonce(r: u32, ) -> Weight; fn instr_i64const(r: u32, ) -> Weight; + fn instr_i64load(r: u32, ) -> Weight; + fn instr_i64store(r: u32, ) -> Weight; + fn instr_select(r: u32, ) -> Weight; + fn instr_if(r: u32, ) -> Weight; + fn instr_br(r: u32, ) -> Weight; + fn instr_br_if(r: u32, ) -> Weight; + fn instr_br_table(r: u32, ) -> Weight; + fn instr_br_table_per_entry(e: u32, ) -> Weight; + fn instr_call(r: u32, ) -> Weight; + fn instr_call_indirect(r: u32, ) -> Weight; + fn instr_call_per_local(l: u32, ) -> Weight; + fn instr_local_get(r: u32, ) -> Weight; + fn instr_local_set(r: u32, ) -> Weight; + fn instr_local_tee(r: u32, ) -> Weight; + fn instr_global_get(r: u32, ) -> Weight; + fn instr_global_set(r: u32, ) -> Weight; + fn instr_memory_current(r: u32, ) -> Weight; + fn instr_memory_grow(r: u32, ) -> Weight; + fn instr_i64clz(r: u32, ) -> Weight; + fn instr_i64ctz(r: u32, ) -> Weight; + fn instr_i64popcnt(r: u32, ) -> Weight; + fn instr_i64eqz(r: u32, ) -> Weight; + fn instr_i64extendsi32(r: u32, ) -> Weight; + fn instr_i64extendui32(r: u32, ) -> Weight; + fn instr_i32wrapi64(r: u32, ) -> Weight; + fn instr_i64eq(r: u32, ) -> Weight; + fn instr_i64ne(r: u32, ) -> Weight; + fn instr_i64lts(r: u32, ) -> Weight; + fn instr_i64ltu(r: u32, ) -> Weight; + fn instr_i64gts(r: u32, ) -> Weight; + fn instr_i64gtu(r: u32, ) -> Weight; + fn instr_i64les(r: u32, ) -> Weight; + fn instr_i64leu(r: u32, ) -> Weight; + fn instr_i64ges(r: u32, ) -> Weight; + fn instr_i64geu(r: u32, ) -> Weight; + fn instr_i64add(r: u32, ) -> Weight; + fn instr_i64sub(r: u32, ) -> Weight; + fn instr_i64mul(r: u32, ) -> Weight; + fn instr_i64divs(r: u32, ) -> Weight; + fn instr_i64divu(r: u32, ) -> Weight; + fn instr_i64rems(r: u32, ) -> Weight; + fn instr_i64remu(r: u32, ) -> Weight; + fn instr_i64and(r: u32, ) -> Weight; + fn instr_i64or(r: u32, ) -> Weight; + fn instr_i64xor(r: u32, ) -> Weight; + fn instr_i64shl(r: u32, ) -> Weight; + fn instr_i64shrs(r: u32, ) -> Weight; + fn instr_i64shru(r: u32, ) -> Weight; + fn instr_i64rotl(r: u32, ) -> Weight; + fn instr_i64rotr(r: u32, ) -> Weight; } /// Weights for pallet_contracts using the Substrate node and recommended hardware. @@ -137,8 +190,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_416_000 picoseconds. - Weight::from_parts(2_574_000, 1627) + // Minimum execution time: 2_484_000 picoseconds. + Weight::from_parts(2_620_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -146,29 +199,46 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + k * (69 ±0)` - // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_025_000 picoseconds. - Weight::from_parts(7_586_048, 441) - // Standard Error: 1_035 - .saturating_add(Weight::from_parts(998_135, 0).saturating_mul(k.into())) + // Measured: `521 + k * (69 ±0)` + // Estimated: `511 + k * (70 ±0)` + // Minimum execution time: 13_405_000 picoseconds. + Weight::from_parts(13_909_000, 511) + // Standard Error: 1_350 + .saturating_add(Weight::from_parts(1_222_889, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// The range of component `c` is `[0, 125952]`. + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn reinstrument(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `271 + c * (1 ±0)` + // Estimated: `3741 + c * (1 ±0)` + // Minimum execution time: 31_202_000 picoseconds. + Weight::from_parts(26_528_080, 3741) + // Standard Error: 55 + .saturating_add(Weight::from_parts(55_528, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: Contracts CodeStorage (r:2 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` - // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_920_000 picoseconds. - Weight::from_parts(10_032_308, 6149) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_295, 0).saturating_mul(c.into())) + // Estimated: `6147 + c * (1 ±0)` + // Minimum execution time: 8_510_000 picoseconds. + Weight::from_parts(9_274_212, 6147) + // Standard Error: 2 + .saturating_add(Weight::from_parts(1_311, 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 +249,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_464_000 picoseconds. - Weight::from_parts(17_741_000, 6488) + // Measured: `577` + // Estimated: `6517` + // Minimum execution time: 17_100_000 picoseconds. + Weight::from_parts(17_720_000, 6517) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -195,46 +265,23 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_770_000 picoseconds. - Weight::from_parts(2_561_868, 3635) - // Standard Error: 1_239 - .saturating_add(Weight::from_parts(949_122, 0).saturating_mul(k.into())) + // Minimum execution time: 3_853_000 picoseconds. + Weight::from_parts(3_951_000, 3635) + // Standard Error: 549 + .saturating_add(Weight::from_parts(1_120_241, 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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:0 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn v12_migration_step(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_018_000 picoseconds. - Weight::from_parts(26_135_343, 6313) - // Standard Error: 1 - .saturating_add(Weight::from_parts(967, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) - } /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) fn migration_noop() -> Weight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_191_000 picoseconds. - Weight::from_parts(3_390_000, 1627) + // Minimum execution time: 3_390_000 picoseconds. + Weight::from_parts(3_503_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -246,8 +293,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_435_000 picoseconds. - Weight::from_parts(12_887_000, 3631) + // Minimum execution time: 10_321_000 picoseconds. + Weight::from_parts(10_677_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -257,8 +304,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 5_077_000 picoseconds. - Weight::from_parts(5_380_000, 3607) + // Minimum execution time: 3_717_000 picoseconds. + Weight::from_parts(3_866_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -269,8 +316,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 7_024_000 picoseconds. - Weight::from_parts(7_416_000, 3632) + // Minimum execution time: 5_668_000 picoseconds. + Weight::from_parts(5_982_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -281,8 +328,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_490_000 picoseconds. - Weight::from_parts(7_695_000, 3607) + // Minimum execution time: 5_881_000 picoseconds. + Weight::from_parts(6_048_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -290,10 +337,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -303,20 +348,20 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 125952]`. fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `788` - // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 256_725_000 picoseconds. - Weight::from_parts(245_088_815, 6737) - // Standard Error: 53 - .saturating_add(Weight::from_parts(37_705, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `740` + // Estimated: `6689 + c * (1 ±0)` + // Minimum execution time: 283_813_000 picoseconds. + Weight::from_parts(315_949_540, 6689) + // Standard Error: 43 + .saturating_add(Weight::from_parts(37_588, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -327,32 +372,32 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. + /// The range of component `c` is `[0, 61717]`. /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `303` - // Estimated: `8745` - // Minimum execution time: 3_145_398_000 picoseconds. - Weight::from_parts(550_492_509, 8745) - // Standard Error: 138 - .saturating_add(Weight::from_parts(72_504, 0).saturating_mul(c.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_125, 0).saturating_mul(i.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_420, 0).saturating_mul(s.into())) + // Estimated: `8692` + // Minimum execution time: 3_779_981_000 picoseconds. + Weight::from_parts(109_725_752, 8692) + // Standard Error: 464 + .saturating_add(Weight::from_parts(115_486, 0).saturating_mul(c.into())) + // Standard Error: 27 + .saturating_add(Weight::from_parts(1_624, 0).saturating_mul(i.into())) + // Standard Error: 27 + .saturating_add(Weight::from_parts(2_076, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(9_u64)) + .saturating_add(T::DbWeight::get().writes(10_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -361,20 +406,22 @@ impl WeightInfo for SubstrateWeight { /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:2 w:2) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `505` - // Estimated: `6431` - // Minimum execution time: 1_636_729_000 picoseconds. - Weight::from_parts(261_166_753, 6431) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_440, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_448, 0).saturating_mul(s.into())) + // Measured: `515` + // Estimated: `6441` + // Minimum execution time: 1_957_086_000 picoseconds. + Weight::from_parts(228_755_581, 6441) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_823, 0).saturating_mul(i.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_773, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -382,10 +429,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -394,64 +439,68 @@ 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: `840` - // Estimated: `6780` - // Minimum execution time: 183_146_000 picoseconds. - Weight::from_parts(184_324_000, 6780) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `792` + // Estimated: `6732` + // Minimum execution time: 194_969_000 picoseconds. + Weight::from_parts(204_325_000, 6732) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. + /// The range of component `c` is `[0, 61717]`. fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 228_099_000 picoseconds. - Weight::from_parts(207_736_782, 3607) - // Standard Error: 81 - .saturating_add(Weight::from_parts(72_062, 0).saturating_mul(c.into())) + // Minimum execution time: 285_076_000 picoseconds. + Weight::from_parts(309_126_292, 3607) + // Standard Error: 77 + .saturating_add(Weight::from_parts(108_132, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) fn remove_code() -> Weight { // Proof Size summary in bytes: - // Measured: `257` - // Estimated: `3722` - // Minimum execution time: 32_147_000 picoseconds. - Weight::from_parts(32_595_000, 3722) + // Measured: `288` + // Estimated: `3753` + // Minimum execution time: 34_633_000 picoseconds. + Weight::from_parts(35_823_000, 3753) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:2) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:2 w:2) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `579` - // Estimated: `8994` - // Minimum execution time: 35_146_000 picoseconds. - Weight::from_parts(35_404_000, 8994) + // Measured: `603` + // Estimated: `9018` + // Minimum execution time: 35_640_000 picoseconds. + Weight::from_parts(37_022_000, 9018) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -461,10 +510,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -472,13 +519,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `862 + r * (6 ±0)` - // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 231_641_000 picoseconds. - Weight::from_parts(246_597_753, 6803) - // Standard Error: 3_104 - .saturating_add(Weight::from_parts(304_326, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `814 + r * (6 ±0)` + // Estimated: `6755 + r * (6 ±0)` + // Minimum execution time: 274_579_000 picoseconds. + Weight::from_parts(293_784_568, 6755) + // Standard Error: 668 + .saturating_add(Weight::from_parts(332_369, 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, 6).saturating_mul(r.into())) } @@ -488,10 +535,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -499,13 +544,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `920 + r * (240 ±0)` - // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 231_274_000 picoseconds. - Weight::from_parts(67_248_651, 6824) - // Standard Error: 6_144 - .saturating_add(Weight::from_parts(3_251_957, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `872 + r * (240 ±0)` + // Estimated: `6776 + r * (2715 ±0)` + // Minimum execution time: 258_123_000 picoseconds. + Weight::from_parts(87_353_122, 6776) + // Standard Error: 7_863 + .saturating_add(Weight::from_parts(3_798_056, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -516,10 +561,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -527,13 +570,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `912 + r * (244 ±0)` - // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 232_665_000 picoseconds. - Weight::from_parts(64_453_027, 6828) - // Standard Error: 6_473 - .saturating_add(Weight::from_parts(3_977_900, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `864 + r * (244 ±0)` + // Estimated: `6780 + r * (2719 ±0)` + // Minimum execution time: 263_892_000 picoseconds. + Weight::from_parts(95_671_495, 6780) + // Standard Error: 7_751 + .saturating_add(Weight::from_parts(4_621_396, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -544,10 +587,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -555,13 +596,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `869 + r * (6 ±0)` - // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 233_959_000 picoseconds. - Weight::from_parts(235_855_751, 6811) - // Standard Error: 590 - .saturating_add(Weight::from_parts(386_662, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `821 + r * (6 ±0)` + // Estimated: `6763 + r * (6 ±0)` + // Minimum execution time: 256_926_000 picoseconds. + Weight::from_parts(282_224_981, 6763) + // Standard Error: 558 + .saturating_add(Weight::from_parts(437_279, 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, 6).saturating_mul(r.into())) } @@ -571,10 +612,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -582,13 +621,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (3 ±0)` - // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 230_718_000 picoseconds. - Weight::from_parts(226_522_400, 6804) - // Standard Error: 4_783 - .saturating_add(Weight::from_parts(210_779, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `811 + r * (3 ±0)` + // Estimated: `6756 + r * (3 ±0)` + // Minimum execution time: 250_653_000 picoseconds. + Weight::from_parts(275_581_829, 6756) + // Standard Error: 504 + .saturating_add(Weight::from_parts(174_168, 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())) } @@ -596,10 +635,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -607,13 +644,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `749 + r * (3 ±0)` - // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 219_749_000 picoseconds. - Weight::from_parts(230_060_094, 6689) - // Standard Error: 2_382 - .saturating_add(Weight::from_parts(169_338, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `701 + r * (3 ±0)` + // Estimated: `6641 + r * (3 ±0)` + // Minimum execution time: 252_729_000 picoseconds. + Weight::from_parts(269_519_695, 6641) + // Standard Error: 364 + .saturating_add(Weight::from_parts(149_029, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) } @@ -623,10 +660,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -634,13 +669,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `863 + r * (6 ±0)` - // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 231_545_000 picoseconds. - Weight::from_parts(238_567_419, 6805) - // Standard Error: 1_075 - .saturating_add(Weight::from_parts(306_036, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `815 + r * (6 ±0)` + // Estimated: `6757 + r * (6 ±0)` + // Minimum execution time: 254_003_000 picoseconds. + Weight::from_parts(273_706_638, 6757) + // Standard Error: 636 + .saturating_add(Weight::from_parts(344_795, 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, 6).saturating_mul(r.into())) } @@ -650,10 +685,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -661,13 +694,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (6 ±0)` - // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 232_326_000 picoseconds. - Weight::from_parts(225_495_558, 6800) - // Standard Error: 11_662 - .saturating_add(Weight::from_parts(525_607, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `811 + r * (6 ±0)` + // Estimated: `6752 + r * (6 ±0)` + // Minimum execution time: 258_765_000 picoseconds. + Weight::from_parts(285_314_067, 6752) + // Standard Error: 747 + .saturating_add(Weight::from_parts(530_682, 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, 6).saturating_mul(r.into())) } @@ -677,10 +710,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -688,13 +719,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1003 + r * (6 ±0)` - // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 231_721_000 picoseconds. - Weight::from_parts(241_687_240, 6927) - // Standard Error: 1_054 - .saturating_add(Weight::from_parts(1_391_130, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `955 + r * (6 ±0)` + // Estimated: `6879 + r * (6 ±0)` + // Minimum execution time: 249_124_000 picoseconds. + Weight::from_parts(280_931_810, 6879) + // Standard Error: 1_222 + .saturating_add(Weight::from_parts(1_589_424, 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())) } @@ -704,10 +735,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -715,13 +744,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `873 + r * (6 ±0)` - // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 232_346_000 picoseconds. - Weight::from_parts(238_747_964, 6822) - // Standard Error: 726 - .saturating_add(Weight::from_parts(302_191, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `825 + r * (6 ±0)` + // Estimated: `6774 + r * (6 ±0)` + // Minimum execution time: 262_064_000 picoseconds. + Weight::from_parts(275_109_661, 6774) + // Standard Error: 1_125 + .saturating_add(Weight::from_parts(347_597, 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, 6).saturating_mul(r.into())) } @@ -731,10 +760,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -742,13 +769,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `871 + r * (6 ±0)` - // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 234_416_000 picoseconds. - Weight::from_parts(234_833_885, 6820) - // Standard Error: 464 - .saturating_add(Weight::from_parts(306_075, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `823 + r * (6 ±0)` + // Estimated: `6772 + r * (6 ±0)` + // Minimum execution time: 257_647_000 picoseconds. + Weight::from_parts(282_016_138, 6772) + // Standard Error: 598 + .saturating_add(Weight::from_parts(331_430, 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, 6).saturating_mul(r.into())) } @@ -758,10 +785,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -769,13 +794,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868 + r * (6 ±0)` - // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 230_737_000 picoseconds. - Weight::from_parts(236_497_502, 6818) - // Standard Error: 564 - .saturating_add(Weight::from_parts(299_577, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `820 + r * (6 ±0)` + // Estimated: `6770 + r * (6 ±0)` + // Minimum execution time: 270_534_000 picoseconds. + Weight::from_parts(282_587_049, 6770) + // Standard Error: 558 + .saturating_add(Weight::from_parts(326_833, 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, 6).saturating_mul(r.into())) } @@ -785,10 +810,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -796,13 +819,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (6 ±0)` - // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 231_832_000 picoseconds. - Weight::from_parts(237_288_366, 6804) - // Standard Error: 528 - .saturating_add(Weight::from_parts(303_263, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `811 + r * (6 ±0)` + // Estimated: `6756 + r * (6 ±0)` + // Minimum execution time: 265_995_000 picoseconds. + Weight::from_parts(281_210_033, 6756) + // Standard Error: 585 + .saturating_add(Weight::from_parts(328_710, 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, 6).saturating_mul(r.into())) } @@ -812,10 +835,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -825,13 +846,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `933 + r * (14 ±0)` - // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 231_627_000 picoseconds. - Weight::from_parts(237_225_364, 6866) - // Standard Error: 1_179 - .saturating_add(Weight::from_parts(1_319_878, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `885 + r * (14 ±0)` + // Estimated: `6818 + r * (14 ±0)` + // Minimum execution time: 271_858_000 picoseconds. + Weight::from_parts(293_995_797, 6818) + // Standard Error: 2_418 + .saturating_add(Weight::from_parts(1_477_929, 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, 14).saturating_mul(r.into())) } @@ -841,10 +862,33 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_gas(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `778 + r * (4 ±0)` + // Estimated: `6720 + r * (4 ±0)` + // Minimum execution time: 155_850_000 picoseconds. + Weight::from_parts(166_696_760, 6720) + // Standard Error: 406 + .saturating_add(Weight::from_parts(144_167, 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, 4).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -852,13 +896,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `861 + r * (6 ±0)` - // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 231_819_000 picoseconds. - Weight::from_parts(235_603_311, 6805) - // Standard Error: 380 - .saturating_add(Weight::from_parts(262_916, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `813 + r * (6 ±0)` + // Estimated: `6757 + r * (6 ±0)` + // Minimum execution time: 250_636_000 picoseconds. + Weight::from_parts(280_298_031, 6757) + // Standard Error: 904 + .saturating_add(Weight::from_parts(275_136, 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, 6).saturating_mul(r.into())) } @@ -868,10 +912,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -879,13 +921,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `865` - // Estimated: `6805` - // Minimum execution time: 234_883_000 picoseconds. - Weight::from_parts(234_377_651, 6805) - // Standard Error: 1 - .saturating_add(Weight::from_parts(597, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `817` + // Estimated: `6757` + // Minimum execution time: 254_897_000 picoseconds. + Weight::from_parts(225_376_740, 6757) + // Standard Error: 24 + .saturating_add(Weight::from_parts(986, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -894,10 +936,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -905,13 +945,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `849 + r * (45 ±0)` - // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 228_138_000 picoseconds. - Weight::from_parts(230_006_512, 6789) - // Standard Error: 99_810 - .saturating_add(Weight::from_parts(2_428_987, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `801 + r * (45 ±0)` + // Estimated: `6741 + r * (45 ±0)` + // Minimum execution time: 245_352_000 picoseconds. + Weight::from_parts(272_824_342, 6741) + // Standard Error: 946_718 + .saturating_add(Weight::from_parts(7_323_857, 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, 45).saturating_mul(r.into())) } @@ -921,10 +961,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -932,13 +970,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859` - // Estimated: `6812` - // Minimum execution time: 230_946_000 picoseconds. - Weight::from_parts(237_179_222, 6812) - // Standard Error: 2 - .saturating_add(Weight::from_parts(289, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `811` + // Estimated: `6764` + // Minimum execution time: 263_036_000 picoseconds. + Weight::from_parts(274_068_287, 6764) + // Standard Error: 0 + .saturating_add(Weight::from_parts(209, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -947,14 +985,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -962,17 +1000,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `891 + r * (300 ±0)` - // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 230_537_000 picoseconds. - Weight::from_parts(232_555_173, 6831) - // Standard Error: 118_223 - .saturating_add(Weight::from_parts(105_739_626, 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()))) + // Measured: `843 + r * (356 ±0)` + // Estimated: `6783 + r * (7781 ±0)` + // Minimum execution time: 252_516_000 picoseconds. + Weight::from_parts(279_325_114, 6783) + // Standard Error: 934_499 + .saturating_add(Weight::from_parts(133_604_685, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -980,10 +1018,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -993,13 +1029,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `940 + r * (10 ±0)` - // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 231_071_000 picoseconds. - Weight::from_parts(239_630_508, 6881) - // Standard Error: 2_285 - .saturating_add(Weight::from_parts(1_679_147, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `892 + r * (10 ±0)` + // Estimated: `6833 + r * (10 ±0)` + // Minimum execution time: 267_643_000 picoseconds. + Weight::from_parts(288_437_123, 6833) + // Standard Error: 1_464 + .saturating_add(Weight::from_parts(1_963_778, 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())) } @@ -1009,10 +1045,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1020,13 +1054,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (10 ±0)` - // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 229_158_000 picoseconds. - Weight::from_parts(237_303_297, 6804) - // Standard Error: 2_089 - .saturating_add(Weight::from_parts(3_342_141, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `811 + r * (10 ±0)` + // Estimated: `6756 + r * (10 ±0)` + // Minimum execution time: 253_177_000 picoseconds. + Weight::from_parts(289_366_852, 6756) + // Standard Error: 3_086 + .saturating_add(Weight::from_parts(3_721_716, 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, 10).saturating_mul(r.into())) } @@ -1036,10 +1070,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -1048,15 +1080,15 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `878 + t * (32 ±0)` - // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 247_115_000 picoseconds. - Weight::from_parts(237_880_998, 6825) - // Standard Error: 46_167 - .saturating_add(Weight::from_parts(2_648_130, 0).saturating_mul(t.into())) - // Standard Error: 12 - .saturating_add(Weight::from_parts(797, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `830 + t * (32 ±0)` + // Estimated: `6777 + t * (2508 ±0)` + // Minimum execution time: 269_777_000 picoseconds. + Weight::from_parts(282_461_237, 6777) + // Standard Error: 104_138 + .saturating_add(Weight::from_parts(3_212_141, 0).saturating_mul(t.into())) + // Standard Error: 29 + .saturating_add(Weight::from_parts(850, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -1068,10 +1100,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1079,13 +1109,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (7 ±0)` - // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 160_227_000 picoseconds. - Weight::from_parts(165_426_206, 6802) - // Standard Error: 369 - .saturating_add(Weight::from_parts(240_521, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `810 + r * (7 ±0)` + // Estimated: `6754 + r * (7 ±0)` + // Minimum execution time: 161_463_000 picoseconds. + Weight::from_parts(175_209_131, 6754) + // Standard Error: 412 + .saturating_add(Weight::from_parts(236_340, 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, 7).saturating_mul(r.into())) } @@ -1095,10 +1125,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: MaxEncodedLen) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -1106,13 +1134,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125809` - // Estimated: `131751` - // Minimum execution time: 457_067_000 picoseconds. - Weight::from_parts(455_263_911, 131751) - // Standard Error: 3 - .saturating_add(Weight::from_parts(895, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `125761` + // Estimated: `131703` + // Minimum execution time: 390_202_000 picoseconds. + Weight::from_parts(366_539_716, 131703) + // Standard Error: 12 + .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1120,13 +1148,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `926 + r * (292 ±0)` - // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 232_432_000 picoseconds. - Weight::from_parts(128_099_011, 924) - // Standard Error: 9_989 - .saturating_add(Weight::from_parts(6_011_795, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `878 + r * (292 ±0)` + // Estimated: `876 + r * (293 ±0)` + // Minimum execution time: 262_008_000 picoseconds. + Weight::from_parts(157_764_815, 876) + // Standard Error: 12_764 + .saturating_add(Weight::from_parts(7_067_072, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1137,13 +1165,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1385` - // Estimated: `1361` - // Minimum execution time: 245_738_000 picoseconds. - Weight::from_parts(277_229_722, 1361) - // Standard Error: 45 - .saturating_add(Weight::from_parts(559, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(10_u64)) + // Measured: `1337` + // Estimated: `1313` + // Minimum execution time: 289_607_000 picoseconds. + Weight::from_parts(336_924_770, 1313) + // Standard Error: 60 + .saturating_add(Weight::from_parts(403, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1151,13 +1179,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1248 + n * (1 ±0)` - // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 245_711_000 picoseconds. - Weight::from_parts(247_826_690, 1248) - // Standard Error: 16 - .saturating_add(Weight::from_parts(123, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1200 + n * (1 ±0)` + // Estimated: `1200 + n * (1 ±0)` + // Minimum execution time: 275_887_000 picoseconds. + Weight::from_parts(301_734_237, 1200) + // Standard Error: 37 + .saturating_add(Weight::from_parts(204, 0).saturating_mul(n.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(n.into())) } @@ -1166,13 +1194,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `922 + r * (288 ±0)` - // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 232_335_000 picoseconds. - Weight::from_parts(127_575_261, 926) - // Standard Error: 10_444 - .saturating_add(Weight::from_parts(5_949_900, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `874 + r * (288 ±0)` + // Estimated: `878 + r * (289 ±0)` + // Minimum execution time: 253_436_000 picoseconds. + Weight::from_parts(157_140_488, 878) + // Standard Error: 13_050 + .saturating_add(Weight::from_parts(6_929_024, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1183,13 +1211,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1244 + n * (1 ±0)` - // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 244_098_000 picoseconds. - Weight::from_parts(246_035_630, 1244) - // Standard Error: 14 - .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1196 + n * (1 ±0)` + // Estimated: `1196 + n * (1 ±0)` + // Minimum execution time: 272_714_000 picoseconds. + Weight::from_parts(300_359_254, 1196) + // Standard Error: 35 + .saturating_add(Weight::from_parts(34, 0).saturating_mul(n.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(n.into())) } @@ -1198,13 +1226,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `916 + r * (296 ±0)` - // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 233_339_000 picoseconds. - Weight::from_parts(147_348_628, 921) - // Standard Error: 8_468 - .saturating_add(Weight::from_parts(4_922_548, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `868 + r * (296 ±0)` + // Estimated: `873 + r * (297 ±0)` + // Minimum execution time: 252_868_000 picoseconds. + Weight::from_parts(192_325_247, 873) + // Standard Error: 9_612 + .saturating_add(Weight::from_parts(5_614_703, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -1214,13 +1242,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1260 + n * (1 ±0)` - // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 243_918_000 picoseconds. - Weight::from_parts(246_029_747, 1260) - // Standard Error: 16 - .saturating_add(Weight::from_parts(710, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1212 + n * (1 ±0)` + // Estimated: `1212 + n * (1 ±0)` + // Minimum execution time: 275_076_000 picoseconds. + Weight::from_parts(298_464_611, 1212) + // Standard Error: 31 + .saturating_add(Weight::from_parts(691, 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())) } @@ -1229,13 +1257,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `937 + r * (288 ±0)` - // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 233_032_000 picoseconds. - Weight::from_parts(145_375_464, 938) - // Standard Error: 8_475 - .saturating_add(Weight::from_parts(4_752_430, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `889 + r * (288 ±0)` + // Estimated: `890 + r * (289 ±0)` + // Minimum execution time: 271_528_000 picoseconds. + Weight::from_parts(190_055_750, 890) + // Standard Error: 9_295 + .saturating_add(Weight::from_parts(5_481_564, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -1245,13 +1273,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1247 + n * (1 ±0)` - // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 242_533_000 picoseconds. - Weight::from_parts(244_677_084, 1247) - // Standard Error: 16 - .saturating_add(Weight::from_parts(155, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1199 + n * (1 ±0)` + // Estimated: `1199 + n * (1 ±0)` + // Minimum execution time: 272_948_000 picoseconds. + Weight::from_parts(296_828_541, 1199) + // Standard Error: 32 + .saturating_add(Weight::from_parts(224, 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())) } @@ -1260,13 +1288,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `910 + r * (296 ±0)` - // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 232_834_000 picoseconds. - Weight::from_parts(118_909_001, 917) - // Standard Error: 10_419 - .saturating_add(Weight::from_parts(6_133_128, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `862 + r * (296 ±0)` + // Estimated: `869 + r * (297 ±0)` + // Minimum execution time: 261_242_000 picoseconds. + Weight::from_parts(182_730_565, 869) + // Standard Error: 10_598 + .saturating_add(Weight::from_parts(6_955_347, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1277,13 +1305,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1261 + n * (1 ±0)` - // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 245_445_000 picoseconds. - Weight::from_parts(241_994_064, 1261) - // Standard Error: 209 - .saturating_add(Weight::from_parts(2_073, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1213 + n * (1 ±0)` + // Estimated: `1213 + n * (1 ±0)` + // Minimum execution time: 273_109_000 picoseconds. + Weight::from_parts(296_844_706, 1213) + // Standard Error: 38 + .saturating_add(Weight::from_parts(922, 0).saturating_mul(n.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(n.into())) } @@ -1293,10 +1321,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1304,13 +1330,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1454 + r * (45 ±0)` - // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 238_414_000 picoseconds. - Weight::from_parts(148_662_940, 7351) - // Standard Error: 28_550 - .saturating_add(Weight::from_parts(33_583_257, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1406 + r * (45 ±0)` + // Estimated: `7303 + r * (2520 ±0)` + // Minimum execution time: 258_602_000 picoseconds. + Weight::from_parts(292_720_006, 7303) + // Standard Error: 25_954 + .saturating_add(Weight::from_parts(38_220_140, 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(4_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1322,10 +1348,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -1333,13 +1357,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1300 + r * (276 ±0)` - // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 232_867_000 picoseconds. - Weight::from_parts(233_783_000, 9485) - // Standard Error: 71_028 - .saturating_add(Weight::from_parts(203_698_485, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(11_u64)) + // Measured: `1173 + r * (276 ±0)` + // Estimated: `9365 + r * (2752 ±0)` + // Minimum execution time: 259_809_000 picoseconds. + Weight::from_parts(272_562_000, 9365) + // Standard Error: 99_053 + .saturating_add(Weight::from_parts(238_943_491, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -1351,10 +1375,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:736 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:736 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:736 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -1362,17 +1384,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±10)` - // Minimum execution time: 233_217_000 picoseconds. - Weight::from_parts(233_877_000, 6808) - // Standard Error: 106_254 - .saturating_add(Weight::from_parts(201_924_666, 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()))) + // Measured: `0 + r * (502 ±0)` + // Estimated: `6760 + r * (2572 ±3)` + // Minimum execution time: 251_738_000 picoseconds. + Weight::from_parts(268_350_000, 6760) + // Standard Error: 114_916 + .saturating_add(Weight::from_parts(233_073_585, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2635).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1380,10 +1402,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -1392,15 +1412,15 @@ 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: `1312 + t * (204 ±0)` - // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 407_110_000 picoseconds. - Weight::from_parts(386_773_504, 12202) - // Standard Error: 977_209 - .saturating_add(Weight::from_parts(25_384_027, 0).saturating_mul(t.into())) - // Standard Error: 1 - .saturating_add(Weight::from_parts(587, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(13_u64)) + // Measured: `1187 + t * (204 ±0)` + // Estimated: `12077 + t * (5154 ±0)` + // Minimum execution time: 457_896_000 picoseconds. + Weight::from_parts(87_898_644, 12077) + // Standard Error: 11_813_448 + .saturating_add(Weight::from_parts(343_454_719, 0).saturating_mul(t.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(954, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(11_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()))) @@ -1412,30 +1432,30 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:801 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:801 w:800) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:801 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:800 w:800) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1385 + r * (253 ±0)` - // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 547_672_000 picoseconds. - Weight::from_parts(548_754_000, 7209) - // Standard Error: 221_475 - .saturating_add(Weight::from_parts(327_267_765, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(10_u64)) + // Measured: `1355 + r * (254 ±0)` + // Estimated: `7179 + r * (5205 ±0)` + // Minimum execution time: 648_531_000 picoseconds. + Weight::from_parts(662_333_000, 7179) + // Standard Error: 358_232 + .saturating_add(Weight::from_parts(380_628_577, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(9_u64)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(6_u64)) .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5204).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1443,14 +1463,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `t` is `[0, 1]`. @@ -1458,17 +1478,15 @@ 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: `1135 + t * (187 ±0)` - // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 1_588_262_000 picoseconds. - Weight::from_parts(264_143_221, 9556) - // Standard Error: 5_366_546 - .saturating_add(Weight::from_parts(130_759_588, 0).saturating_mul(t.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_184, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_369, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(15_u64)) + // Measured: `1104 + t * (187 ±0)` + // Estimated: `9525 + t * (2634 ±2)` + // Minimum execution time: 2_264_883_000 picoseconds. + Weight::from_parts(1_359_758_730, 9525) + // Standard Error: 18 + .saturating_add(Weight::from_parts(934, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_068, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(14_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()))) @@ -1480,10 +1498,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1491,13 +1507,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 228_991_000 picoseconds. - Weight::from_parts(232_270_831, 6799) - // Standard Error: 3_526 - .saturating_add(Weight::from_parts(586_415, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `810 + r * (8 ±0)` + // Estimated: `6751 + r * (8 ±0)` + // Minimum execution time: 251_065_000 picoseconds. + Weight::from_parts(273_854_510, 6751) + // Standard Error: 561 + .saturating_add(Weight::from_parts(400_980, 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, 8).saturating_mul(r.into())) } @@ -1507,10 +1523,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1518,13 +1532,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6806` - // Minimum execution time: 231_431_000 picoseconds. - Weight::from_parts(228_325_760, 6806) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_951, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `818` + // Estimated: `6758` + // Minimum execution time: 267_547_000 picoseconds. + Weight::from_parts(270_366_853, 6758) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_057, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1533,10 +1547,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1544,13 +1556,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (8 ±0)` - // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 228_392_000 picoseconds. - Weight::from_parts(232_663_214, 6802) - // Standard Error: 865 - .saturating_add(Weight::from_parts(744_016, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `812 + r * (8 ±0)` + // Estimated: `6754 + r * (8 ±0)` + // Minimum execution time: 258_631_000 picoseconds. + Weight::from_parts(283_500_925, 6754) + // Standard Error: 580 + .saturating_add(Weight::from_parts(769_767, 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, 8).saturating_mul(r.into())) } @@ -1560,10 +1572,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1571,13 +1581,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868` - // Estimated: `6810` - // Minimum execution time: 231_459_000 picoseconds. - Weight::from_parts(224_330_056, 6810) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_091, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `820` + // Estimated: `6762` + // Minimum execution time: 254_901_000 picoseconds. + Weight::from_parts(271_698_192, 6762) + // Standard Error: 1 + .saturating_add(Weight::from_parts(3_307, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1586,10 +1596,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1597,13 +1605,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (8 ±0)` - // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 228_938_000 picoseconds. - Weight::from_parts(229_690_646, 6805) - // Standard Error: 4_025 - .saturating_add(Weight::from_parts(441_360, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `812 + r * (8 ±0)` + // Estimated: `6757 + r * (8 ±0)` + // Minimum execution time: 251_592_000 picoseconds. + Weight::from_parts(276_726_774, 6757) + // Standard Error: 782 + .saturating_add(Weight::from_parts(454_219, 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, 8).saturating_mul(r.into())) } @@ -1613,10 +1621,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1624,13 +1630,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868` - // Estimated: `6814` - // Minimum execution time: 230_605_000 picoseconds. - Weight::from_parts(226_668_183, 6814) + // Measured: `820` + // Estimated: `6766` + // Minimum execution time: 253_548_000 picoseconds. + Weight::from_parts(269_388_353, 6766) // Standard Error: 1 - .saturating_add(Weight::from_parts(913, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(1_188, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1639,10 +1645,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1650,13 +1654,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (8 ±0)` - // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 228_749_000 picoseconds. - Weight::from_parts(233_763_978, 6806) - // Standard Error: 529 - .saturating_add(Weight::from_parts(426_985, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `812 + r * (8 ±0)` + // Estimated: `6758 + r * (8 ±0)` + // Minimum execution time: 257_095_000 picoseconds. + Weight::from_parts(278_794_198, 6758) + // Standard Error: 2_136 + .saturating_add(Weight::from_parts(454_483, 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, 8).saturating_mul(r.into())) } @@ -1666,10 +1670,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1677,13 +1679,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868` - // Estimated: `6808` - // Minimum execution time: 231_585_000 picoseconds. - Weight::from_parts(223_404_948, 6808) + // Measured: `820` + // Estimated: `6760` + // Minimum execution time: 253_356_000 picoseconds. + Weight::from_parts(267_310_090, 6760) // Standard Error: 1 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1692,10 +1694,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1703,13 +1703,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 125697]`. fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `993 + n * (1 ±0)` - // Estimated: `6930 + n * (1 ±0)` - // Minimum execution time: 284_016_000 picoseconds. - Weight::from_parts(288_280_129, 6930) + // Measured: `945 + n * (1 ±0)` + // Estimated: `6882 + n * (1 ±0)` + // Minimum execution time: 330_103_000 picoseconds. + Weight::from_parts(347_576_489, 6882) // Standard Error: 8 - .saturating_add(Weight::from_parts(5_548, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + .saturating_add(Weight::from_parts(5_745, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -1719,10 +1719,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1730,13 +1728,13 @@ 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: `803 + r * (112 ±0)` - // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 232_497_000 picoseconds. - Weight::from_parts(242_606_845, 6747) - // Standard Error: 19_911 - .saturating_add(Weight::from_parts(48_047_241, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `759 + r * (112 ±0)` + // Estimated: `6699 + r * (112 ±0)` + // Minimum execution time: 249_849_000 picoseconds. + Weight::from_parts(295_861_610, 6699) + // Standard Error: 7_897 + .saturating_add(Weight::from_parts(56_326_988, 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, 112).saturating_mul(r.into())) } @@ -1746,10 +1744,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1757,13 +1753,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `903 + r * (76 ±0)` - // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 233_369_000 picoseconds. - Weight::from_parts(247_152_297, 6798) - // Standard Error: 18_592 - .saturating_add(Weight::from_parts(37_766_740, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `854 + r * (76 ±0)` + // Estimated: `6749 + r * (77 ±0)` + // Minimum execution time: 252_437_000 picoseconds. + Weight::from_parts(316_808_420, 6749) + // Standard Error: 13_551 + .saturating_add(Weight::from_parts(45_999_840, 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, 77).saturating_mul(r.into())) } @@ -1773,10 +1769,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1784,13 +1778,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `873 + r * (42 ±0)` - // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 232_720_000 picoseconds. - Weight::from_parts(236_166_125, 6812) - // Standard Error: 9_360 - .saturating_add(Weight::from_parts(9_594_769, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `825 + r * (42 ±0)` + // Estimated: `6764 + r * (42 ±0)` + // Minimum execution time: 265_684_000 picoseconds. + Weight::from_parts(284_413_181, 6764) + // Standard Error: 6_475 + .saturating_add(Weight::from_parts(12_107_021, 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, 42).saturating_mul(r.into())) } @@ -1800,28 +1794,28 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1536 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1536 w:1536) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1536 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (963 ±0)` - // Estimated: `6803 + r * (3089 ±7)` - // Minimum execution time: 232_030_000 picoseconds. - Weight::from_parts(233_004_000, 6803) - // Standard Error: 50_017 - .saturating_add(Weight::from_parts(22_584_341, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `0 + r * (964 ±0)` + // Estimated: `8223 + r * (3090 ±7)` + // Minimum execution time: 251_196_000 picoseconds. + Weight::from_parts(270_744_000, 8223) + // Standard Error: 40_610 + .saturating_add(Weight::from_parts(22_903_375, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3089).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1829,10 +1823,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1840,13 +1832,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `854 + r * (3 ±0)` - // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 231_530_000 picoseconds. - Weight::from_parts(235_866_983, 6804) - // Standard Error: 262 - .saturating_add(Weight::from_parts(174_364, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `806 + r * (3 ±0)` + // Estimated: `6756 + r * (3 ±0)` + // Minimum execution time: 262_805_000 picoseconds. + Weight::from_parts(275_660_655, 6756) + // Standard Error: 380 + .saturating_add(Weight::from_parts(167_290, 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())) } @@ -1856,10 +1848,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1867,13 +1857,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2094 + r * (39 ±0)` - // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 233_088_000 picoseconds. - Weight::from_parts(260_912_513, 7921) - // Standard Error: 1_095 - .saturating_add(Weight::from_parts(304_805, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `2008 + r * (39 ±0)` + // Estimated: `7838 + r * (40 ±0)` + // Minimum execution time: 263_232_000 picoseconds. + Weight::from_parts(308_403_848, 7838) + // Standard Error: 695 + .saturating_add(Weight::from_parts(261_716, 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, 40).saturating_mul(r.into())) } @@ -1883,10 +1873,8 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) @@ -1896,13 +1884,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (3 ±0)` - // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 231_852_000 picoseconds. - Weight::from_parts(238_062_484, 6804) - // Standard Error: 369 - .saturating_add(Weight::from_parts(158_553, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `809 + r * (3 ±0)` + // Estimated: `6756 + r * (3 ±0)` + // Minimum execution time: 255_952_000 picoseconds. + Weight::from_parts(285_541_315, 6756) + // Standard Error: 459 + .saturating_add(Weight::from_parts(145_305, 0).saturating_mul(r.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) } @@ -1911,336 +1899,832 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_460_000 picoseconds. - Weight::from_parts(1_683_045, 0) + // Minimum execution time: 1_405_000 picoseconds. + Weight::from_parts(1_583_300, 0) // Standard Error: 1 - .saturating_add(Weight::from_parts(2_389, 0).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(2_743, 0).saturating_mul(r.into())) } -} - -// For backwards compatibility and tests -impl WeightInfo for () { - /// Storage: Contracts DeletionQueueCounter (r:1 w:0) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - fn on_process_deletion_queue_batch() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64load(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 2_416_000 picoseconds. - Weight::from_parts(2_574_000, 1627) - .saturating_add(RocksDbWeight::get().reads(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_796_000 picoseconds. + Weight::from_parts(2_279_812, 0) + // Standard Error: 7 + .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) } - /// Storage: Skipped Metadata (r:0 w:0) - /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn on_initialize_per_trie_key(k: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64store(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + k * (69 ±0)` - // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_025_000 picoseconds. - Weight::from_parts(7_586_048, 441) - // Standard Error: 1_035 - .saturating_add(Weight::from_parts(998_135, 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)) - .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_768_000 picoseconds. + Weight::from_parts(2_274_070, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_647, 0).saturating_mul(r.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) - /// The range of component `c` is `[0, 125952]`. - fn v9_migration_step(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_select(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `211 + c * (1 ±0)` - // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_920_000 picoseconds. - Weight::from_parts(10_032_308, 6149) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_295, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_396_000 picoseconds. + Weight::from_parts(1_730_388, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(8_918, 0).saturating_mul(r.into())) } - /// Storage: Contracts ContractInfoOf (r:2 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - fn v10_migration_step() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_if(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `548` - // Estimated: `6488` - // Minimum execution time: 17_464_000 picoseconds. - Weight::from_parts(17_741_000, 6488) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_383_000 picoseconds. + Weight::from_parts(1_473_000, 0) + // Standard Error: 22 + .saturating_add(Weight::from_parts(12_167, 0).saturating_mul(r.into())) } - /// Storage: Contracts DeletionQueue (r:1 w:1025) - /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) - /// Storage: Contracts DeletionQueueCounter (r:0 w:1) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn v11_migration_step(k: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_br(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `171 + k * (1 ±0)` - // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_770_000 picoseconds. - Weight::from_parts(2_561_868, 3635) - // Standard Error: 1_239 - .saturating_add(Weight::from_parts(949_122, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_418_000 picoseconds. + Weight::from_parts(1_490_208, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(6_271, 0).saturating_mul(r.into())) } - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:0 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn v12_migration_step(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_br_if(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_018_000 picoseconds. - Weight::from_parts(26_135_343, 6313) - // Standard Error: 1 - .saturating_add(Weight::from_parts(967, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_396_000 picoseconds. + Weight::from_parts(1_584_684, 0) + // Standard Error: 61 + .saturating_add(Weight::from_parts(8_819, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn migration_noop() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_br_table(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 3_191_000 picoseconds. - Weight::from_parts(3_390_000, 1627) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_384_000 picoseconds. + Weight::from_parts(1_501_244, 0) + // Standard Error: 17 + .saturating_add(Weight::from_parts(12_311, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - fn migrate() -> Weight { + /// The range of component `e` is `[1, 256]`. + fn instr_br_table_per_entry(e: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `166` - // Estimated: `3631` - // Minimum execution time: 12_435_000 picoseconds. - Weight::from_parts(12_887_000, 3631) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_433_000 picoseconds. + Weight::from_parts(1_594_462, 0) + // Standard Error: 19 + .saturating_add(Weight::from_parts(29, 0).saturating_mul(e.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - fn on_runtime_upgrade_noop() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 5_077_000 picoseconds. - Weight::from_parts(5_380_000, 3607) - .saturating_add(RocksDbWeight::get().reads(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_420_000 picoseconds. + Weight::from_parts(1_602_036, 0) + // Standard Error: 16 + .saturating_add(Weight::from_parts(17_082, 0).saturating_mul(r.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade_in_progress() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_call_indirect(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `167` - // Estimated: `3632` - // Minimum execution time: 7_024_000 picoseconds. - Weight::from_parts(7_416_000, 3632) - .saturating_add(RocksDbWeight::get().reads(2_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_619_000 picoseconds. + Weight::from_parts(2_069_590, 0) + // Standard Error: 20 + .saturating_add(Weight::from_parts(24_049, 0).saturating_mul(r.into())) } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade() -> Weight { + /// The range of component `l` is `[0, 1024]`. + fn instr_call_per_local(l: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 7_490_000 picoseconds. - Weight::from_parts(7_695_000, 3607) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_478_000 picoseconds. + Weight::from_parts(1_699_579, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_651, 0).saturating_mul(l.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn call_with_code_per_byte(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_local_get(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `788` - // Estimated: `6737 + c * (1 ±0)` - // Minimum execution time: 256_725_000 picoseconds. - Weight::from_parts(245_088_815, 6737) - // Standard Error: 53 - .saturating_add(Weight::from_parts(37_705, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_123_000 picoseconds. + Weight::from_parts(3_200_824, 0) + // Standard Error: 12 + .saturating_add(Weight::from_parts(4_187, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_local_set(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `303` - // Estimated: `8745` - // Minimum execution time: 3_145_398_000 picoseconds. - Weight::from_parts(550_492_509, 8745) - // Standard Error: 138 - .saturating_add(Weight::from_parts(72_504, 0).saturating_mul(c.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_125, 0).saturating_mul(i.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_420, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(9_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_121_000 picoseconds. + Weight::from_parts(3_302_628, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_193, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate(i: u32, s: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_local_tee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `505` - // Estimated: `6431` - // Minimum execution time: 1_636_729_000 picoseconds. - Weight::from_parts(261_166_753, 6431) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_440, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_448, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_155_000 picoseconds. + Weight::from_parts(3_359_832, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_829, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn call() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_global_get(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `840` - // Estimated: `6780` - // Minimum execution time: 183_146_000 picoseconds. - Weight::from_parts(184_324_000, 6780) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_547_000 picoseconds. + Weight::from_parts(1_899_252, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(8_373, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn upload_code(c: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_global_set(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 228_099_000 picoseconds. - Weight::from_parts(207_736_782, 3607) - // Standard Error: 81 - .saturating_add(Weight::from_parts(72_062, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_513_000 picoseconds. + Weight::from_parts(1_892_537, 0) + // Standard Error: 15 + .saturating_add(Weight::from_parts(9_177, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - fn remove_code() -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_memory_current(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `257` - // Estimated: `3722` - // Minimum execution time: 32_147_000 picoseconds. - Weight::from_parts(32_595_000, 3722) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_904_000 picoseconds. + Weight::from_parts(2_140_940, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(3_926, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 16]`. + fn instr_memory_grow(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_437_000 picoseconds. + Weight::from_parts(4_481, 0) + // Standard Error: 131_975 + .saturating_add(Weight::from_parts(14_765_592, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64clz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_443_000 picoseconds. + Weight::from_parts(1_596_467, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(4_251, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ctz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_372_000 picoseconds. + Weight::from_parts(1_569_760, 0) + // Standard Error: 7 + .saturating_add(Weight::from_parts(4_777, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64popcnt(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_411_000 picoseconds. + Weight::from_parts(1_642_163, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_241, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eqz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_395_000 picoseconds. + Weight::from_parts(1_726_615, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(4_631, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendsi32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_373_000 picoseconds. + Weight::from_parts(1_620_217, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(4_220, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendui32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_423_000 picoseconds. + Weight::from_parts(1_611_025, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(4_681, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i32wrapi64(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_402_000 picoseconds. + Weight::from_parts(1_616_506, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_247, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eq(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_464_000 picoseconds. + Weight::from_parts(1_641_492, 0) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_262, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ne(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_401_000 picoseconds. + Weight::from_parts(1_673_299, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_741, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64lts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_414_000 picoseconds. + Weight::from_parts(1_615_167, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_767, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ltu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_445_000 picoseconds. + Weight::from_parts(1_687_595, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(6_201, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_415_000 picoseconds. + Weight::from_parts(1_629_044, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_318, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gtu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_377_000 picoseconds. + Weight::from_parts(1_660_178, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64les(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_467_000 picoseconds. + Weight::from_parts(1_619_688, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_761, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64leu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_485_000 picoseconds. + Weight::from_parts(1_619_756, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(6_248, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ges(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_391_000 picoseconds. + Weight::from_parts(1_629_993, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64geu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_413_000 picoseconds. + Weight::from_parts(1_605_123, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64add(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_470_000 picoseconds. + Weight::from_parts(1_699_382, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_736, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64sub(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_394_000 picoseconds. + Weight::from_parts(1_599_038, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(6_325, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64mul(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_422_000 picoseconds. + Weight::from_parts(1_655_350, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_753, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divs(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_407_000 picoseconds. + Weight::from_parts(1_710_195, 0) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_791, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_406_000 picoseconds. + Weight::from_parts(2_022_275, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(5_864, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rems(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_424_000 picoseconds. + Weight::from_parts(1_735_622, 0) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_772, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64remu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_457_000 picoseconds. + Weight::from_parts(1_636_788, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(5_794, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64and(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_423_000 picoseconds. + Weight::from_parts(1_703_832, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(6_158, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64or(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_401_000 picoseconds. + Weight::from_parts(1_653_216, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_754, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64xor(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_419_000 picoseconds. + Weight::from_parts(1_685_121, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(6_309, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shl(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_395_000 picoseconds. + Weight::from_parts(1_580_918, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_775, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shrs(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_408_000 picoseconds. + Weight::from_parts(1_646_493, 0) + // Standard Error: 9 + .saturating_add(Weight::from_parts(6_237, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shru(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_446_000 picoseconds. + Weight::from_parts(1_633_531, 0) + // Standard Error: 7 + .saturating_add(Weight::from_parts(5_759, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rotl(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_478_000 picoseconds. + Weight::from_parts(1_634_023, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_771, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rotr(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_389_000 picoseconds. + Weight::from_parts(1_627_867, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(6_175, 0).saturating_mul(r.into())) + } +} + +// For backwards compatibility and tests +impl WeightInfo for () { + /// Storage: Contracts DeletionQueueCounter (r:1 w:0) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + fn on_process_deletion_queue_batch() -> Weight { + // Proof Size summary in bytes: + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 2_484_000 picoseconds. + Weight::from_parts(2_620_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + /// Storage: Skipped Metadata (r:0 w:0) + /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn on_initialize_per_trie_key(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `521 + k * (69 ±0)` + // Estimated: `511 + k * (70 ±0)` + // Minimum execution time: 13_405_000 picoseconds. + Weight::from_parts(13_909_000, 511) + // Standard Error: 1_350 + .saturating_add(Weight::from_parts(1_222_889, 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)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) + } + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn reinstrument(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `271 + c * (1 ±0)` + // Estimated: `3741 + c * (1 ±0)` + // Minimum execution time: 31_202_000 picoseconds. + Weight::from_parts(26_528_080, 3741) + // Standard Error: 55 + .saturating_add(Weight::from_parts(55_528, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: Contracts CodeStorage (r:2 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn v9_migration_step(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `211 + c * (1 ±0)` + // Estimated: `6147 + c * (1 ±0)` + // Minimum execution time: 8_510_000 picoseconds. + Weight::from_parts(9_274_212, 6147) + // Standard Error: 2 + .saturating_add(Weight::from_parts(1_311, 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())) + } + /// Storage: Contracts ContractInfoOf (r:2 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// 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: `577` + // Estimated: `6517` + // Minimum execution time: 17_100_000 picoseconds. + Weight::from_parts(17_720_000, 6517) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: Contracts DeletionQueue (r:1 w:1025) + /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) + /// Storage: Contracts DeletionQueueCounter (r:0 w:1) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn v11_migration_step(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `171 + k * (1 ±0)` + // Estimated: `3635 + k * (1 ±0)` + // Minimum execution time: 3_853_000 picoseconds. + Weight::from_parts(3_951_000, 3635) + // Standard Error: 549 + .saturating_add(Weight::from_parts(1_120_241, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn migration_noop() -> Weight { + // Proof Size summary in bytes: + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 3_390_000 picoseconds. + Weight::from_parts(3_503_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + fn migrate() -> Weight { + // Proof Size summary in bytes: + // Measured: `166` + // Estimated: `3631` + // Minimum execution time: 10_321_000 picoseconds. + Weight::from_parts(10_677_000, 3631) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + fn on_runtime_upgrade_noop() -> Weight { + // Proof Size summary in bytes: + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 3_717_000 picoseconds. + Weight::from_parts(3_866_000, 3607) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade_in_progress() -> Weight { + // Proof Size summary in bytes: + // Measured: `167` + // Estimated: `3632` + // Minimum execution time: 5_668_000 picoseconds. + Weight::from_parts(5_982_000, 3632) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + } + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade() -> Weight { + // Proof Size summary in bytes: + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 5_881_000 picoseconds. + Weight::from_parts(6_048_000, 3607) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn call_with_code_per_byte(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `740` + // Estimated: `6689 + c * (1 ±0)` + // Minimum execution time: 283_813_000 picoseconds. + Weight::from_parts(315_949_540, 6689) + // Standard Error: 43 + .saturating_add(Weight::from_parts(37_588, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `303` + // Estimated: `8692` + // Minimum execution time: 3_779_981_000 picoseconds. + Weight::from_parts(109_725_752, 8692) + // Standard Error: 464 + .saturating_add(Weight::from_parts(115_486, 0).saturating_mul(c.into())) + // Standard Error: 27 + .saturating_add(Weight::from_parts(1_624, 0).saturating_mul(i.into())) + // Standard Error: 27 + .saturating_add(Weight::from_parts(2_076, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(10_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate(i: u32, s: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `515` + // Estimated: `6441` + // Minimum execution time: 1_957_086_000 picoseconds. + Weight::from_parts(228_755_581, 6441) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_823, 0).saturating_mul(i.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_773, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn call() -> Weight { + // Proof Size summary in bytes: + // Measured: `792` + // Estimated: `6732` + // Minimum execution time: 194_969_000 picoseconds. + Weight::from_parts(204_325_000, 6732) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 61717]`. + fn upload_code(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 285_076_000 picoseconds. + Weight::from_parts(309_126_292, 3607) + // Standard Error: 77 + .saturating_add(Weight::from_parts(108_132, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts CodeStorage (r:0 w:1) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + fn remove_code() -> Weight { + // Proof Size summary in bytes: + // Measured: `288` + // Estimated: `3753` + // Minimum execution time: 34_633_000 picoseconds. + Weight::from_parts(35_823_000, 3753) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:2) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:2 w:2) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `579` - // Estimated: `8994` - // Minimum execution time: 35_146_000 picoseconds. - Weight::from_parts(35_404_000, 8994) + // Measured: `603` + // Estimated: `9018` + // Minimum execution time: 35_640_000 picoseconds. + Weight::from_parts(37_022_000, 9018) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2250,10 +2734,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2261,13 +2743,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `862 + r * (6 ±0)` - // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 231_641_000 picoseconds. - Weight::from_parts(246_597_753, 6803) - // Standard Error: 3_104 - .saturating_add(Weight::from_parts(304_326, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `814 + r * (6 ±0)` + // Estimated: `6755 + r * (6 ±0)` + // Minimum execution time: 274_579_000 picoseconds. + Weight::from_parts(293_784_568, 6755) + // Standard Error: 668 + .saturating_add(Weight::from_parts(332_369, 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, 6).saturating_mul(r.into())) } @@ -2277,10 +2759,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2288,13 +2768,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `920 + r * (240 ±0)` - // Estimated: `6824 + r * (2715 ±0)` - // Minimum execution time: 231_274_000 picoseconds. - Weight::from_parts(67_248_651, 6824) - // Standard Error: 6_144 - .saturating_add(Weight::from_parts(3_251_957, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `872 + r * (240 ±0)` + // Estimated: `6776 + r * (2715 ±0)` + // Minimum execution time: 258_123_000 picoseconds. + Weight::from_parts(87_353_122, 6776) + // Standard Error: 7_863 + .saturating_add(Weight::from_parts(3_798_056, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -2305,10 +2785,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2316,13 +2794,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `912 + r * (244 ±0)` - // Estimated: `6828 + r * (2719 ±0)` - // Minimum execution time: 232_665_000 picoseconds. - Weight::from_parts(64_453_027, 6828) - // Standard Error: 6_473 - .saturating_add(Weight::from_parts(3_977_900, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `864 + r * (244 ±0)` + // Estimated: `6780 + r * (2719 ±0)` + // Minimum execution time: 263_892_000 picoseconds. + Weight::from_parts(95_671_495, 6780) + // Standard Error: 7_751 + .saturating_add(Weight::from_parts(4_621_396, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -2333,10 +2811,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2344,13 +2820,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `869 + r * (6 ±0)` - // Estimated: `6811 + r * (6 ±0)` - // Minimum execution time: 233_959_000 picoseconds. - Weight::from_parts(235_855_751, 6811) - // Standard Error: 590 - .saturating_add(Weight::from_parts(386_662, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `821 + r * (6 ±0)` + // Estimated: `6763 + r * (6 ±0)` + // Minimum execution time: 256_926_000 picoseconds. + Weight::from_parts(282_224_981, 6763) + // Standard Error: 558 + .saturating_add(Weight::from_parts(437_279, 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, 6).saturating_mul(r.into())) } @@ -2360,10 +2836,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2371,13 +2845,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (3 ±0)` - // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 230_718_000 picoseconds. - Weight::from_parts(226_522_400, 6804) - // Standard Error: 4_783 - .saturating_add(Weight::from_parts(210_779, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `811 + r * (3 ±0)` + // Estimated: `6756 + r * (3 ±0)` + // Minimum execution time: 250_653_000 picoseconds. + Weight::from_parts(275_581_829, 6756) + // Standard Error: 504 + .saturating_add(Weight::from_parts(174_168, 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())) } @@ -2385,10 +2859,8 @@ impl WeightInfo for () { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2396,13 +2868,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `749 + r * (3 ±0)` - // Estimated: `6689 + r * (3 ±0)` - // Minimum execution time: 219_749_000 picoseconds. - Weight::from_parts(230_060_094, 6689) - // Standard Error: 2_382 - .saturating_add(Weight::from_parts(169_338, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `701 + r * (3 ±0)` + // Estimated: `6641 + r * (3 ±0)` + // Minimum execution time: 252_729_000 picoseconds. + Weight::from_parts(269_519_695, 6641) + // Standard Error: 364 + .saturating_add(Weight::from_parts(149_029, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) } @@ -2412,10 +2884,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2423,13 +2893,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `863 + r * (6 ±0)` - // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 231_545_000 picoseconds. - Weight::from_parts(238_567_419, 6805) - // Standard Error: 1_075 - .saturating_add(Weight::from_parts(306_036, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `815 + r * (6 ±0)` + // Estimated: `6757 + r * (6 ±0)` + // Minimum execution time: 254_003_000 picoseconds. + Weight::from_parts(273_706_638, 6757) + // Standard Error: 636 + .saturating_add(Weight::from_parts(344_795, 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, 6).saturating_mul(r.into())) } @@ -2439,10 +2909,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2450,13 +2918,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (6 ±0)` - // Estimated: `6800 + r * (6 ±0)` - // Minimum execution time: 232_326_000 picoseconds. - Weight::from_parts(225_495_558, 6800) - // Standard Error: 11_662 - .saturating_add(Weight::from_parts(525_607, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `811 + r * (6 ±0)` + // Estimated: `6752 + r * (6 ±0)` + // Minimum execution time: 258_765_000 picoseconds. + Weight::from_parts(285_314_067, 6752) + // Standard Error: 747 + .saturating_add(Weight::from_parts(530_682, 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, 6).saturating_mul(r.into())) } @@ -2466,10 +2934,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2477,13 +2943,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1003 + r * (6 ±0)` - // Estimated: `6927 + r * (6 ±0)` - // Minimum execution time: 231_721_000 picoseconds. - Weight::from_parts(241_687_240, 6927) - // Standard Error: 1_054 - .saturating_add(Weight::from_parts(1_391_130, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `955 + r * (6 ±0)` + // Estimated: `6879 + r * (6 ±0)` + // Minimum execution time: 249_124_000 picoseconds. + Weight::from_parts(280_931_810, 6879) + // Standard Error: 1_222 + .saturating_add(Weight::from_parts(1_589_424, 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())) } @@ -2493,10 +2959,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2504,13 +2968,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `873 + r * (6 ±0)` - // Estimated: `6822 + r * (6 ±0)` - // Minimum execution time: 232_346_000 picoseconds. - Weight::from_parts(238_747_964, 6822) - // Standard Error: 726 - .saturating_add(Weight::from_parts(302_191, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `825 + r * (6 ±0)` + // Estimated: `6774 + r * (6 ±0)` + // Minimum execution time: 262_064_000 picoseconds. + Weight::from_parts(275_109_661, 6774) + // Standard Error: 1_125 + .saturating_add(Weight::from_parts(347_597, 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, 6).saturating_mul(r.into())) } @@ -2520,10 +2984,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2531,13 +2993,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `871 + r * (6 ±0)` - // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 234_416_000 picoseconds. - Weight::from_parts(234_833_885, 6820) - // Standard Error: 464 - .saturating_add(Weight::from_parts(306_075, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `823 + r * (6 ±0)` + // Estimated: `6772 + r * (6 ±0)` + // Minimum execution time: 257_647_000 picoseconds. + Weight::from_parts(282_016_138, 6772) + // Standard Error: 598 + .saturating_add(Weight::from_parts(331_430, 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, 6).saturating_mul(r.into())) } @@ -2547,10 +3009,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2558,13 +3018,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868 + r * (6 ±0)` - // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 230_737_000 picoseconds. - Weight::from_parts(236_497_502, 6818) - // Standard Error: 564 - .saturating_add(Weight::from_parts(299_577, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `820 + r * (6 ±0)` + // Estimated: `6770 + r * (6 ±0)` + // Minimum execution time: 270_534_000 picoseconds. + Weight::from_parts(282_587_049, 6770) + // Standard Error: 558 + .saturating_add(Weight::from_parts(326_833, 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, 6).saturating_mul(r.into())) } @@ -2574,10 +3034,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2585,13 +3043,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (6 ±0)` - // Estimated: `6804 + r * (6 ±0)` - // Minimum execution time: 231_832_000 picoseconds. - Weight::from_parts(237_288_366, 6804) - // Standard Error: 528 - .saturating_add(Weight::from_parts(303_263, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `811 + r * (6 ±0)` + // Estimated: `6756 + r * (6 ±0)` + // Minimum execution time: 265_995_000 picoseconds. + Weight::from_parts(281_210_033, 6756) + // Standard Error: 585 + .saturating_add(Weight::from_parts(328_710, 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, 6).saturating_mul(r.into())) } @@ -2601,10 +3059,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -2614,13 +3070,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `933 + r * (14 ±0)` - // Estimated: `6866 + r * (14 ±0)` - // Minimum execution time: 231_627_000 picoseconds. - Weight::from_parts(237_225_364, 6866) - // Standard Error: 1_179 - .saturating_add(Weight::from_parts(1_319_878, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `885 + r * (14 ±0)` + // Estimated: `6818 + r * (14 ±0)` + // Minimum execution time: 271_858_000 picoseconds. + Weight::from_parts(293_995_797, 6818) + // Standard Error: 2_418 + .saturating_add(Weight::from_parts(1_477_929, 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, 14).saturating_mul(r.into())) } @@ -2630,10 +3086,33 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_gas(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `778 + r * (4 ±0)` + // Estimated: `6720 + r * (4 ±0)` + // Minimum execution time: 155_850_000 picoseconds. + Weight::from_parts(166_696_760, 6720) + // Standard Error: 406 + .saturating_add(Weight::from_parts(144_167, 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, 4).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2641,13 +3120,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `861 + r * (6 ±0)` - // Estimated: `6805 + r * (6 ±0)` - // Minimum execution time: 231_819_000 picoseconds. - Weight::from_parts(235_603_311, 6805) - // Standard Error: 380 - .saturating_add(Weight::from_parts(262_916, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `813 + r * (6 ±0)` + // Estimated: `6757 + r * (6 ±0)` + // Minimum execution time: 250_636_000 picoseconds. + Weight::from_parts(280_298_031, 6757) + // Standard Error: 904 + .saturating_add(Weight::from_parts(275_136, 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, 6).saturating_mul(r.into())) } @@ -2657,10 +3136,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2668,13 +3145,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `865` - // Estimated: `6805` - // Minimum execution time: 234_883_000 picoseconds. - Weight::from_parts(234_377_651, 6805) - // Standard Error: 1 - .saturating_add(Weight::from_parts(597, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `817` + // Estimated: `6757` + // Minimum execution time: 254_897_000 picoseconds. + Weight::from_parts(225_376_740, 6757) + // Standard Error: 24 + .saturating_add(Weight::from_parts(986, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -2683,10 +3160,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2694,13 +3169,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `849 + r * (45 ±0)` - // Estimated: `6789 + r * (45 ±0)` - // Minimum execution time: 228_138_000 picoseconds. - Weight::from_parts(230_006_512, 6789) - // Standard Error: 99_810 - .saturating_add(Weight::from_parts(2_428_987, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `801 + r * (45 ±0)` + // Estimated: `6741 + r * (45 ±0)` + // Minimum execution time: 245_352_000 picoseconds. + Weight::from_parts(272_824_342, 6741) + // Standard Error: 946_718 + .saturating_add(Weight::from_parts(7_323_857, 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, 45).saturating_mul(r.into())) } @@ -2710,10 +3185,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2721,13 +3194,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859` - // Estimated: `6812` - // Minimum execution time: 230_946_000 picoseconds. - Weight::from_parts(237_179_222, 6812) - // Standard Error: 2 - .saturating_add(Weight::from_parts(289, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `811` + // Estimated: `6764` + // Minimum execution time: 263_036_000 picoseconds. + Weight::from_parts(274_068_287, 6764) + // Standard Error: 0 + .saturating_add(Weight::from_parts(209, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -2736,14 +3209,14 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -2751,17 +3224,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `891 + r * (300 ±0)` - // Estimated: `6831 + r * (7725 ±0)` - // Minimum execution time: 230_537_000 picoseconds. - Weight::from_parts(232_555_173, 6831) - // Standard Error: 118_223 - .saturating_add(Weight::from_parts(105_739_626, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(r.into()))) + // Measured: `843 + r * (356 ±0)` + // Estimated: `6783 + r * (7781 ±0)` + // Minimum execution time: 252_516_000 picoseconds. + Weight::from_parts(279_325_114, 6783) + // Standard Error: 934_499 + .saturating_add(Weight::from_parts(133_604_685, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -2769,10 +3242,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -2782,13 +3253,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `940 + r * (10 ±0)` - // Estimated: `6881 + r * (10 ±0)` - // Minimum execution time: 231_071_000 picoseconds. - Weight::from_parts(239_630_508, 6881) - // Standard Error: 2_285 - .saturating_add(Weight::from_parts(1_679_147, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `892 + r * (10 ±0)` + // Estimated: `6833 + r * (10 ±0)` + // Minimum execution time: 267_643_000 picoseconds. + Weight::from_parts(288_437_123, 6833) + // Standard Error: 1_464 + .saturating_add(Weight::from_parts(1_963_778, 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())) } @@ -2798,10 +3269,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2809,13 +3278,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `859 + r * (10 ±0)` - // Estimated: `6804 + r * (10 ±0)` - // Minimum execution time: 229_158_000 picoseconds. - Weight::from_parts(237_303_297, 6804) - // Standard Error: 2_089 - .saturating_add(Weight::from_parts(3_342_141, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `811 + r * (10 ±0)` + // Estimated: `6756 + r * (10 ±0)` + // Minimum execution time: 253_177_000 picoseconds. + Weight::from_parts(289_366_852, 6756) + // Standard Error: 3_086 + .saturating_add(Weight::from_parts(3_721_716, 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, 10).saturating_mul(r.into())) } @@ -2825,10 +3294,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -2836,16 +3303,16 @@ impl WeightInfo for () { /// The range of component `t` is `[0, 4]`. /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `878 + t * (32 ±0)` - // Estimated: `6825 + t * (2508 ±0)` - // Minimum execution time: 247_115_000 picoseconds. - Weight::from_parts(237_880_998, 6825) - // Standard Error: 46_167 - .saturating_add(Weight::from_parts(2_648_130, 0).saturating_mul(t.into())) - // Standard Error: 12 - .saturating_add(Weight::from_parts(797, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Proof Size summary in bytes: + // Measured: `830 + t * (32 ±0)` + // Estimated: `6777 + t * (2508 ±0)` + // Minimum execution time: 269_777_000 picoseconds. + Weight::from_parts(282_461_237, 6777) + // Standard Error: 104_138 + .saturating_add(Weight::from_parts(3_212_141, 0).saturating_mul(t.into())) + // Standard Error: 29 + .saturating_add(Weight::from_parts(850, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -2857,10 +3324,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2868,13 +3333,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (7 ±0)` - // Estimated: `6802 + r * (7 ±0)` - // Minimum execution time: 160_227_000 picoseconds. - Weight::from_parts(165_426_206, 6802) - // Standard Error: 369 - .saturating_add(Weight::from_parts(240_521, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `810 + r * (7 ±0)` + // Estimated: `6754 + r * (7 ±0)` + // Minimum execution time: 161_463_000 picoseconds. + Weight::from_parts(175_209_131, 6754) + // Standard Error: 412 + .saturating_add(Weight::from_parts(236_340, 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, 7).saturating_mul(r.into())) } @@ -2884,10 +3349,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: MaxEncodedLen) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -2895,13 +3358,13 @@ impl WeightInfo for () { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125809` - // Estimated: `131751` - // Minimum execution time: 457_067_000 picoseconds. - Weight::from_parts(455_263_911, 131751) - // Standard Error: 3 - .saturating_add(Weight::from_parts(895, 0).saturating_mul(i.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `125761` + // Estimated: `131703` + // Minimum execution time: 390_202_000 picoseconds. + Weight::from_parts(366_539_716, 131703) + // Standard Error: 12 + .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(i.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -2909,13 +3372,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `926 + r * (292 ±0)` - // Estimated: `924 + r * (293 ±0)` - // Minimum execution time: 232_432_000 picoseconds. - Weight::from_parts(128_099_011, 924) - // Standard Error: 9_989 - .saturating_add(Weight::from_parts(6_011_795, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `878 + r * (292 ±0)` + // Estimated: `876 + r * (293 ±0)` + // Minimum execution time: 262_008_000 picoseconds. + Weight::from_parts(157_764_815, 876) + // Standard Error: 12_764 + .saturating_add(Weight::from_parts(7_067_072, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -2926,13 +3389,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1385` - // Estimated: `1361` - // Minimum execution time: 245_738_000 picoseconds. - Weight::from_parts(277_229_722, 1361) - // Standard Error: 45 - .saturating_add(Weight::from_parts(559, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) + // Measured: `1337` + // Estimated: `1313` + // Minimum execution time: 289_607_000 picoseconds. + Weight::from_parts(336_924_770, 1313) + // Standard Error: 60 + .saturating_add(Weight::from_parts(403, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -2940,13 +3403,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1248 + n * (1 ±0)` - // Estimated: `1248 + n * (1 ±0)` - // Minimum execution time: 245_711_000 picoseconds. - Weight::from_parts(247_826_690, 1248) - // Standard Error: 16 - .saturating_add(Weight::from_parts(123, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1200 + n * (1 ±0)` + // Estimated: `1200 + n * (1 ±0)` + // Minimum execution time: 275_887_000 picoseconds. + Weight::from_parts(301_734_237, 1200) + // Standard Error: 37 + .saturating_add(Weight::from_parts(204, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -2955,13 +3418,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `922 + r * (288 ±0)` - // Estimated: `926 + r * (289 ±0)` - // Minimum execution time: 232_335_000 picoseconds. - Weight::from_parts(127_575_261, 926) - // Standard Error: 10_444 - .saturating_add(Weight::from_parts(5_949_900, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `874 + r * (288 ±0)` + // Estimated: `878 + r * (289 ±0)` + // Minimum execution time: 253_436_000 picoseconds. + Weight::from_parts(157_140_488, 878) + // Standard Error: 13_050 + .saturating_add(Weight::from_parts(6_929_024, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -2972,13 +3435,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1244 + n * (1 ±0)` - // Estimated: `1244 + n * (1 ±0)` - // Minimum execution time: 244_098_000 picoseconds. - Weight::from_parts(246_035_630, 1244) - // Standard Error: 14 - .saturating_add(Weight::from_parts(178, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1196 + n * (1 ±0)` + // Estimated: `1196 + n * (1 ±0)` + // Minimum execution time: 272_714_000 picoseconds. + Weight::from_parts(300_359_254, 1196) + // Standard Error: 35 + .saturating_add(Weight::from_parts(34, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -2987,13 +3450,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `916 + r * (296 ±0)` - // Estimated: `921 + r * (297 ±0)` - // Minimum execution time: 233_339_000 picoseconds. - Weight::from_parts(147_348_628, 921) - // Standard Error: 8_468 - .saturating_add(Weight::from_parts(4_922_548, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `868 + r * (296 ±0)` + // Estimated: `873 + r * (297 ±0)` + // Minimum execution time: 252_868_000 picoseconds. + Weight::from_parts(192_325_247, 873) + // Standard Error: 9_612 + .saturating_add(Weight::from_parts(5_614_703, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -3003,13 +3466,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1260 + n * (1 ±0)` - // Estimated: `1260 + n * (1 ±0)` - // Minimum execution time: 243_918_000 picoseconds. - Weight::from_parts(246_029_747, 1260) - // Standard Error: 16 - .saturating_add(Weight::from_parts(710, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1212 + n * (1 ±0)` + // Estimated: `1212 + n * (1 ±0)` + // Minimum execution time: 275_076_000 picoseconds. + Weight::from_parts(298_464_611, 1212) + // Standard Error: 31 + .saturating_add(Weight::from_parts(691, 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())) } @@ -3018,13 +3481,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `937 + r * (288 ±0)` - // Estimated: `938 + r * (289 ±0)` - // Minimum execution time: 233_032_000 picoseconds. - Weight::from_parts(145_375_464, 938) - // Standard Error: 8_475 - .saturating_add(Weight::from_parts(4_752_430, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `889 + r * (288 ±0)` + // Estimated: `890 + r * (289 ±0)` + // Minimum execution time: 271_528_000 picoseconds. + Weight::from_parts(190_055_750, 890) + // Standard Error: 9_295 + .saturating_add(Weight::from_parts(5_481_564, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -3034,13 +3497,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1247 + n * (1 ±0)` - // Estimated: `1247 + n * (1 ±0)` - // Minimum execution time: 242_533_000 picoseconds. - Weight::from_parts(244_677_084, 1247) - // Standard Error: 16 - .saturating_add(Weight::from_parts(155, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1199 + n * (1 ±0)` + // Estimated: `1199 + n * (1 ±0)` + // Minimum execution time: 272_948_000 picoseconds. + Weight::from_parts(296_828_541, 1199) + // Standard Error: 32 + .saturating_add(Weight::from_parts(224, 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())) } @@ -3049,13 +3512,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `910 + r * (296 ±0)` - // Estimated: `917 + r * (297 ±0)` - // Minimum execution time: 232_834_000 picoseconds. - Weight::from_parts(118_909_001, 917) - // Standard Error: 10_419 - .saturating_add(Weight::from_parts(6_133_128, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `862 + r * (296 ±0)` + // Estimated: `869 + r * (297 ±0)` + // Minimum execution time: 261_242_000 picoseconds. + Weight::from_parts(182_730_565, 869) + // Standard Error: 10_598 + .saturating_add(Weight::from_parts(6_955_347, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3066,13 +3529,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1261 + n * (1 ±0)` - // Estimated: `1261 + n * (1 ±0)` - // Minimum execution time: 245_445_000 picoseconds. - Weight::from_parts(241_994_064, 1261) - // Standard Error: 209 - .saturating_add(Weight::from_parts(2_073, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1213 + n * (1 ±0)` + // Estimated: `1213 + n * (1 ±0)` + // Minimum execution time: 273_109_000 picoseconds. + Weight::from_parts(296_844_706, 1213) + // Standard Error: 38 + .saturating_add(Weight::from_parts(922, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -3082,10 +3545,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3093,13 +3554,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1454 + r * (45 ±0)` - // Estimated: `7351 + r * (2520 ±0)` - // Minimum execution time: 238_414_000 picoseconds. - Weight::from_parts(148_662_940, 7351) - // Standard Error: 28_550 - .saturating_add(Weight::from_parts(33_583_257, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1406 + r * (45 ±0)` + // Estimated: `7303 + r * (2520 ±0)` + // Minimum execution time: 258_602_000 picoseconds. + Weight::from_parts(292_720_006, 7303) + // Standard Error: 25_954 + .saturating_add(Weight::from_parts(38_220_140, 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(4_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3111,10 +3572,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -3122,13 +3581,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1300 + r * (276 ±0)` - // Estimated: `9485 + r * (2752 ±0)` - // Minimum execution time: 232_867_000 picoseconds. - Weight::from_parts(233_783_000, 9485) - // Standard Error: 71_028 - .saturating_add(Weight::from_parts(203_698_485, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(11_u64)) + // Measured: `1173 + r * (276 ±0)` + // Estimated: `9365 + r * (2752 ±0)` + // Minimum execution time: 259_809_000 picoseconds. + Weight::from_parts(272_562_000, 9365) + // Standard Error: 99_053 + .saturating_add(Weight::from_parts(238_943_491, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(4_u64)) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -3140,10 +3599,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:736 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:736 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:736 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -3151,17 +3608,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (574 ±0)` - // Estimated: `6808 + r * (2635 ±10)` - // Minimum execution time: 233_217_000 picoseconds. - Weight::from_parts(233_877_000, 6808) - // Standard Error: 106_254 - .saturating_add(Weight::from_parts(201_924_666, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (502 ±0)` + // Estimated: `6760 + r * (2572 ±3)` + // Minimum execution time: 251_738_000 picoseconds. + Weight::from_parts(268_350_000, 6760) + // Standard Error: 114_916 + .saturating_add(Weight::from_parts(233_073_585, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2635).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3169,10 +3626,8 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -3181,15 +3636,15 @@ 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: `1312 + t * (204 ±0)` - // Estimated: `12202 + t * (5154 ±0)` - // Minimum execution time: 407_110_000 picoseconds. - Weight::from_parts(386_773_504, 12202) - // Standard Error: 977_209 - .saturating_add(Weight::from_parts(25_384_027, 0).saturating_mul(t.into())) - // Standard Error: 1 - .saturating_add(Weight::from_parts(587, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(13_u64)) + // Measured: `1187 + t * (204 ±0)` + // Estimated: `12077 + t * (5154 ±0)` + // Minimum execution time: 457_896_000 picoseconds. + Weight::from_parts(87_898_644, 12077) + // Standard Error: 11_813_448 + .saturating_add(Weight::from_parts(343_454_719, 0).saturating_mul(t.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(954, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(11_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()))) @@ -3201,30 +3656,30 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:801 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:801 w:800) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:801 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:800 w:800) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1385 + r * (253 ±0)` - // Estimated: `7209 + r * (5204 ±0)` - // Minimum execution time: 547_672_000 picoseconds. - Weight::from_parts(548_754_000, 7209) - // Standard Error: 221_475 - .saturating_add(Weight::from_parts(327_267_765, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) + // Measured: `1355 + r * (254 ±0)` + // Estimated: `7179 + r * (5205 ±0)` + // Minimum execution time: 648_531_000 picoseconds. + Weight::from_parts(662_333_000, 7179) + // Standard Error: 358_232 + .saturating_add(Weight::from_parts(380_628_577, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(9_u64)) .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(6_u64)) .saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5204).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3232,14 +3687,14 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:2 w:1) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:2 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts OwnerInfoOf (r:1 w:1) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `t` is `[0, 1]`. @@ -3247,21 +3702,315 @@ 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: `1135 + t * (187 ±0)` - // Estimated: `9556 + t * (2634 ±2)` - // Minimum execution time: 1_588_262_000 picoseconds. - Weight::from_parts(264_143_221, 9556) - // Standard Error: 5_366_546 - .saturating_add(Weight::from_parts(130_759_588, 0).saturating_mul(t.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_184, 0).saturating_mul(i.into())) - // Standard Error: 8 - .saturating_add(Weight::from_parts(1_369, 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())) + // Measured: `1104 + t * (187 ±0)` + // Estimated: `9525 + t * (2634 ±2)` + // Minimum execution time: 2_264_883_000 picoseconds. + Weight::from_parts(1_359_758_730, 9525) + // Standard Error: 18 + .saturating_add(Weight::from_parts(934, 0).saturating_mul(i.into())) + // Standard Error: 18 + .saturating_add(Weight::from_parts(1_068, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(14_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())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_sha2_256(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `810 + r * (8 ±0)` + // Estimated: `6751 + r * (8 ±0)` + // Minimum execution time: 251_065_000 picoseconds. + Weight::from_parts(273_854_510, 6751) + // Standard Error: 561 + .saturating_add(Weight::from_parts(400_980, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `818` + // Estimated: `6758` + // Minimum execution time: 267_547_000 picoseconds. + Weight::from_parts(270_366_853, 6758) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_057, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_keccak_256(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `812 + r * (8 ±0)` + // Estimated: `6754 + r * (8 ±0)` + // Minimum execution time: 258_631_000 picoseconds. + Weight::from_parts(283_500_925, 6754) + // Standard Error: 580 + .saturating_add(Weight::from_parts(769_767, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `820` + // Estimated: `6762` + // Minimum execution time: 254_901_000 picoseconds. + Weight::from_parts(271_698_192, 6762) + // Standard Error: 1 + .saturating_add(Weight::from_parts(3_307, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_256(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `812 + r * (8 ±0)` + // Estimated: `6757 + r * (8 ±0)` + // Minimum execution time: 251_592_000 picoseconds. + Weight::from_parts(276_726_774, 6757) + // Standard Error: 782 + .saturating_add(Weight::from_parts(454_219, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `820` + // Estimated: `6766` + // Minimum execution time: 253_548_000 picoseconds. + Weight::from_parts(269_388_353, 6766) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_188, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_128(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `812 + r * (8 ±0)` + // Estimated: `6758 + r * (8 ±0)` + // Minimum execution time: 257_095_000 picoseconds. + Weight::from_parts(278_794_198, 6758) + // Standard Error: 2_136 + .saturating_add(Weight::from_parts(454_483, 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, 8).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `820` + // Estimated: `6760` + // Minimum execution time: 253_356_000 picoseconds. + Weight::from_parts(267_310_090, 6760) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 125697]`. + fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `945 + n * (1 ±0)` + // Estimated: `6882 + n * (1 ±0)` + // Minimum execution time: 330_103_000 picoseconds. + Weight::from_parts(347_576_489, 6882) + // Standard Error: 8 + .saturating_add(Weight::from_parts(5_745, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_sr25519_verify(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `759 + r * (112 ±0)` + // Estimated: `6699 + r * (112 ±0)` + // Minimum execution time: 249_849_000 picoseconds. + Weight::from_parts(295_861_610, 6699) + // Standard Error: 7_897 + .saturating_add(Weight::from_parts(56_326_988, 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, 112).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_recover(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `854 + r * (76 ±0)` + // Estimated: `6749 + r * (77 ±0)` + // Minimum execution time: 252_437_000 picoseconds. + Weight::from_parts(316_808_420, 6749) + // Standard Error: 13_551 + .saturating_add(Weight::from_parts(45_999_840, 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, 77).saturating_mul(r.into())) + } + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `825 + r * (42 ±0)` + // Estimated: `6764 + r * (42 ±0)` + // Minimum execution time: 265_684_000 picoseconds. + Weight::from_parts(284_413_181, 6764) + // Standard Error: 6_475 + .saturating_add(Weight::from_parts(12_107_021, 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, 42).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3269,26 +4018,28 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1536 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) + /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) + /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_hash_sha2_256(r: u32, ) -> Weight { + fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `858 + r * (8 ±0)` - // Estimated: `6799 + r * (8 ±0)` - // Minimum execution time: 228_991_000 picoseconds. - Weight::from_parts(232_270_831, 6799) - // Standard Error: 3_526 - .saturating_add(Weight::from_parts(586_415, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `0 + r * (964 ±0)` + // Estimated: `8223 + r * (3090 ±7)` + // Minimum execution time: 251_196_000 picoseconds. + Weight::from_parts(270_744_000, 8223) + // Standard Error: 40_610 + .saturating_add(Weight::from_parts(22_903_375, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) + .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3296,25 +4047,24 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 1600]`. + fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `866` - // Estimated: `6806` - // Minimum execution time: 231_431_000 picoseconds. - Weight::from_parts(228_325_760, 6806) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_951, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `806 + r * (3 ±0)` + // Estimated: `6756 + r * (3 ±0)` + // Minimum execution time: 262_805_000 picoseconds. + Weight::from_parts(275_660_655, 6756) + // Standard Error: 380 + .saturating_add(Weight::from_parts(167_290, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3322,26 +4072,24 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_hash_keccak_256(r: u32, ) -> Weight { + fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (8 ±0)` - // Estimated: `6802 + r * (8 ±0)` - // Minimum execution time: 228_392_000 picoseconds. - Weight::from_parts(232_663_214, 6802) - // Standard Error: 865 - .saturating_add(Weight::from_parts(744_016, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `2008 + r * (39 ±0)` + // Estimated: `7838 + r * (40 ±0)` + // Minimum execution time: 263_232_000 picoseconds. + Weight::from_parts(308_403_848, 7838) + // Standard Error: 695 + .saturating_add(Weight::from_parts(261_716, 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, 8).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 40).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3349,360 +4097,535 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) + /// Storage: Contracts CodeStorage (r:1 w:0) + /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 1600]`. + fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868` - // Estimated: `6810` - // Minimum execution time: 231_459_000 picoseconds. - Weight::from_parts(224_330_056, 6810) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_091, 0).saturating_mul(n.into())) + // Measured: `809 + r * (3 ±0)` + // Estimated: `6756 + r * (3 ±0)` + // Minimum execution time: 255_952_000 picoseconds. + Weight::from_parts(285_541_315, 6756) + // Standard Error: 459 + .saturating_add(Weight::from_parts(145_305, 0).saturating_mul(r.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64const(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_405_000 picoseconds. + Weight::from_parts(1_583_300, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(2_743, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64load(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_796_000 picoseconds. + Weight::from_parts(2_279_812, 0) + // Standard Error: 7 + .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64store(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_768_000 picoseconds. + Weight::from_parts(2_274_070, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(6_647, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_select(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_396_000 picoseconds. + Weight::from_parts(1_730_388, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(8_918, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_if(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_383_000 picoseconds. + Weight::from_parts(1_473_000, 0) + // Standard Error: 22 + .saturating_add(Weight::from_parts(12_167, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_br(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_418_000 picoseconds. + Weight::from_parts(1_490_208, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(6_271, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_br_if(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_396_000 picoseconds. + Weight::from_parts(1_584_684, 0) + // Standard Error: 61 + .saturating_add(Weight::from_parts(8_819, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_br_table(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_384_000 picoseconds. + Weight::from_parts(1_501_244, 0) + // Standard Error: 17 + .saturating_add(Weight::from_parts(12_311, 0).saturating_mul(r.into())) + } + /// The range of component `e` is `[1, 256]`. + fn instr_br_table_per_entry(e: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_433_000 picoseconds. + Weight::from_parts(1_594_462, 0) + // Standard Error: 19 + .saturating_add(Weight::from_parts(29, 0).saturating_mul(e.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_call(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_420_000 picoseconds. + Weight::from_parts(1_602_036, 0) + // Standard Error: 16 + .saturating_add(Weight::from_parts(17_082, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_call_indirect(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_619_000 picoseconds. + Weight::from_parts(2_069_590, 0) + // Standard Error: 20 + .saturating_add(Weight::from_parts(24_049, 0).saturating_mul(r.into())) + } + /// The range of component `l` is `[0, 1024]`. + fn instr_call_per_local(l: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_478_000 picoseconds. + Weight::from_parts(1_699_579, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(1_651, 0).saturating_mul(l.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_local_get(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_123_000 picoseconds. + Weight::from_parts(3_200_824, 0) + // Standard Error: 12 + .saturating_add(Weight::from_parts(4_187, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_local_set(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_121_000 picoseconds. + Weight::from_parts(3_302_628, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_193, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_local_tee(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_155_000 picoseconds. + Weight::from_parts(3_359_832, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_829, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_global_get(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_547_000 picoseconds. + Weight::from_parts(1_899_252, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(8_373, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_global_set(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_513_000 picoseconds. + Weight::from_parts(1_892_537, 0) + // Standard Error: 15 + .saturating_add(Weight::from_parts(9_177, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_memory_current(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_904_000 picoseconds. + Weight::from_parts(2_140_940, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(3_926, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 16]`. + fn instr_memory_grow(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_437_000 picoseconds. + Weight::from_parts(4_481, 0) + // Standard Error: 131_975 + .saturating_add(Weight::from_parts(14_765_592, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64clz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_443_000 picoseconds. + Weight::from_parts(1_596_467, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(4_251, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ctz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_372_000 picoseconds. + Weight::from_parts(1_569_760, 0) + // Standard Error: 7 + .saturating_add(Weight::from_parts(4_777, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64popcnt(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_411_000 picoseconds. + Weight::from_parts(1_642_163, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_241, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eqz(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_395_000 picoseconds. + Weight::from_parts(1_726_615, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(4_631, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendsi32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_373_000 picoseconds. + Weight::from_parts(1_620_217, 0) + // Standard Error: 1 + .saturating_add(Weight::from_parts(4_220, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64extendui32(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_423_000 picoseconds. + Weight::from_parts(1_611_025, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(4_681, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i32wrapi64(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_402_000 picoseconds. + Weight::from_parts(1_616_506, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(4_247, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64eq(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_464_000 picoseconds. + Weight::from_parts(1_641_492, 0) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_262, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ne(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_401_000 picoseconds. + Weight::from_parts(1_673_299, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_741, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64lts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_414_000 picoseconds. + Weight::from_parts(1_615_167, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_767, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ltu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_445_000 picoseconds. + Weight::from_parts(1_687_595, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(6_201, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gts(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_415_000 picoseconds. + Weight::from_parts(1_629_044, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_318, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64gtu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_377_000 picoseconds. + Weight::from_parts(1_660_178, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64les(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_467_000 picoseconds. + Weight::from_parts(1_619_688, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_761, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64leu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_485_000 picoseconds. + Weight::from_parts(1_619_756, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(6_248, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64ges(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_391_000 picoseconds. + Weight::from_parts(1_629_993, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64geu(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_413_000 picoseconds. + Weight::from_parts(1_605_123, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64add(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_470_000 picoseconds. + Weight::from_parts(1_699_382, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_736, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_256(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64sub(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (8 ±0)` - // Estimated: `6805 + r * (8 ±0)` - // Minimum execution time: 228_938_000 picoseconds. - Weight::from_parts(229_690_646, 6805) - // Standard Error: 4_025 - .saturating_add(Weight::from_parts(441_360, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_394_000 picoseconds. + Weight::from_parts(1_599_038, 0) + // Standard Error: 5 + .saturating_add(Weight::from_parts(6_325, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64mul(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868` - // Estimated: `6814` - // Minimum execution time: 230_605_000 picoseconds. - Weight::from_parts(226_668_183, 6814) - // Standard Error: 1 - .saturating_add(Weight::from_parts(913, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_422_000 picoseconds. + Weight::from_parts(1_655_350, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_753, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_128(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divs(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `860 + r * (8 ±0)` - // Estimated: `6806 + r * (8 ±0)` - // Minimum execution time: 228_749_000 picoseconds. - Weight::from_parts(233_763_978, 6806) - // Standard Error: 529 - .saturating_add(Weight::from_parts(426_985, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_407_000 picoseconds. + Weight::from_parts(1_710_195, 0) + // Standard Error: 8 + .saturating_add(Weight::from_parts(6_791, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64divu(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868` - // Estimated: `6808` - // Minimum execution time: 231_585_000 picoseconds. - Weight::from_parts(223_404_948, 6808) - // Standard Error: 1 - .saturating_add(Weight::from_parts(914, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_406_000 picoseconds. + Weight::from_parts(2_022_275, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(5_864, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 125697]`. - fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rems(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `993 + n * (1 ±0)` - // Estimated: `6930 + n * (1 ±0)` - // Minimum execution time: 284_016_000 picoseconds. - Weight::from_parts(288_280_129, 6930) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_424_000 picoseconds. + Weight::from_parts(1_735_622, 0) // Standard Error: 8 - .saturating_add(Weight::from_parts(5_548, 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())) + .saturating_add(Weight::from_parts(6_772, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_sr25519_verify(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64remu(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `803 + r * (112 ±0)` - // Estimated: `6747 + r * (112 ±0)` - // Minimum execution time: 232_497_000 picoseconds. - Weight::from_parts(242_606_845, 6747) - // Standard Error: 19_911 - .saturating_add(Weight::from_parts(48_047_241, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_457_000 picoseconds. + Weight::from_parts(1_636_788, 0) + // Standard Error: 4 + .saturating_add(Weight::from_parts(5_794, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_recover(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64and(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `903 + r * (76 ±0)` - // Estimated: `6798 + r * (77 ±0)` - // Minimum execution time: 233_369_000 picoseconds. - Weight::from_parts(247_152_297, 6798) - // Standard Error: 18_592 - .saturating_add(Weight::from_parts(37_766_740, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_423_000 picoseconds. + Weight::from_parts(1_703_832, 0) + // Standard Error: 11 + .saturating_add(Weight::from_parts(6_158, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64or(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `873 + r * (42 ±0)` - // Estimated: `6812 + r * (42 ±0)` - // Minimum execution time: 232_720_000 picoseconds. - Weight::from_parts(236_166_125, 6812) - // Standard Error: 9_360 - .saturating_add(Weight::from_parts(9_594_769, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_401_000 picoseconds. + Weight::from_parts(1_653_216, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_754, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1536 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1536 w:1536) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:1538 w:1538) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_set_code_hash(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64xor(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (963 ±0)` - // Estimated: `6803 + r * (3089 ±7)` - // Minimum execution time: 232_030_000 picoseconds. - Weight::from_parts(233_004_000, 6803) - // Standard Error: 50_017 - .saturating_add(Weight::from_parts(22_584_341, 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)) - .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3089).saturating_mul(r.into())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_419_000 picoseconds. + Weight::from_parts(1_685_121, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(6_309, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_reentrance_count(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shl(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `854 + r * (3 ±0)` - // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 231_530_000 picoseconds. - Weight::from_parts(235_866_983, 6804) - // Standard Error: 262 - .saturating_add(Weight::from_parts(174_364, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_395_000 picoseconds. + Weight::from_parts(1_580_918, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_775, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_account_reentrance_count(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shrs(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2094 + r * (39 ±0)` - // Estimated: `7921 + r * (40 ±0)` - // Minimum execution time: 233_088_000 picoseconds. - Weight::from_parts(260_912_513, 7921) - // Standard Error: 1_095 - .saturating_add(Weight::from_parts(304_805, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_408_000 picoseconds. + Weight::from_parts(1_646_493, 0) + // Standard Error: 9 + .saturating_add(Weight::from_parts(6_237, 0).saturating_mul(r.into())) } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeInfoOf (r:1 w:0) - /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(97), added: 2572, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_instantiation_nonce(r: u32, ) -> Weight { + /// The range of component `r` is `[0, 5000]`. + fn instr_i64shru(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `857 + r * (3 ±0)` - // Estimated: `6804 + r * (3 ±0)` - // Minimum execution time: 231_852_000 picoseconds. - Weight::from_parts(238_062_484, 6804) - // Standard Error: 369 - .saturating_add(Weight::from_parts(158_553, 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())) + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_446_000 picoseconds. + Weight::from_parts(1_633_531, 0) + // Standard Error: 7 + .saturating_add(Weight::from_parts(5_759, 0).saturating_mul(r.into())) } /// The range of component `r` is `[0, 5000]`. - fn instr_i64const(r: u32, ) -> Weight { + fn instr_i64rotl(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_460_000 picoseconds. - Weight::from_parts(1_683_045, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(2_389, 0).saturating_mul(r.into())) + // Minimum execution time: 1_478_000 picoseconds. + Weight::from_parts(1_634_023, 0) + // Standard Error: 2 + .saturating_add(Weight::from_parts(5_771, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 5000]`. + fn instr_i64rotr(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_389_000 picoseconds. + Weight::from_parts(1_627_867, 0) + // Standard Error: 10 + .saturating_add(Weight::from_parts(6_175, 0).saturating_mul(r.into())) } } From f42db5d7d578415f281544938d979c315b4b7e60 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 21 Jun 2023 12:39:47 +0300 Subject: [PATCH 51/70] refactoring --- frame/contracts/proc-macro/src/lib.rs | 23 ++++++++++++++++++----- frame/contracts/src/wasm/mod.rs | 4 ++-- frame/contracts/src/wasm/prepare.rs | 1 - 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index 5e81c7f5ee67d..db806c07364c9 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -668,7 +668,6 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) |reason| { reason } } }; - let into_trap = quote! { |e| TrapReason::from(e) }; let allow_unused = if expand_blocks { quote! { } } else { @@ -676,23 +675,37 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) }; let sync_gas_before = if expand_blocks { quote! { + // Gas left in the gas meter right before switching to engine execution. let __gas_before__ = { - let engine_consumed_total = __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); + let engine_consumed_total = + __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); let gas_meter = __caller__.data_mut().ext().gas_meter_mut(); - gas_meter.sync_fuel(engine_consumed_total).map_err(#into_trap).map_err(#into_host)?.ref_time() + gas_meter + .sync_fuel(engine_consumed_total) + .map_err(TrapReason::from) + .map_err(#into_host)? + .ref_time() }; } } else { quote! { } }; + // Gas left in the gas meter right after returning from engine execution. let sync_gas_after = if expand_blocks { quote! { let mut gas_after = __caller__.data_mut().ext().gas_meter().gas_left().ref_time(); let mut host_consumed = __gas_before__.saturating_sub(gas_after); // Possible undercharge of at max 1 fuel here, if host consumed less than `instruction_weights.base` // Not a problem though, as soon as host accounts its spent gas properly. - let fuel_consumed = host_consumed.checked_div(__caller__.data_mut().ext().schedule().instruction_weights.base as u64).ok_or(Error::::InvalidSchedule).map_err(#into_trap).map_err(#into_host)?; - __caller__.consume_fuel(fuel_consumed).map_err(|_| TrapReason::from(Error::::OutOfGas)).map_err(#into_host)?; + let fuel_consumed = host_consumed + .checked_div(__caller__.data_mut().ext().schedule().instruction_weights.base as u64) + .ok_or(Error::::InvalidSchedule) + .map_err(TrapReason::from) + .map_err(#into_host)?; + __caller__ + .consume_fuel(fuel_consumed) + .map_err(|_| TrapReason::from(Error::::OutOfGas)) + .map_err(#into_host)?; } } else { quote! { } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index ea94f7eb47627..1d251755a6827 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -261,14 +261,14 @@ impl WasmBlob { let mut mem_type = None; for import in imports { match *import.ty() { - ExternType::Memory(ref mt) => { + 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.clone()); + mem_type = Some(mt); break }, _ => continue, diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 3257e4a3d1eac..5e6d8ba13f7cc 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -453,7 +453,6 @@ pub mod benchmarking { owner: AccountIdOf, ) -> Result, DispatchError> { let contract_module = ContractModule::new(&code)?; - println!("benchmarking::prepare----------->"); let _ = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; let code = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { From b789e6bd887212a7ca8a4f199d4350415173dd0f Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Wed, 21 Jun 2023 11:56:26 +0000 Subject: [PATCH 52/70] ".git/.scripts/commands/bench-vm/bench-vm.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 4524 +++++++++++++------------------- 1 file changed, 1788 insertions(+), 2736 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index e7909febbabc4..958832dd66b52 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,28 +18,26 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 // Executed Command: -// ./target/production/substrate +// target/production/substrate // benchmark // pallet -// --chain=dev // --steps=50 // --repeat=20 -// --pallet=pallet_contracts -// --no-storage-info -// --no-median-slopes -// --no-min-squares // --extrinsic=* // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --output=./frame/contracts/src/weights.rs +// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json +// --pallet=pallet_contracts +// --chain=dev // --header=./HEADER-APACHE2 +// --output=./frame/contracts/src/weights.rs // --template=./.maintain/frame-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] @@ -54,7 +52,6 @@ use core::marker::PhantomData; pub trait WeightInfo { fn on_process_deletion_queue_batch() -> Weight; fn on_initialize_per_trie_key(k: u32, ) -> Weight; - fn reinstrument(c: u32, ) -> Weight; fn v9_migration_step(c: u32, ) -> Weight; fn v10_migration_step() -> Weight; fn v11_migration_step(k: u32, ) -> Weight; @@ -85,7 +82,6 @@ pub trait WeightInfo { fn seal_block_number(r: u32, ) -> Weight; fn seal_now(r: u32, ) -> Weight; fn seal_weight_to_fee(r: u32, ) -> Weight; - fn seal_gas(r: u32, ) -> Weight; fn seal_input(r: u32, ) -> Weight; fn seal_input_per_byte(n: u32, ) -> Weight; fn seal_return(r: u32, ) -> Weight; @@ -130,56 +126,6 @@ pub trait WeightInfo { fn seal_account_reentrance_count(r: u32, ) -> Weight; fn seal_instantiation_nonce(r: u32, ) -> Weight; fn instr_i64const(r: u32, ) -> Weight; - fn instr_i64load(r: u32, ) -> Weight; - fn instr_i64store(r: u32, ) -> Weight; - fn instr_select(r: u32, ) -> Weight; - fn instr_if(r: u32, ) -> Weight; - fn instr_br(r: u32, ) -> Weight; - fn instr_br_if(r: u32, ) -> Weight; - fn instr_br_table(r: u32, ) -> Weight; - fn instr_br_table_per_entry(e: u32, ) -> Weight; - fn instr_call(r: u32, ) -> Weight; - fn instr_call_indirect(r: u32, ) -> Weight; - fn instr_call_per_local(l: u32, ) -> Weight; - fn instr_local_get(r: u32, ) -> Weight; - fn instr_local_set(r: u32, ) -> Weight; - fn instr_local_tee(r: u32, ) -> Weight; - fn instr_global_get(r: u32, ) -> Weight; - fn instr_global_set(r: u32, ) -> Weight; - fn instr_memory_current(r: u32, ) -> Weight; - fn instr_memory_grow(r: u32, ) -> Weight; - fn instr_i64clz(r: u32, ) -> Weight; - fn instr_i64ctz(r: u32, ) -> Weight; - fn instr_i64popcnt(r: u32, ) -> Weight; - fn instr_i64eqz(r: u32, ) -> Weight; - fn instr_i64extendsi32(r: u32, ) -> Weight; - fn instr_i64extendui32(r: u32, ) -> Weight; - fn instr_i32wrapi64(r: u32, ) -> Weight; - fn instr_i64eq(r: u32, ) -> Weight; - fn instr_i64ne(r: u32, ) -> Weight; - fn instr_i64lts(r: u32, ) -> Weight; - fn instr_i64ltu(r: u32, ) -> Weight; - fn instr_i64gts(r: u32, ) -> Weight; - fn instr_i64gtu(r: u32, ) -> Weight; - fn instr_i64les(r: u32, ) -> Weight; - fn instr_i64leu(r: u32, ) -> Weight; - fn instr_i64ges(r: u32, ) -> Weight; - fn instr_i64geu(r: u32, ) -> Weight; - fn instr_i64add(r: u32, ) -> Weight; - fn instr_i64sub(r: u32, ) -> Weight; - fn instr_i64mul(r: u32, ) -> Weight; - fn instr_i64divs(r: u32, ) -> Weight; - fn instr_i64divu(r: u32, ) -> Weight; - fn instr_i64rems(r: u32, ) -> Weight; - fn instr_i64remu(r: u32, ) -> Weight; - fn instr_i64and(r: u32, ) -> Weight; - fn instr_i64or(r: u32, ) -> Weight; - fn instr_i64xor(r: u32, ) -> Weight; - fn instr_i64shl(r: u32, ) -> Weight; - fn instr_i64shrs(r: u32, ) -> Weight; - fn instr_i64shru(r: u32, ) -> Weight; - fn instr_i64rotl(r: u32, ) -> Weight; - fn instr_i64rotr(r: u32, ) -> Weight; } /// Weights for pallet_contracts using the Substrate node and recommended hardware. @@ -191,8 +137,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_484_000 picoseconds. - Weight::from_parts(2_620_000, 1627) + // Minimum execution time: 2_527_000 picoseconds. + Weight::from_parts(2_654_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -200,46 +146,29 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[0, 1024]`. fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `521 + k * (69 ±0)` - // Estimated: `511 + k * (70 ±0)` - // Minimum execution time: 13_405_000 picoseconds. - Weight::from_parts(13_909_000, 511) - // Standard Error: 1_350 - .saturating_add(Weight::from_parts(1_222_889, 0).saturating_mul(k.into())) + // Measured: `451 + k * (69 ±0)` + // Estimated: `441 + k * (70 ±0)` + // Minimum execution time: 12_645_000 picoseconds. + Weight::from_parts(12_957_000, 441) + // Standard Error: 1_101 + .saturating_add(Weight::from_parts(1_232_810, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn reinstrument(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `271 + c * (1 ±0)` - // Estimated: `3741 + c * (1 ±0)` - // Minimum execution time: 31_202_000 picoseconds. - Weight::from_parts(26_528_080, 3741) - // Standard Error: 55 - .saturating_add(Weight::from_parts(55_528, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts CodeStorage (r:2 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// The range of component `c` is `[0, 125952]`. fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` - // Estimated: `6147 + c * (1 ±0)` - // Minimum execution time: 8_510_000 picoseconds. - Weight::from_parts(9_274_212, 6147) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_311, 0).saturating_mul(c.into())) + // Estimated: `6149 + c * (1 ±0)` + // Minimum execution time: 8_502_000 picoseconds. + Weight::from_parts(9_153_988, 6149) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_344, 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())) @@ -250,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: `577` - // Estimated: `6517` - // Minimum execution time: 17_100_000 picoseconds. - Weight::from_parts(17_720_000, 6517) + // Measured: `548` + // Estimated: `6488` + // Minimum execution time: 17_524_000 picoseconds. + Weight::from_parts(18_292_000, 6488) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -266,23 +195,34 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_853_000 picoseconds. - Weight::from_parts(3_951_000, 3635) - // Standard Error: 549 - .saturating_add(Weight::from_parts(1_120_241, 0).saturating_mul(k.into())) + // Minimum execution time: 3_817_000 picoseconds. + Weight::from_parts(3_905_000, 3635) + // Standard Error: 748 + .saturating_add(Weight::from_parts(1_119_397, 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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:0 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// The range of component `c` is `[0, 125952]`. fn v12_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `378 + c * (2 ±0)` // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_018_000 picoseconds. - Weight::from_parts(26_135_343, 6313) + // Minimum execution time: 23_368_000 picoseconds. + Weight::from_parts(24_566_010, 6313) // Standard Error: 1 - .saturating_add(Weight::from_parts(967, 0).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(1_111, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) @@ -293,8 +233,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_390_000 picoseconds. - Weight::from_parts(3_503_000, 1627) + // Minimum execution time: 3_234_000 picoseconds. + Weight::from_parts(3_447_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -306,8 +246,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 10_321_000 picoseconds. - Weight::from_parts(10_677_000, 3631) + // Minimum execution time: 12_576_000 picoseconds. + Weight::from_parts(13_279_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -317,8 +257,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 3_717_000 picoseconds. - Weight::from_parts(3_866_000, 3607) + // Minimum execution time: 4_927_000 picoseconds. + Weight::from_parts(5_214_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -329,8 +269,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 5_668_000 picoseconds. - Weight::from_parts(5_982_000, 3632) + // Minimum execution time: 6_597_000 picoseconds. + Weight::from_parts(7_081_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -341,8 +281,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 5_881_000 picoseconds. - Weight::from_parts(6_048_000, 3607) + // Minimum execution time: 7_126_000 picoseconds. + Weight::from_parts(7_500_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -350,8 +290,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -361,20 +303,20 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 125952]`. fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `740` - // Estimated: `6689 + c * (1 ±0)` - // Minimum execution time: 283_813_000 picoseconds. - Weight::from_parts(315_949_540, 6689) - // Standard Error: 43 - .saturating_add(Weight::from_parts(37_588, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `786` + // Estimated: `6735 + c * (1 ±0)` + // Minimum execution time: 301_470_000 picoseconds. + Weight::from_parts(316_666_310, 6735) + // Standard Error: 63 + .saturating_add(Weight::from_parts(38_730, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -385,32 +327,32 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// The range of component `c` is `[0, 125952]`. /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `303` - // Estimated: `8692` - // Minimum execution time: 3_779_981_000 picoseconds. - Weight::from_parts(109_725_752, 8692) - // Standard Error: 464 - .saturating_add(Weight::from_parts(115_486, 0).saturating_mul(c.into())) - // Standard Error: 27 - .saturating_add(Weight::from_parts(1_624, 0).saturating_mul(i.into())) - // Standard Error: 27 - .saturating_add(Weight::from_parts(2_076, 0).saturating_mul(s.into())) + // Estimated: `8745` + // Minimum execution time: 4_141_386_000 picoseconds. + Weight::from_parts(895_525_187, 8745) + // Standard Error: 303 + .saturating_add(Weight::from_parts(75_316, 0).saturating_mul(c.into())) + // Standard Error: 36 + .saturating_add(Weight::from_parts(1_683, 0).saturating_mul(i.into())) + // Standard Error: 36 + .saturating_add(Weight::from_parts(1_867, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(10_u64)) + .saturating_add(T::DbWeight::get().writes(9_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) @@ -419,22 +361,20 @@ impl WeightInfo for SubstrateWeight { /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:2 w:2) /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `i` is `[0, 1048576]`. /// The range of component `s` is `[0, 1048576]`. fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `515` - // Estimated: `6441` - // Minimum execution time: 1_957_086_000 picoseconds. - Weight::from_parts(228_755_581, 6441) + // Measured: `503` + // Estimated: `6429` + // Minimum execution time: 2_122_161_000 picoseconds. + Weight::from_parts(341_441_365, 6429) // Standard Error: 9 - .saturating_add(Weight::from_parts(1_823, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_925, 0).saturating_mul(i.into())) // Standard Error: 9 - .saturating_add(Weight::from_parts(1_773, 0).saturating_mul(s.into())) + .saturating_add(Weight::from_parts(1_796, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -442,8 +382,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System Account (r:1 w:1) @@ -452,68 +394,64 @@ 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: `792` - // Estimated: `6732` - // Minimum execution time: 194_969_000 picoseconds. - Weight::from_parts(204_325_000, 6732) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `838` + // Estimated: `6778` + // Minimum execution time: 189_169_000 picoseconds. + Weight::from_parts(199_496_000, 6778) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. + /// The range of component `c` is `[0, 125952]`. fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 285_076_000 picoseconds. - Weight::from_parts(309_126_292, 3607) - // Standard Error: 77 - .saturating_add(Weight::from_parts(108_132, 0).saturating_mul(c.into())) + // Minimum execution time: 272_416_000 picoseconds. + Weight::from_parts(272_856_243, 3607) + // Standard Error: 204 + .saturating_add(Weight::from_parts(74_266, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:1 w:1) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) /// Storage: Contracts PristineCode (r:0 w:1) /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) fn remove_code() -> Weight { // Proof Size summary in bytes: - // Measured: `288` - // Estimated: `3753` - // Minimum execution time: 34_633_000 picoseconds. - Weight::from_parts(35_823_000, 3753) + // Measured: `255` + // Estimated: `3720` + // Minimum execution time: 33_183_000 picoseconds. + Weight::from_parts(34_686_000, 3720) .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:2 w:2) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:2) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `603` - // Estimated: `9018` - // Minimum execution time: 35_640_000 picoseconds. - Weight::from_parts(37_022_000, 9018) + // Measured: `575` + // Estimated: `8990` + // Minimum execution time: 36_344_000 picoseconds. + Weight::from_parts(37_640_000, 8990) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -523,8 +461,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -532,13 +472,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `814 + r * (6 ±0)` - // Estimated: `6755 + r * (6 ±0)` - // Minimum execution time: 274_579_000 picoseconds. - Weight::from_parts(293_784_568, 6755) - // Standard Error: 668 - .saturating_add(Weight::from_parts(332_369, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `860 + r * (6 ±0)` + // Estimated: `6801 + r * (6 ±0)` + // Minimum execution time: 271_347_000 picoseconds. + Weight::from_parts(288_868_629, 6801) + // Standard Error: 1_799 + .saturating_add(Weight::from_parts(358_819, 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())) } @@ -548,8 +488,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -557,13 +499,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `872 + r * (240 ±0)` - // Estimated: `6776 + r * (2715 ±0)` - // Minimum execution time: 258_123_000 picoseconds. - Weight::from_parts(87_353_122, 6776) - // Standard Error: 7_863 - .saturating_add(Weight::from_parts(3_798_056, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `918 + r * (240 ±0)` + // Estimated: `6822 + r * (2715 ±0)` + // Minimum execution time: 280_870_000 picoseconds. + Weight::from_parts(113_105_976, 6822) + // Standard Error: 6_597 + .saturating_add(Weight::from_parts(3_814_903, 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)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -574,8 +516,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -583,13 +527,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `864 + r * (244 ±0)` - // Estimated: `6780 + r * (2719 ±0)` - // Minimum execution time: 263_892_000 picoseconds. - Weight::from_parts(95_671_495, 6780) - // Standard Error: 7_751 - .saturating_add(Weight::from_parts(4_621_396, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `910 + r * (244 ±0)` + // Estimated: `6826 + r * (2719 ±0)` + // Minimum execution time: 273_992_000 picoseconds. + Weight::from_parts(95_710_903, 6826) + // Standard Error: 8_337 + .saturating_add(Weight::from_parts(4_641_010, 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)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -600,8 +544,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -609,13 +555,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `821 + r * (6 ±0)` - // Estimated: `6763 + r * (6 ±0)` - // Minimum execution time: 256_926_000 picoseconds. - Weight::from_parts(282_224_981, 6763) - // Standard Error: 558 - .saturating_add(Weight::from_parts(437_279, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `867 + r * (6 ±0)` + // Estimated: `6809 + r * (6 ±0)` + // Minimum execution time: 273_748_000 picoseconds. + Weight::from_parts(282_117_406, 6809) + // Standard Error: 683 + .saturating_add(Weight::from_parts(445_043, 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())) } @@ -625,8 +571,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -634,13 +582,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (3 ±0)` - // Estimated: `6756 + r * (3 ±0)` - // Minimum execution time: 250_653_000 picoseconds. - Weight::from_parts(275_581_829, 6756) - // Standard Error: 504 - .saturating_add(Weight::from_parts(174_168, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 272_724_000 picoseconds. + Weight::from_parts(281_414_588, 6802) + // Standard Error: 396 + .saturating_add(Weight::from_parts(194_689, 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())) } @@ -648,8 +596,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -657,13 +607,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `701 + r * (3 ±0)` - // Estimated: `6641 + r * (3 ±0)` - // Minimum execution time: 252_729_000 picoseconds. - Weight::from_parts(269_519_695, 6641) - // Standard Error: 364 - .saturating_add(Weight::from_parts(149_029, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(6_u64)) + // Measured: `747 + r * (3 ±0)` + // Estimated: `6687 + r * (3 ±0)` + // Minimum execution time: 259_029_000 picoseconds. + Weight::from_parts(269_787_417, 6687) + // Standard Error: 466 + .saturating_add(Weight::from_parts(172_536, 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())) } @@ -673,8 +623,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -682,13 +634,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `815 + r * (6 ±0)` - // Estimated: `6757 + r * (6 ±0)` - // Minimum execution time: 254_003_000 picoseconds. - Weight::from_parts(273_706_638, 6757) - // Standard Error: 636 - .saturating_add(Weight::from_parts(344_795, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `861 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 273_509_000 picoseconds. + Weight::from_parts(287_492_496, 6803) + // Standard Error: 786 + .saturating_add(Weight::from_parts(355_547, 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())) } @@ -698,8 +650,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -707,13 +661,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (6 ±0)` - // Estimated: `6752 + r * (6 ±0)` - // Minimum execution time: 258_765_000 picoseconds. - Weight::from_parts(285_314_067, 6752) - // Standard Error: 747 - .saturating_add(Weight::from_parts(530_682, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6798 + r * (6 ±0)` + // Minimum execution time: 271_938_000 picoseconds. + Weight::from_parts(288_539_794, 6798) + // Standard Error: 924 + .saturating_add(Weight::from_parts(555_800, 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())) } @@ -723,8 +677,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -732,13 +688,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `955 + r * (6 ±0)` - // Estimated: `6879 + r * (6 ±0)` - // Minimum execution time: 249_124_000 picoseconds. - Weight::from_parts(280_931_810, 6879) - // Standard Error: 1_222 - .saturating_add(Weight::from_parts(1_589_424, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1001 + r * (6 ±0)` + // Estimated: `6925 + r * (6 ±0)` + // Minimum execution time: 270_690_000 picoseconds. + Weight::from_parts(285_352_374, 6925) + // Standard Error: 2_215 + .saturating_add(Weight::from_parts(1_606_595, 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())) } @@ -748,8 +704,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -757,13 +715,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (6 ±0)` - // Estimated: `6774 + r * (6 ±0)` - // Minimum execution time: 262_064_000 picoseconds. - Weight::from_parts(275_109_661, 6774) - // Standard Error: 1_125 - .saturating_add(Weight::from_parts(347_597, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `871 + r * (6 ±0)` + // Estimated: `6820 + r * (6 ±0)` + // Minimum execution time: 262_504_000 picoseconds. + Weight::from_parts(282_508_731, 6820) + // Standard Error: 740 + .saturating_add(Weight::from_parts(363_009, 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())) } @@ -773,8 +731,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -782,13 +742,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `823 + r * (6 ±0)` - // Estimated: `6772 + r * (6 ±0)` - // Minimum execution time: 257_647_000 picoseconds. - Weight::from_parts(282_016_138, 6772) - // Standard Error: 598 - .saturating_add(Weight::from_parts(331_430, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `869 + r * (6 ±0)` + // Estimated: `6818 + r * (6 ±0)` + // Minimum execution time: 270_067_000 picoseconds. + Weight::from_parts(282_977_137, 6818) + // Standard Error: 708 + .saturating_add(Weight::from_parts(340_430, 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())) } @@ -798,8 +758,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -807,13 +769,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `820 + r * (6 ±0)` - // Estimated: `6770 + r * (6 ±0)` - // Minimum execution time: 270_534_000 picoseconds. - Weight::from_parts(282_587_049, 6770) - // Standard Error: 558 - .saturating_add(Weight::from_parts(326_833, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `866 + r * (6 ±0)` + // Estimated: `6816 + r * (6 ±0)` + // Minimum execution time: 270_186_000 picoseconds. + Weight::from_parts(283_961_384, 6816) + // Standard Error: 631 + .saturating_add(Weight::from_parts(351_270, 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())) } @@ -823,8 +785,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -832,13 +796,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (6 ±0)` - // Estimated: `6756 + r * (6 ±0)` - // Minimum execution time: 265_995_000 picoseconds. - Weight::from_parts(281_210_033, 6756) - // Standard Error: 585 - .saturating_add(Weight::from_parts(328_710, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6802 + r * (6 ±0)` + // Minimum execution time: 267_792_000 picoseconds. + Weight::from_parts(288_465_378, 6802) + // Standard Error: 1_243 + .saturating_add(Weight::from_parts(343_688, 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())) } @@ -848,8 +812,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -859,13 +825,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `885 + r * (14 ±0)` - // Estimated: `6818 + r * (14 ±0)` - // Minimum execution time: 271_858_000 picoseconds. - Weight::from_parts(293_995_797, 6818) - // Standard Error: 2_418 - .saturating_add(Weight::from_parts(1_477_929, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `931 + r * (14 ±0)` + // Estimated: `6864 + r * (14 ±0)` + // Minimum execution time: 272_159_000 picoseconds. + Weight::from_parts(302_289_696, 6864) + // Standard Error: 2_276 + .saturating_add(Weight::from_parts(1_428_313, 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())) } @@ -875,33 +841,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_gas(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `778 + r * (4 ±0)` - // Estimated: `6720 + r * (4 ±0)` - // Minimum execution time: 155_850_000 picoseconds. - Weight::from_parts(166_696_760, 6720) - // Standard Error: 406 - .saturating_add(Weight::from_parts(144_167, 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, 4).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -909,13 +852,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `813 + r * (6 ±0)` - // Estimated: `6757 + r * (6 ±0)` - // Minimum execution time: 250_636_000 picoseconds. - Weight::from_parts(280_298_031, 6757) - // Standard Error: 904 - .saturating_add(Weight::from_parts(275_136, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 266_775_000 picoseconds. + Weight::from_parts(287_679_658, 6803) + // Standard Error: 581 + .saturating_add(Weight::from_parts(293_424, 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())) } @@ -925,8 +868,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -934,13 +879,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `817` - // Estimated: `6757` - // Minimum execution time: 254_897_000 picoseconds. - Weight::from_parts(225_376_740, 6757) - // Standard Error: 24 - .saturating_add(Weight::from_parts(986, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `863` + // Estimated: `6803` + // Minimum execution time: 268_634_000 picoseconds. + Weight::from_parts(227_211_194, 6803) + // Standard Error: 23 + .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -949,8 +894,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -958,13 +905,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `801 + r * (45 ±0)` - // Estimated: `6741 + r * (45 ±0)` - // Minimum execution time: 245_352_000 picoseconds. - Weight::from_parts(272_824_342, 6741) - // Standard Error: 946_718 - .saturating_add(Weight::from_parts(7_323_857, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `847 + r * (45 ±0)` + // Estimated: `6787 + r * (45 ±0)` + // Minimum execution time: 251_473_000 picoseconds. + Weight::from_parts(275_660_459, 6787) + // Standard Error: 878_140 + .saturating_add(Weight::from_parts(11_824_340, 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())) } @@ -974,8 +921,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -983,13 +932,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811` - // Estimated: `6764` - // Minimum execution time: 263_036_000 picoseconds. - Weight::from_parts(274_068_287, 6764) - // Standard Error: 0 - .saturating_add(Weight::from_parts(209, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857` + // Estimated: `6810` + // Minimum execution time: 266_104_000 picoseconds. + Weight::from_parts(281_681_253, 6810) + // Standard Error: 2 + .saturating_add(Weight::from_parts(395, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -998,14 +947,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -1013,17 +962,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `843 + r * (356 ±0)` - // Estimated: `6783 + r * (7781 ±0)` - // Minimum execution time: 252_516_000 picoseconds. - Weight::from_parts(279_325_114, 6783) - // Standard Error: 934_499 - .saturating_add(Weight::from_parts(133_604_685, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(r.into()))) + // Measured: `889 + r * (300 ±0)` + // Estimated: `6829 + r * (7725 ±0)` + // Minimum execution time: 255_286_000 picoseconds. + Weight::from_parts(279_919_891, 6829) + // Standard Error: 900_690 + .saturating_add(Weight::from_parts(127_243_708, 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)) .saturating_add(T::DbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1031,8 +980,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -1042,13 +993,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `892 + r * (10 ±0)` - // Estimated: `6833 + r * (10 ±0)` - // Minimum execution time: 267_643_000 picoseconds. - Weight::from_parts(288_437_123, 6833) - // Standard Error: 1_464 - .saturating_add(Weight::from_parts(1_963_778, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `938 + r * (10 ±0)` + // Estimated: `6879 + r * (10 ±0)` + // Minimum execution time: 273_951_000 picoseconds. + Weight::from_parts(299_138_950, 6879) + // Standard Error: 1_723 + .saturating_add(Weight::from_parts(2_017_149, 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())) } @@ -1058,8 +1009,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1067,13 +1020,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (10 ±0)` - // Estimated: `6756 + r * (10 ±0)` - // Minimum execution time: 253_177_000 picoseconds. - Weight::from_parts(289_366_852, 6756) - // Standard Error: 3_086 - .saturating_add(Weight::from_parts(3_721_716, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `857 + r * (10 ±0)` + // Estimated: `6802 + r * (10 ±0)` + // Minimum execution time: 271_153_000 picoseconds. + Weight::from_parts(286_981_783, 6802) + // Standard Error: 4_221 + .saturating_add(Weight::from_parts(3_756_358, 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())) } @@ -1083,8 +1036,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -1093,15 +1048,15 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `830 + t * (32 ±0)` - // Estimated: `6777 + t * (2508 ±0)` - // Minimum execution time: 269_777_000 picoseconds. - Weight::from_parts(282_461_237, 6777) - // Standard Error: 104_138 - .saturating_add(Weight::from_parts(3_212_141, 0).saturating_mul(t.into())) - // Standard Error: 29 - .saturating_add(Weight::from_parts(850, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `876 + t * (32 ±0)` + // Estimated: `6823 + t * (2508 ±0)` + // Minimum execution time: 272_852_000 picoseconds. + Weight::from_parts(285_096_658, 6823) + // Standard Error: 101_589 + .saturating_add(Weight::from_parts(4_041_027, 0).saturating_mul(t.into())) + // Standard Error: 28 + .saturating_add(Weight::from_parts(869, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -1113,8 +1068,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1122,13 +1079,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (7 ±0)` - // Estimated: `6754 + r * (7 ±0)` - // Minimum execution time: 161_463_000 picoseconds. - Weight::from_parts(175_209_131, 6754) - // Standard Error: 412 - .saturating_add(Weight::from_parts(236_340, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `856 + r * (7 ±0)` + // Estimated: `6800 + r * (7 ±0)` + // Minimum execution time: 165_665_000 picoseconds. + Weight::from_parts(177_070_607, 6800) + // Standard Error: 848 + .saturating_add(Weight::from_parts(254_008, 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())) } @@ -1138,8 +1095,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -1147,13 +1106,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125761` - // Estimated: `131703` - // Minimum execution time: 390_202_000 picoseconds. - Weight::from_parts(366_539_716, 131703) + // Measured: `125807` + // Estimated: `131749` + // Minimum execution time: 545_537_000 picoseconds. + Weight::from_parts(512_888_670, 131749) // Standard Error: 12 - .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(i.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(1_129, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1161,13 +1120,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `878 + r * (292 ±0)` - // Estimated: `876 + r * (293 ±0)` - // Minimum execution time: 262_008_000 picoseconds. - Weight::from_parts(157_764_815, 876) - // Standard Error: 12_764 - .saturating_add(Weight::from_parts(7_067_072, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `924 + r * (292 ±0)` + // Estimated: `922 + r * (293 ±0)` + // Minimum execution time: 271_632_000 picoseconds. + Weight::from_parts(155_864_046, 922) + // Standard Error: 14_016 + .saturating_add(Weight::from_parts(7_231_343, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1178,13 +1137,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1337` - // Estimated: `1313` - // Minimum execution time: 289_607_000 picoseconds. - Weight::from_parts(336_924_770, 1313) - // Standard Error: 60 - .saturating_add(Weight::from_parts(403, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1383` + // Estimated: `1359` + // Minimum execution time: 291_064_000 picoseconds. + Weight::from_parts(337_105_416, 1359) + // Standard Error: 58 + .saturating_add(Weight::from_parts(481, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1192,13 +1151,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1200 + n * (1 ±0)` - // Estimated: `1200 + n * (1 ±0)` - // Minimum execution time: 275_887_000 picoseconds. - Weight::from_parts(301_734_237, 1200) - // Standard Error: 37 - .saturating_add(Weight::from_parts(204, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1246 + n * (1 ±0)` + // Estimated: `1246 + n * (1 ±0)` + // Minimum execution time: 274_814_000 picoseconds. + Weight::from_parts(298_385_310, 1246) + // Standard Error: 29 + .saturating_add(Weight::from_parts(415, 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())) } @@ -1207,13 +1166,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `874 + r * (288 ±0)` - // Estimated: `878 + r * (289 ±0)` - // Minimum execution time: 253_436_000 picoseconds. - Weight::from_parts(157_140_488, 878) - // Standard Error: 13_050 - .saturating_add(Weight::from_parts(6_929_024, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `920 + r * (288 ±0)` + // Estimated: `924 + r * (289 ±0)` + // Minimum execution time: 273_057_000 picoseconds. + Weight::from_parts(148_386_049, 924) + // Standard Error: 16_428 + .saturating_add(Weight::from_parts(7_141_062, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1224,13 +1183,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1196 + n * (1 ±0)` - // Estimated: `1196 + n * (1 ±0)` - // Minimum execution time: 272_714_000 picoseconds. - Weight::from_parts(300_359_254, 1196) - // Standard Error: 35 - .saturating_add(Weight::from_parts(34, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1242 + n * (1 ±0)` + // Estimated: `1242 + n * (1 ±0)` + // Minimum execution time: 273_332_000 picoseconds. + Weight::from_parts(295_930_060, 1242) + // Standard Error: 31 + .saturating_add(Weight::from_parts(354, 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())) } @@ -1239,13 +1198,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868 + r * (296 ±0)` - // Estimated: `873 + r * (297 ±0)` - // Minimum execution time: 252_868_000 picoseconds. - Weight::from_parts(192_325_247, 873) - // Standard Error: 9_612 - .saturating_add(Weight::from_parts(5_614_703, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `914 + r * (296 ±0)` + // Estimated: `919 + r * (297 ±0)` + // Minimum execution time: 255_508_000 picoseconds. + Weight::from_parts(202_288_513, 919) + // Standard Error: 11_736 + .saturating_add(Weight::from_parts(5_872_410, 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)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -1255,13 +1214,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1212 + n * (1 ±0)` - // Estimated: `1212 + n * (1 ±0)` - // Minimum execution time: 275_076_000 picoseconds. - Weight::from_parts(298_464_611, 1212) - // Standard Error: 31 - .saturating_add(Weight::from_parts(691, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1258 + n * (1 ±0)` + // Estimated: `1258 + n * (1 ±0)` + // Minimum execution time: 274_098_000 picoseconds. + Weight::from_parts(298_812_903, 1258) + // Standard Error: 33 + .saturating_add(Weight::from_parts(770, 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())) } @@ -1270,13 +1229,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `889 + r * (288 ±0)` - // Estimated: `890 + r * (289 ±0)` - // Minimum execution time: 271_528_000 picoseconds. - Weight::from_parts(190_055_750, 890) - // Standard Error: 9_295 - .saturating_add(Weight::from_parts(5_481_564, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `935 + r * (288 ±0)` + // Estimated: `936 + r * (289 ±0)` + // Minimum execution time: 270_985_000 picoseconds. + Weight::from_parts(198_745_513, 936) + // Standard Error: 9_769 + .saturating_add(Weight::from_parts(5_679_023, 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)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -1286,13 +1245,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1199 + n * (1 ±0)` - // Estimated: `1199 + n * (1 ±0)` - // Minimum execution time: 272_948_000 picoseconds. - Weight::from_parts(296_828_541, 1199) - // Standard Error: 32 - .saturating_add(Weight::from_parts(224, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1245 + n * (1 ±0)` + // Estimated: `1245 + n * (1 ±0)` + // Minimum execution time: 275_212_000 picoseconds. + Weight::from_parts(297_865_475, 1245) + // Standard Error: 41 + .saturating_add(Weight::from_parts(165, 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())) } @@ -1301,13 +1260,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `862 + r * (296 ±0)` - // Estimated: `869 + r * (297 ±0)` - // Minimum execution time: 261_242_000 picoseconds. - Weight::from_parts(182_730_565, 869) - // Standard Error: 10_598 - .saturating_add(Weight::from_parts(6_955_347, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `908 + r * (296 ±0)` + // Estimated: `915 + r * (297 ±0)` + // Minimum execution time: 271_222_000 picoseconds. + Weight::from_parts(181_055_545, 915) + // Standard Error: 12_939 + .saturating_add(Weight::from_parts(7_235_356, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1318,13 +1277,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1213 + n * (1 ±0)` - // Estimated: `1213 + n * (1 ±0)` - // Minimum execution time: 273_109_000 picoseconds. - Weight::from_parts(296_844_706, 1213) - // Standard Error: 38 - .saturating_add(Weight::from_parts(922, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1259 + n * (1 ±0)` + // Estimated: `1259 + n * (1 ±0)` + // Minimum execution time: 281_420_000 picoseconds. + Weight::from_parts(299_045_390, 1259) + // Standard Error: 32 + .saturating_add(Weight::from_parts(821, 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())) } @@ -1334,8 +1293,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1343,13 +1304,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1406 + r * (45 ±0)` - // Estimated: `7303 + r * (2520 ±0)` - // Minimum execution time: 258_602_000 picoseconds. - Weight::from_parts(292_720_006, 7303) - // Standard Error: 25_954 - .saturating_add(Weight::from_parts(38_220_140, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `1452 + r * (45 ±0)` + // Estimated: `7349 + r * (2520 ±0)` + // Minimum execution time: 268_985_000 picoseconds. + Weight::from_parts(258_815_526, 7349) + // Standard Error: 76_928 + .saturating_add(Weight::from_parts(39_194_351, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -1361,8 +1322,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -1370,13 +1333,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1173 + r * (276 ±0)` - // Estimated: `9365 + r * (2752 ±0)` - // Minimum execution time: 259_809_000 picoseconds. - Weight::from_parts(272_562_000, 9365) - // Standard Error: 99_053 - .saturating_add(Weight::from_parts(238_943_491, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1296 + r * (276 ±0)` + // Estimated: `9481 + r * (2752 ±0)` + // Minimum execution time: 270_243_000 picoseconds. + Weight::from_parts(276_489_000, 9481) + // Standard Error: 218_078 + .saturating_add(Weight::from_parts(244_921_024, 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)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -1388,8 +1351,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:736 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:736 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:736 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -1397,17 +1362,17 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (502 ±0)` - // Estimated: `6760 + r * (2572 ±3)` - // Minimum execution time: 251_738_000 picoseconds. - Weight::from_parts(268_350_000, 6760) - // Standard Error: 114_916 - .saturating_add(Weight::from_parts(233_073_585, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) - .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (572 ±0)` + // Estimated: `6806 + r * (2633 ±3)` + // Minimum execution time: 269_756_000 picoseconds. + Weight::from_parts(276_958_000, 6806) + // Standard Error: 329_526 + .saturating_add(Weight::from_parts(244_799_917, 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)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2633).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1415,8 +1380,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -1425,15 +1392,15 @@ 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: `1187 + t * (204 ±0)` - // Estimated: `12077 + t * (5154 ±0)` - // Minimum execution time: 457_896_000 picoseconds. - Weight::from_parts(87_898_644, 12077) - // Standard Error: 11_813_448 - .saturating_add(Weight::from_parts(343_454_719, 0).saturating_mul(t.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(954, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(11_u64)) + // Measured: `1308 + t * (204 ±0)` + // Estimated: `12198 + t * (5154 ±0)` + // Minimum execution time: 447_384_000 picoseconds. + Weight::from_parts(76_282_150, 12198) + // Standard Error: 11_471_921 + .saturating_add(Weight::from_parts(345_672_945, 0).saturating_mul(t.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_062, 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()))) @@ -1445,30 +1412,30 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:801 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:801 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:801 w:800) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:800 w:800) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1355 + r * (254 ±0)` - // Estimated: `7179 + r * (5205 ±0)` - // Minimum execution time: 648_531_000 picoseconds. - Weight::from_parts(662_333_000, 7179) - // Standard Error: 358_232 - .saturating_add(Weight::from_parts(380_628_577, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(9_u64)) + // Measured: `1383 + r * (251 ±0)` + // Estimated: `7207 + r * (5202 ±0)` + // Minimum execution time: 654_542_000 picoseconds. + Weight::from_parts(668_947_000, 7207) + // Standard Error: 304_229 + .saturating_add(Weight::from_parts(391_849_751, 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)) .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5202).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1476,14 +1443,14 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `t` is `[0, 1]`. @@ -1491,15 +1458,17 @@ 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: `1104 + t * (187 ±0)` - // Estimated: `9525 + t * (2634 ±2)` - // Minimum execution time: 2_264_883_000 picoseconds. - Weight::from_parts(1_359_758_730, 9525) - // Standard Error: 18 - .saturating_add(Weight::from_parts(934, 0).saturating_mul(i.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_068, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(14_u64)) + // Measured: `1131 + t * (187 ±0)` + // Estimated: `9552 + t * (2634 ±2)` + // Minimum execution time: 2_401_006_000 picoseconds. + Weight::from_parts(2_421_761_000, 9552) + // Standard Error: 23_218_535 + .saturating_add(Weight::from_parts(8_343_626, 0).saturating_mul(t.into())) + // Standard Error: 30 + .saturating_add(Weight::from_parts(980, 0).saturating_mul(i.into())) + // Standard Error: 30 + .saturating_add(Weight::from_parts(436, 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()))) @@ -1511,8 +1480,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1520,13 +1491,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (8 ±0)` - // Estimated: `6751 + r * (8 ±0)` - // Minimum execution time: 251_065_000 picoseconds. - Weight::from_parts(273_854_510, 6751) - // Standard Error: 561 - .saturating_add(Weight::from_parts(400_980, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `856 + r * (8 ±0)` + // Estimated: `6797 + r * (8 ±0)` + // Minimum execution time: 268_745_000 picoseconds. + Weight::from_parts(278_689_980, 6797) + // Standard Error: 766 + .saturating_add(Weight::from_parts(427_844, 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())) } @@ -1536,8 +1507,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1545,13 +1518,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `818` - // Estimated: `6758` - // Minimum execution time: 267_547_000 picoseconds. - Weight::from_parts(270_366_853, 6758) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_057, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `864` + // Estimated: `6804` + // Minimum execution time: 271_724_000 picoseconds. + Weight::from_parts(305_192_892, 6804) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_138, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1560,8 +1533,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1569,13 +1544,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `812 + r * (8 ±0)` - // Estimated: `6754 + r * (8 ±0)` - // Minimum execution time: 258_631_000 picoseconds. - Weight::from_parts(283_500_925, 6754) - // Standard Error: 580 - .saturating_add(Weight::from_parts(769_767, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6800 + r * (8 ±0)` + // Minimum execution time: 268_913_000 picoseconds. + Weight::from_parts(280_598_415, 6800) + // Standard Error: 803 + .saturating_add(Weight::from_parts(822_001, 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())) } @@ -1585,8 +1560,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1594,13 +1571,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `820` - // Estimated: `6762` - // Minimum execution time: 254_901_000 picoseconds. - Weight::from_parts(271_698_192, 6762) - // Standard Error: 1 - .saturating_add(Weight::from_parts(3_307, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `866` + // Estimated: `6808` + // Minimum execution time: 275_447_000 picoseconds. + Weight::from_parts(302_199_501, 6808) + // Standard Error: 16 + .saturating_add(Weight::from_parts(3_485, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1609,8 +1586,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1618,13 +1597,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `812 + r * (8 ±0)` - // Estimated: `6757 + r * (8 ±0)` - // Minimum execution time: 251_592_000 picoseconds. - Weight::from_parts(276_726_774, 6757) - // Standard Error: 782 - .saturating_add(Weight::from_parts(454_219, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6803 + r * (8 ±0)` + // Minimum execution time: 264_359_000 picoseconds. + Weight::from_parts(278_018_845, 6803) + // Standard Error: 1_223 + .saturating_add(Weight::from_parts(490_338, 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())) } @@ -1634,8 +1613,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1643,13 +1624,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `820` - // Estimated: `6766` - // Minimum execution time: 253_548_000 picoseconds. - Weight::from_parts(269_388_353, 6766) + // Measured: `866` + // Estimated: `6812` + // Minimum execution time: 271_384_000 picoseconds. + Weight::from_parts(271_570_427, 6812) // Standard Error: 1 - .saturating_add(Weight::from_parts(1_188, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(1_248, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1658,8 +1639,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1667,13 +1650,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `812 + r * (8 ±0)` - // Estimated: `6758 + r * (8 ±0)` - // Minimum execution time: 257_095_000 picoseconds. - Weight::from_parts(278_794_198, 6758) - // Standard Error: 2_136 - .saturating_add(Weight::from_parts(454_483, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6804 + r * (8 ±0)` + // Minimum execution time: 268_152_000 picoseconds. + Weight::from_parts(279_186_990, 6804) + // Standard Error: 1_041 + .saturating_add(Weight::from_parts(481_009, 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())) } @@ -1683,8 +1666,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1692,13 +1677,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 1048576]`. fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `820` - // Estimated: `6760` - // Minimum execution time: 253_356_000 picoseconds. - Weight::from_parts(267_310_090, 6760) + // Measured: `866` + // Estimated: `6806` + // Minimum execution time: 270_990_000 picoseconds. + Weight::from_parts(269_535_847, 6806) // Standard Error: 1 - .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(1_246, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -1707,8 +1692,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1716,13 +1703,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `n` is `[0, 125697]`. fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `945 + n * (1 ±0)` - // Estimated: `6882 + n * (1 ±0)` - // Minimum execution time: 330_103_000 picoseconds. - Weight::from_parts(347_576_489, 6882) - // Standard Error: 8 - .saturating_add(Weight::from_parts(5_745, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `991 + n * (1 ±0)` + // Estimated: `6928 + n * (1 ±0)` + // Minimum execution time: 343_753_000 picoseconds. + Weight::from_parts(354_618_211, 6928) + // Standard Error: 14 + .saturating_add(Weight::from_parts(6_941, 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())) } @@ -1732,8 +1719,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1741,13 +1730,13 @@ 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: `759 + r * (112 ±0)` - // Estimated: `6699 + r * (112 ±0)` - // Minimum execution time: 249_849_000 picoseconds. - Weight::from_parts(295_861_610, 6699) - // Standard Error: 7_897 - .saturating_add(Weight::from_parts(56_326_988, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `801 + r * (112 ±0)` + // Estimated: `6745 + r * (112 ±0)` + // Minimum execution time: 263_647_000 picoseconds. + Weight::from_parts(336_865_938, 6745) + // Standard Error: 14_596 + .saturating_add(Weight::from_parts(56_257_099, 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,8 +1746,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1766,13 +1757,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `854 + r * (76 ±0)` - // Estimated: `6749 + r * (77 ±0)` - // Minimum execution time: 252_437_000 picoseconds. - Weight::from_parts(316_808_420, 6749) - // Standard Error: 13_551 - .saturating_add(Weight::from_parts(45_999_840, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `901 + r * (76 ±0)` + // Estimated: `6795 + r * (77 ±0)` + // Minimum execution time: 265_769_000 picoseconds. + Weight::from_parts(345_077_371, 6795) + // Standard Error: 23_578 + .saturating_add(Weight::from_parts(46_377_379, 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())) } @@ -1782,8 +1773,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1791,13 +1784,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (42 ±0)` - // Estimated: `6764 + r * (42 ±0)` - // Minimum execution time: 265_684_000 picoseconds. - Weight::from_parts(284_413_181, 6764) - // Standard Error: 6_475 - .saturating_add(Weight::from_parts(12_107_021, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `871 + r * (42 ±0)` + // Estimated: `6810 + r * (42 ±0)` + // Minimum execution time: 262_592_000 picoseconds. + Weight::from_parts(320_097_570, 6810) + // Standard Error: 10_719 + .saturating_add(Weight::from_parts(12_125_089, 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())) } @@ -1807,28 +1800,28 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1536 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1536 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1536 w:1536) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:1538 w:1538) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (964 ±0)` - // Estimated: `8223 + r * (3090 ±7)` - // Minimum execution time: 251_196_000 picoseconds. - Weight::from_parts(270_744_000, 8223) - // Standard Error: 40_610 - .saturating_add(Weight::from_parts(22_903_375, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `0 + r * (961 ±0)` + // Estimated: `6801 + r * (3087 ±7)` + // Minimum execution time: 270_276_000 picoseconds. + Weight::from_parts(275_793_000, 6801) + // Standard Error: 98_385 + .saturating_add(Weight::from_parts(27_960_017, 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)) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 3087).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -1836,8 +1829,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -1845,13 +1840,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `806 + r * (3 ±0)` - // Estimated: `6756 + r * (3 ±0)` - // Minimum execution time: 262_805_000 picoseconds. - Weight::from_parts(275_660_655, 6756) - // Standard Error: 380 - .saturating_add(Weight::from_parts(167_290, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `852 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 286_133_000 picoseconds. + Weight::from_parts(329_554_485, 6802) + // Standard Error: 3_537 + .saturating_add(Weight::from_parts(212_808, 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())) } @@ -1861,22 +1856,24 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2008 + r * (39 ±0)` - // Estimated: `7838 + r * (40 ±0)` - // Minimum execution time: 263_232_000 picoseconds. - Weight::from_parts(308_403_848, 7838) - // Standard Error: 695 - .saturating_add(Weight::from_parts(261_716, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(7_u64)) + // Measured: `2092 + r * (39 ±0)` + // Estimated: `7919 + r * (40 ±0)` + // Minimum execution time: 296_623_000 picoseconds. + Weight::from_parts(401_854_182, 7919) + // Standard Error: 5_369 + .saturating_add(Weight::from_parts(338_478, 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())) } @@ -1886,8 +1883,10 @@ impl WeightInfo for SubstrateWeight { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) @@ -1897,13 +1896,13 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 1600]`. fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `809 + r * (3 ±0)` - // Estimated: `6756 + r * (3 ±0)` - // Minimum execution time: 255_952_000 picoseconds. - Weight::from_parts(285_541_315, 6756) - // Standard Error: 459 - .saturating_add(Weight::from_parts(145_305, 0).saturating_mul(r.into())) - .saturating_add(T::DbWeight::get().reads(8_u64)) + // Measured: `855 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 268_462_000 picoseconds. + Weight::from_parts(282_853_753, 6802) + // Standard Error: 470 + .saturating_add(Weight::from_parts(165_217, 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())) } @@ -1912,844 +1911,336 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_405_000 picoseconds. - Weight::from_parts(1_583_300, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(2_743, 0).saturating_mul(r.into())) + // Minimum execution time: 1_321_000 picoseconds. + Weight::from_parts(1_978_697, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(10_472, 0).saturating_mul(r.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64load(r: u32, ) -> Weight { +} + +// For backwards compatibility and tests +impl WeightInfo for () { + /// Storage: Contracts DeletionQueueCounter (r:1 w:0) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + fn on_process_deletion_queue_batch() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_796_000 picoseconds. - Weight::from_parts(2_279_812, 0) - // Standard Error: 7 - .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 2_527_000 picoseconds. + Weight::from_parts(2_654_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64store(r: u32, ) -> Weight { + /// Storage: Skipped Metadata (r:0 w:0) + /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn on_initialize_per_trie_key(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_768_000 picoseconds. - Weight::from_parts(2_274_070, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_647, 0).saturating_mul(r.into())) + // Measured: `451 + k * (69 ±0)` + // Estimated: `441 + k * (70 ±0)` + // Minimum execution time: 12_645_000 picoseconds. + Weight::from_parts(12_957_000, 441) + // Standard Error: 1_101 + .saturating_add(Weight::from_parts(1_232_810, 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)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_select(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:2 w:1) + /// The range of component `c` is `[0, 125952]`. + fn v9_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_396_000 picoseconds. - Weight::from_parts(1_730_388, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(8_918, 0).saturating_mul(r.into())) + // Measured: `211 + c * (1 ±0)` + // Estimated: `6149 + c * (1 ±0)` + // Minimum execution time: 8_502_000 picoseconds. + Weight::from_parts(9_153_988, 6149) + // Standard Error: 0 + .saturating_add(Weight::from_parts(1_344, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_if(r: u32, ) -> Weight { + /// Storage: Contracts ContractInfoOf (r:2 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// 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: `0` - // Estimated: `0` - // Minimum execution time: 1_383_000 picoseconds. - Weight::from_parts(1_473_000, 0) - // Standard Error: 22 - .saturating_add(Weight::from_parts(12_167, 0).saturating_mul(r.into())) + // Measured: `548` + // Estimated: `6488` + // Minimum execution time: 17_524_000 picoseconds. + Weight::from_parts(18_292_000, 6488) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br(r: u32, ) -> Weight { + /// Storage: Contracts DeletionQueue (r:1 w:1025) + /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) + /// Storage: Contracts DeletionQueueCounter (r:0 w:1) + /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// The range of component `k` is `[0, 1024]`. + fn v11_migration_step(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_418_000 picoseconds. - Weight::from_parts(1_490_208, 0) - // Standard Error: 18 - .saturating_add(Weight::from_parts(6_271, 0).saturating_mul(r.into())) + // Measured: `171 + k * (1 ±0)` + // Estimated: `3635 + k * (1 ±0)` + // Minimum execution time: 3_817_000 picoseconds. + Weight::from_parts(3_905_000, 3635) + // Standard Error: 748 + .saturating_add(Weight::from_parts(1_119_397, 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()))) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_if(r: u32, ) -> Weight { + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:0 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn v12_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_396_000 picoseconds. - Weight::from_parts(1_584_684, 0) - // Standard Error: 61 - .saturating_add(Weight::from_parts(8_819, 0).saturating_mul(r.into())) + // Measured: `378 + c * (2 ±0)` + // Estimated: `6313 + c * (2 ±0)` + // Minimum execution time: 23_368_000 picoseconds. + Weight::from_parts(24_566_010, 6313) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_111, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_table(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn migration_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_384_000 picoseconds. - Weight::from_parts(1_501_244, 0) - // Standard Error: 17 - .saturating_add(Weight::from_parts(12_311, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `1627` + // Minimum execution time: 3_234_000 picoseconds. + Weight::from_parts(3_447_000, 1627) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `e` is `[1, 256]`. - fn instr_br_table_per_entry(e: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) + fn migrate() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_433_000 picoseconds. - Weight::from_parts(1_594_462, 0) - // Standard Error: 19 - .saturating_add(Weight::from_parts(29, 0).saturating_mul(e.into())) + // Measured: `166` + // Estimated: `3631` + // Minimum execution time: 12_576_000 picoseconds. + Weight::from_parts(13_279_000, 3631) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_call(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + fn on_runtime_upgrade_noop() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_420_000 picoseconds. - Weight::from_parts(1_602_036, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(17_082, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 4_927_000 picoseconds. + Weight::from_parts(5_214_000, 3607) + .saturating_add(RocksDbWeight::get().reads(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_call_indirect(r: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade_in_progress() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_619_000 picoseconds. - Weight::from_parts(2_069_590, 0) - // Standard Error: 20 - .saturating_add(Weight::from_parts(24_049, 0).saturating_mul(r.into())) + // Measured: `167` + // Estimated: `3632` + // Minimum execution time: 6_597_000 picoseconds. + Weight::from_parts(7_081_000, 3632) + .saturating_add(RocksDbWeight::get().reads(2_u64)) } - /// The range of component `l` is `[0, 1024]`. - fn instr_call_per_local(l: u32, ) -> Weight { + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) + /// Storage: Contracts MigrationInProgress (r:1 w:1) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + fn on_runtime_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_478_000 picoseconds. - Weight::from_parts(1_699_579, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(1_651, 0).saturating_mul(l.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 7_126_000 picoseconds. + Weight::from_parts(7_500_000, 3607) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_get(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn call_with_code_per_byte(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_123_000 picoseconds. - Weight::from_parts(3_200_824, 0) - // Standard Error: 12 - .saturating_add(Weight::from_parts(4_187, 0).saturating_mul(r.into())) + // Measured: `786` + // Estimated: `6735 + c * (1 ±0)` + // Minimum execution time: 301_470_000 picoseconds. + Weight::from_parts(316_666_310, 6735) + // Standard Error: 63 + .saturating_add(Weight::from_parts(38_730, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_set(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:3 w:3) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_121_000 picoseconds. - Weight::from_parts(3_302_628, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_193, 0).saturating_mul(r.into())) + // Measured: `303` + // Estimated: `8745` + // Minimum execution time: 4_141_386_000 picoseconds. + Weight::from_parts(895_525_187, 8745) + // Standard Error: 303 + .saturating_add(Weight::from_parts(75_316, 0).saturating_mul(c.into())) + // Standard Error: 36 + .saturating_add(Weight::from_parts(1_683, 0).saturating_mul(i.into())) + // Standard Error: 36 + .saturating_add(Weight::from_parts(1_867, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(9_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_tee(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:2 w:2) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `i` is `[0, 1048576]`. + /// The range of component `s` is `[0, 1048576]`. + fn instantiate(i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_155_000 picoseconds. - Weight::from_parts(3_359_832, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_829, 0).saturating_mul(r.into())) + // Measured: `503` + // Estimated: `6429` + // Minimum execution time: 2_122_161_000 picoseconds. + Weight::from_parts(341_441_365, 6429) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_925, 0).saturating_mul(i.into())) + // Standard Error: 9 + .saturating_add(Weight::from_parts(1_796, 0).saturating_mul(s.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_get(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System Account (r:1 w:1) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + fn call() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_547_000 picoseconds. - Weight::from_parts(1_899_252, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(8_373, 0).saturating_mul(r.into())) + // Measured: `838` + // Estimated: `6778` + // Minimum execution time: 189_169_000 picoseconds. + Weight::from_parts(199_496_000, 6778) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_set(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// The range of component `c` is `[0, 125952]`. + fn upload_code(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_513_000 picoseconds. - Weight::from_parts(1_892_537, 0) - // Standard Error: 15 - .saturating_add(Weight::from_parts(9_177, 0).saturating_mul(r.into())) + // Measured: `142` + // Estimated: `3607` + // Minimum execution time: 272_416_000 picoseconds. + Weight::from_parts(272_856_243, 3607) + // Standard Error: 204 + .saturating_add(Weight::from_parts(74_266, 0).saturating_mul(c.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_memory_current(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: System EventTopics (r:1 w:1) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// Storage: Contracts PristineCode (r:0 w:1) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + fn remove_code() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_904_000 picoseconds. - Weight::from_parts(2_140_940, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(3_926, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 16]`. - fn instr_memory_grow(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_437_000 picoseconds. - Weight::from_parts(4_481, 0) - // Standard Error: 131_975 - .saturating_add(Weight::from_parts(14_765_592, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64clz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_443_000 picoseconds. - Weight::from_parts(1_596_467, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(4_251, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ctz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_372_000 picoseconds. - Weight::from_parts(1_569_760, 0) - // Standard Error: 7 - .saturating_add(Weight::from_parts(4_777, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64popcnt(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_411_000 picoseconds. - Weight::from_parts(1_642_163, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_241, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eqz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_395_000 picoseconds. - Weight::from_parts(1_726_615, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(4_631, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendsi32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_373_000 picoseconds. - Weight::from_parts(1_620_217, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(4_220, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendui32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_423_000 picoseconds. - Weight::from_parts(1_611_025, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(4_681, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i32wrapi64(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_402_000 picoseconds. - Weight::from_parts(1_616_506, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_247, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eq(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_464_000 picoseconds. - Weight::from_parts(1_641_492, 0) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_262, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ne(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_401_000 picoseconds. - Weight::from_parts(1_673_299, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_741, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64lts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_414_000 picoseconds. - Weight::from_parts(1_615_167, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_767, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ltu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_445_000 picoseconds. - Weight::from_parts(1_687_595, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(6_201, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_415_000 picoseconds. - Weight::from_parts(1_629_044, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_318, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gtu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_377_000 picoseconds. - Weight::from_parts(1_660_178, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64les(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_467_000 picoseconds. - Weight::from_parts(1_619_688, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_761, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64leu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_485_000 picoseconds. - Weight::from_parts(1_619_756, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(6_248, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ges(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_391_000 picoseconds. - Weight::from_parts(1_629_993, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64geu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_413_000 picoseconds. - Weight::from_parts(1_605_123, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64add(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_470_000 picoseconds. - Weight::from_parts(1_699_382, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_736, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64sub(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_394_000 picoseconds. - Weight::from_parts(1_599_038, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(6_325, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64mul(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_422_000 picoseconds. - Weight::from_parts(1_655_350, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_753, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divs(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_407_000 picoseconds. - Weight::from_parts(1_710_195, 0) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_791, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_406_000 picoseconds. - Weight::from_parts(2_022_275, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(5_864, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rems(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_424_000 picoseconds. - Weight::from_parts(1_735_622, 0) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_772, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64remu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_457_000 picoseconds. - Weight::from_parts(1_636_788, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(5_794, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64and(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_423_000 picoseconds. - Weight::from_parts(1_703_832, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(6_158, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64or(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_401_000 picoseconds. - Weight::from_parts(1_653_216, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_754, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64xor(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_419_000 picoseconds. - Weight::from_parts(1_685_121, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_309, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shl(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_395_000 picoseconds. - Weight::from_parts(1_580_918, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_775, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shrs(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_408_000 picoseconds. - Weight::from_parts(1_646_493, 0) - // Standard Error: 9 - .saturating_add(Weight::from_parts(6_237, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shru(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_446_000 picoseconds. - Weight::from_parts(1_633_531, 0) - // Standard Error: 7 - .saturating_add(Weight::from_parts(5_759, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotl(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_478_000 picoseconds. - Weight::from_parts(1_634_023, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_771, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotr(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_389_000 picoseconds. - Weight::from_parts(1_627_867, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(6_175, 0).saturating_mul(r.into())) - } -} - -// For backwards compatibility and tests -impl WeightInfo for () { - /// Storage: Contracts DeletionQueueCounter (r:1 w:0) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - fn on_process_deletion_queue_batch() -> Weight { - // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 2_484_000 picoseconds. - Weight::from_parts(2_620_000, 1627) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - } - /// Storage: Skipped Metadata (r:0 w:0) - /// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn on_initialize_per_trie_key(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `521 + k * (69 ±0)` - // Estimated: `511 + k * (70 ±0)` - // Minimum execution time: 13_405_000 picoseconds. - Weight::from_parts(13_909_000, 511) - // Standard Error: 1_350 - .saturating_add(Weight::from_parts(1_222_889, 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)) - .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) - .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) - } - /// Storage: Contracts PristineCode (r:1 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn reinstrument(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `271 + c * (1 ±0)` - // Estimated: `3741 + c * (1 ±0)` - // Minimum execution time: 31_202_000 picoseconds. - Weight::from_parts(26_528_080, 3741) - // Standard Error: 55 - .saturating_add(Weight::from_parts(55_528, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts CodeStorage (r:2 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn v9_migration_step(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `211 + c * (1 ±0)` - // Estimated: `6147 + c * (1 ±0)` - // Minimum execution time: 8_510_000 picoseconds. - Weight::from_parts(9_274_212, 6147) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_311, 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())) - } - /// Storage: Contracts ContractInfoOf (r:2 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// 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: `577` - // Estimated: `6517` - // Minimum execution time: 17_100_000 picoseconds. - Weight::from_parts(17_720_000, 6517) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts DeletionQueue (r:1 w:1025) - /// Proof: Contracts DeletionQueue (max_values: None, max_size: Some(142), added: 2617, mode: Measured) - /// Storage: Contracts DeletionQueueCounter (r:0 w:1) - /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// The range of component `k` is `[0, 1024]`. - fn v11_migration_step(k: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `171 + k * (1 ±0)` - // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_853_000 picoseconds. - Weight::from_parts(3_951_000, 3635) - // Standard Error: 549 - .saturating_add(Weight::from_parts(1_120_241, 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()))) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) - } - fn v12_migration_step(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_018_000 picoseconds. - Weight::from_parts(26_135_343, 6313) - // Standard Error: 1 - .saturating_add(Weight::from_parts(967, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn migration_noop() -> Weight { - // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `1627` - // Minimum execution time: 3_390_000 picoseconds. - Weight::from_parts(3_503_000, 1627) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:1) - fn migrate() -> Weight { - // Proof Size summary in bytes: - // Measured: `166` - // Estimated: `3631` - // Minimum execution time: 10_321_000 picoseconds. - Weight::from_parts(10_677_000, 3631) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - fn on_runtime_upgrade_noop() -> Weight { - // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 3_717_000 picoseconds. - Weight::from_parts(3_866_000, 3607) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade_in_progress() -> Weight { - // Proof Size summary in bytes: - // Measured: `167` - // Estimated: `3632` - // Minimum execution time: 5_668_000 picoseconds. - Weight::from_parts(5_982_000, 3632) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - } - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) - /// Storage: Contracts MigrationInProgress (r:1 w:1) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - fn on_runtime_upgrade() -> Weight { - // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 5_881_000 picoseconds. - Weight::from_parts(6_048_000, 3607) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `c` is `[0, 125952]`. - fn call_with_code_per_byte(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `740` - // Estimated: `6689 + c * (1 ±0)` - // Minimum execution time: 283_813_000 picoseconds. - Weight::from_parts(315_949_540, 6689) - // Standard Error: 43 - .saturating_add(Weight::from_parts(37_588, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:3 w:3) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate_with_code(c: u32, i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `303` - // Estimated: `8692` - // Minimum execution time: 3_779_981_000 picoseconds. - Weight::from_parts(109_725_752, 8692) - // Standard Error: 464 - .saturating_add(Weight::from_parts(115_486, 0).saturating_mul(c.into())) - // Standard Error: 27 - .saturating_add(Weight::from_parts(1_624, 0).saturating_mul(i.into())) - // Standard Error: 27 - .saturating_add(Weight::from_parts(2_076, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(10_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `i` is `[0, 1048576]`. - /// The range of component `s` is `[0, 1048576]`. - fn instantiate(i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `515` - // Estimated: `6441` - // Minimum execution time: 1_957_086_000 picoseconds. - Weight::from_parts(228_755_581, 6441) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_823, 0).saturating_mul(i.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_773, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(10_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - fn call() -> Weight { - // Proof Size summary in bytes: - // Measured: `792` - // Estimated: `6732` - // Minimum execution time: 194_969_000 picoseconds. - Weight::from_parts(204_325_000, 6732) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// The range of component `c` is `[0, 61717]`. - fn upload_code(c: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `142` - // Estimated: `3607` - // Minimum execution time: 285_076_000 picoseconds. - Weight::from_parts(309_126_292, 3607) - // Standard Error: 77 - .saturating_add(Weight::from_parts(108_132, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1 w:1) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// Storage: Contracts CodeStorage (r:0 w:1) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Contracts PristineCode (r:0 w:1) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - fn remove_code() -> Weight { - // Proof Size summary in bytes: - // Measured: `288` - // Estimated: `3753` - // Minimum execution time: 34_633_000 picoseconds. - Weight::from_parts(35_823_000, 3753) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `255` + // Estimated: `3720` + // Minimum execution time: 33_183_000 picoseconds. + Weight::from_parts(34_686_000, 3720) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:2 w:2) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:2) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `603` - // Estimated: `9018` - // Minimum execution time: 35_640_000 picoseconds. - Weight::from_parts(37_022_000, 9018) + // Measured: `575` + // Estimated: `8990` + // Minimum execution time: 36_344_000 picoseconds. + Weight::from_parts(37_640_000, 8990) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2759,8 +2250,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2768,13 +2261,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `814 + r * (6 ±0)` - // Estimated: `6755 + r * (6 ±0)` - // Minimum execution time: 274_579_000 picoseconds. - Weight::from_parts(293_784_568, 6755) - // Standard Error: 668 - .saturating_add(Weight::from_parts(332_369, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `860 + r * (6 ±0)` + // Estimated: `6801 + r * (6 ±0)` + // Minimum execution time: 271_347_000 picoseconds. + Weight::from_parts(288_868_629, 6801) + // Standard Error: 1_799 + .saturating_add(Weight::from_parts(358_819, 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())) } @@ -2784,8 +2277,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2793,13 +2288,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_is_contract(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `872 + r * (240 ±0)` - // Estimated: `6776 + r * (2715 ±0)` - // Minimum execution time: 258_123_000 picoseconds. - Weight::from_parts(87_353_122, 6776) - // Standard Error: 7_863 - .saturating_add(Weight::from_parts(3_798_056, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `918 + r * (240 ±0)` + // Estimated: `6822 + r * (2715 ±0)` + // Minimum execution time: 280_870_000 picoseconds. + Weight::from_parts(113_105_976, 6822) + // Standard Error: 6_597 + .saturating_add(Weight::from_parts(3_814_903, 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)) .saturating_add(Weight::from_parts(0, 2715).saturating_mul(r.into())) @@ -2810,8 +2305,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1601 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2819,13 +2316,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `864 + r * (244 ±0)` - // Estimated: `6780 + r * (2719 ±0)` - // Minimum execution time: 263_892_000 picoseconds. - Weight::from_parts(95_671_495, 6780) - // Standard Error: 7_751 - .saturating_add(Weight::from_parts(4_621_396, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `910 + r * (244 ±0)` + // Estimated: `6826 + r * (2719 ±0)` + // Minimum execution time: 273_992_000 picoseconds. + Weight::from_parts(95_710_903, 6826) + // Standard Error: 8_337 + .saturating_add(Weight::from_parts(4_641_010, 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)) .saturating_add(Weight::from_parts(0, 2719).saturating_mul(r.into())) @@ -2836,8 +2333,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2845,13 +2344,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_own_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `821 + r * (6 ±0)` - // Estimated: `6763 + r * (6 ±0)` - // Minimum execution time: 256_926_000 picoseconds. - Weight::from_parts(282_224_981, 6763) - // Standard Error: 558 - .saturating_add(Weight::from_parts(437_279, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `867 + r * (6 ±0)` + // Estimated: `6809 + r * (6 ±0)` + // Minimum execution time: 273_748_000 picoseconds. + Weight::from_parts(282_117_406, 6809) + // Standard Error: 683 + .saturating_add(Weight::from_parts(445_043, 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())) } @@ -2861,8 +2360,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2870,13 +2371,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_origin(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (3 ±0)` - // Estimated: `6756 + r * (3 ±0)` - // Minimum execution time: 250_653_000 picoseconds. - Weight::from_parts(275_581_829, 6756) - // Standard Error: 504 - .saturating_add(Weight::from_parts(174_168, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 272_724_000 picoseconds. + Weight::from_parts(281_414_588, 6802) + // Standard Error: 396 + .saturating_add(Weight::from_parts(194_689, 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())) } @@ -2884,8 +2385,10 @@ impl WeightInfo for () { /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2893,13 +2396,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_caller_is_root(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `701 + r * (3 ±0)` - // Estimated: `6641 + r * (3 ±0)` - // Minimum execution time: 252_729_000 picoseconds. - Weight::from_parts(269_519_695, 6641) - // Standard Error: 364 - .saturating_add(Weight::from_parts(149_029, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(6_u64)) + // Measured: `747 + r * (3 ±0)` + // Estimated: `6687 + r * (3 ±0)` + // Minimum execution time: 259_029_000 picoseconds. + Weight::from_parts(269_787_417, 6687) + // Standard Error: 466 + .saturating_add(Weight::from_parts(172_536, 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())) } @@ -2909,8 +2412,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2918,13 +2423,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `815 + r * (6 ±0)` - // Estimated: `6757 + r * (6 ±0)` - // Minimum execution time: 254_003_000 picoseconds. - Weight::from_parts(273_706_638, 6757) - // Standard Error: 636 - .saturating_add(Weight::from_parts(344_795, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `861 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 273_509_000 picoseconds. + Weight::from_parts(287_492_496, 6803) + // Standard Error: 786 + .saturating_add(Weight::from_parts(355_547, 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())) } @@ -2934,8 +2439,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2943,13 +2450,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_gas_left(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (6 ±0)` - // Estimated: `6752 + r * (6 ±0)` - // Minimum execution time: 258_765_000 picoseconds. - Weight::from_parts(285_314_067, 6752) - // Standard Error: 747 - .saturating_add(Weight::from_parts(530_682, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6798 + r * (6 ±0)` + // Minimum execution time: 271_938_000 picoseconds. + Weight::from_parts(288_539_794, 6798) + // Standard Error: 924 + .saturating_add(Weight::from_parts(555_800, 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())) } @@ -2959,8 +2466,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2968,13 +2477,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `955 + r * (6 ±0)` - // Estimated: `6879 + r * (6 ±0)` - // Minimum execution time: 249_124_000 picoseconds. - Weight::from_parts(280_931_810, 6879) - // Standard Error: 1_222 - .saturating_add(Weight::from_parts(1_589_424, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1001 + r * (6 ±0)` + // Estimated: `6925 + r * (6 ±0)` + // Minimum execution time: 270_690_000 picoseconds. + Weight::from_parts(285_352_374, 6925) + // Standard Error: 2_215 + .saturating_add(Weight::from_parts(1_606_595, 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())) } @@ -2984,8 +2493,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -2993,13 +2504,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_value_transferred(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (6 ±0)` - // Estimated: `6774 + r * (6 ±0)` - // Minimum execution time: 262_064_000 picoseconds. - Weight::from_parts(275_109_661, 6774) - // Standard Error: 1_125 - .saturating_add(Weight::from_parts(347_597, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `871 + r * (6 ±0)` + // Estimated: `6820 + r * (6 ±0)` + // Minimum execution time: 262_504_000 picoseconds. + Weight::from_parts(282_508_731, 6820) + // Standard Error: 740 + .saturating_add(Weight::from_parts(363_009, 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())) } @@ -3009,8 +2520,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3018,13 +2531,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_minimum_balance(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `823 + r * (6 ±0)` - // Estimated: `6772 + r * (6 ±0)` - // Minimum execution time: 257_647_000 picoseconds. - Weight::from_parts(282_016_138, 6772) - // Standard Error: 598 - .saturating_add(Weight::from_parts(331_430, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `869 + r * (6 ±0)` + // Estimated: `6818 + r * (6 ±0)` + // Minimum execution time: 270_067_000 picoseconds. + Weight::from_parts(282_977_137, 6818) + // Standard Error: 708 + .saturating_add(Weight::from_parts(340_430, 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())) } @@ -3034,8 +2547,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3043,13 +2558,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_block_number(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `820 + r * (6 ±0)` - // Estimated: `6770 + r * (6 ±0)` - // Minimum execution time: 270_534_000 picoseconds. - Weight::from_parts(282_587_049, 6770) - // Standard Error: 558 - .saturating_add(Weight::from_parts(326_833, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `866 + r * (6 ±0)` + // Estimated: `6816 + r * (6 ±0)` + // Minimum execution time: 270_186_000 picoseconds. + Weight::from_parts(283_961_384, 6816) + // Standard Error: 631 + .saturating_add(Weight::from_parts(351_270, 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())) } @@ -3059,8 +2574,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3068,13 +2585,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_now(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (6 ±0)` - // Estimated: `6756 + r * (6 ±0)` - // Minimum execution time: 265_995_000 picoseconds. - Weight::from_parts(281_210_033, 6756) - // Standard Error: 585 - .saturating_add(Weight::from_parts(328_710, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (6 ±0)` + // Estimated: `6802 + r * (6 ±0)` + // Minimum execution time: 267_792_000 picoseconds. + Weight::from_parts(288_465_378, 6802) + // Standard Error: 1_243 + .saturating_add(Weight::from_parts(343_688, 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())) } @@ -3084,8 +2601,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0) @@ -3095,13 +2614,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_weight_to_fee(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `885 + r * (14 ±0)` - // Estimated: `6818 + r * (14 ±0)` - // Minimum execution time: 271_858_000 picoseconds. - Weight::from_parts(293_995_797, 6818) - // Standard Error: 2_418 - .saturating_add(Weight::from_parts(1_477_929, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `931 + r * (14 ±0)` + // Estimated: `6864 + r * (14 ±0)` + // Minimum execution time: 272_159_000 picoseconds. + Weight::from_parts(302_289_696, 6864) + // Standard Error: 2_276 + .saturating_add(Weight::from_parts(1_428_313, 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())) } @@ -3111,33 +2630,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_gas(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `778 + r * (4 ±0)` - // Estimated: `6720 + r * (4 ±0)` - // Minimum execution time: 155_850_000 picoseconds. - Weight::from_parts(166_696_760, 6720) - // Standard Error: 406 - .saturating_add(Weight::from_parts(144_167, 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, 4).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3145,13 +2641,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_input(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `813 + r * (6 ±0)` - // Estimated: `6757 + r * (6 ±0)` - // Minimum execution time: 250_636_000 picoseconds. - Weight::from_parts(280_298_031, 6757) - // Standard Error: 904 - .saturating_add(Weight::from_parts(275_136, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `859 + r * (6 ±0)` + // Estimated: `6803 + r * (6 ±0)` + // Minimum execution time: 266_775_000 picoseconds. + Weight::from_parts(287_679_658, 6803) + // Standard Error: 581 + .saturating_add(Weight::from_parts(293_424, 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())) } @@ -3161,8 +2657,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3170,13 +2668,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_input_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `817` - // Estimated: `6757` - // Minimum execution time: 254_897_000 picoseconds. - Weight::from_parts(225_376_740, 6757) - // Standard Error: 24 - .saturating_add(Weight::from_parts(986, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `863` + // Estimated: `6803` + // Minimum execution time: 268_634_000 picoseconds. + Weight::from_parts(227_211_194, 6803) + // Standard Error: 23 + .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -3185,8 +2683,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3194,13 +2694,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_return(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `801 + r * (45 ±0)` - // Estimated: `6741 + r * (45 ±0)` - // Minimum execution time: 245_352_000 picoseconds. - Weight::from_parts(272_824_342, 6741) - // Standard Error: 946_718 - .saturating_add(Weight::from_parts(7_323_857, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `847 + r * (45 ±0)` + // Estimated: `6787 + r * (45 ±0)` + // Minimum execution time: 251_473_000 picoseconds. + Weight::from_parts(275_660_459, 6787) + // Standard Error: 878_140 + .saturating_add(Weight::from_parts(11_824_340, 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())) } @@ -3210,8 +2710,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3219,13 +2721,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 1048576]`. fn seal_return_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811` - // Estimated: `6764` - // Minimum execution time: 263_036_000 picoseconds. - Weight::from_parts(274_068_287, 6764) - // Standard Error: 0 - .saturating_add(Weight::from_parts(209, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857` + // Estimated: `6810` + // Minimum execution time: 266_104_000 picoseconds. + Weight::from_parts(281_681_253, 6810) + // Standard Error: 2 + .saturating_add(Weight::from_parts(395, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Contracts MigrationInProgress (r:1 w:0) @@ -3234,14 +2736,14 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts DeletionQueueCounter (r:1 w:1) /// Proof: Contracts DeletionQueueCounter (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// Storage: Contracts DeletionQueue (r:0 w:1) @@ -3249,17 +2751,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1]`. fn seal_terminate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `843 + r * (356 ±0)` - // Estimated: `6783 + r * (7781 ±0)` - // Minimum execution time: 252_516_000 picoseconds. - Weight::from_parts(279_325_114, 6783) - // Standard Error: 934_499 - .saturating_add(Weight::from_parts(133_604_685, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(r.into()))) + // Measured: `889 + r * (300 ±0)` + // Estimated: `6829 + r * (7725 ±0)` + // Minimum execution time: 255_286_000 picoseconds. + Weight::from_parts(279_919_891, 6829) + // Standard Error: 900_690 + .saturating_add(Weight::from_parts(127_243_708, 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)) .saturating_add(RocksDbWeight::get().writes((8_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 7781).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 7725).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3267,8 +2769,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0) @@ -3278,13 +2782,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_random(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `892 + r * (10 ±0)` - // Estimated: `6833 + r * (10 ±0)` - // Minimum execution time: 267_643_000 picoseconds. - Weight::from_parts(288_437_123, 6833) - // Standard Error: 1_464 - .saturating_add(Weight::from_parts(1_963_778, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `938 + r * (10 ±0)` + // Estimated: `6879 + r * (10 ±0)` + // Minimum execution time: 273_951_000 picoseconds. + Weight::from_parts(299_138_950, 6879) + // Standard Error: 1_723 + .saturating_add(Weight::from_parts(2_017_149, 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())) } @@ -3294,8 +2798,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3303,13 +2809,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_deposit_event(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `811 + r * (10 ±0)` - // Estimated: `6756 + r * (10 ±0)` - // Minimum execution time: 253_177_000 picoseconds. - Weight::from_parts(289_366_852, 6756) - // Standard Error: 3_086 - .saturating_add(Weight::from_parts(3_721_716, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `857 + r * (10 ±0)` + // Estimated: `6802 + r * (10 ±0)` + // Minimum execution time: 271_153_000 picoseconds. + Weight::from_parts(286_981_783, 6802) + // Standard Error: 4_221 + .saturating_add(Weight::from_parts(3_756_358, 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())) } @@ -3319,8 +2825,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:6 w:6) @@ -3329,15 +2837,15 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_deposit_event_per_topic_and_byte(t: u32, n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `830 + t * (32 ±0)` - // Estimated: `6777 + t * (2508 ±0)` - // Minimum execution time: 269_777_000 picoseconds. - Weight::from_parts(282_461_237, 6777) - // Standard Error: 104_138 - .saturating_add(Weight::from_parts(3_212_141, 0).saturating_mul(t.into())) - // Standard Error: 29 - .saturating_add(Weight::from_parts(850, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `876 + t * (32 ±0)` + // Estimated: `6823 + t * (2508 ±0)` + // Minimum execution time: 272_852_000 picoseconds. + Weight::from_parts(285_096_658, 6823) + // Standard Error: 101_589 + .saturating_add(Weight::from_parts(4_041_027, 0).saturating_mul(t.into())) + // Standard Error: 28 + .saturating_add(Weight::from_parts(869, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(t.into()))) @@ -3349,8 +2857,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3358,13 +2868,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_debug_message(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `810 + r * (7 ±0)` - // Estimated: `6754 + r * (7 ±0)` - // Minimum execution time: 161_463_000 picoseconds. - Weight::from_parts(175_209_131, 6754) - // Standard Error: 412 - .saturating_add(Weight::from_parts(236_340, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `856 + r * (7 ±0)` + // Estimated: `6800 + r * (7 ±0)` + // Minimum execution time: 165_665_000 picoseconds. + Weight::from_parts(177_070_607, 6800) + // Standard Error: 848 + .saturating_add(Weight::from_parts(254_008, 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())) } @@ -3374,8 +2884,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: MaxEncodedLen) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: MaxEncodedLen) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: MaxEncodedLen) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) /// Storage: System EventTopics (r:2 w:2) @@ -3383,13 +2895,13 @@ impl WeightInfo for () { /// The range of component `i` is `[0, 1048576]`. fn seal_debug_message_per_byte(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `125761` - // Estimated: `131703` - // Minimum execution time: 390_202_000 picoseconds. - Weight::from_parts(366_539_716, 131703) + // Measured: `125807` + // Estimated: `131749` + // Minimum execution time: 545_537_000 picoseconds. + Weight::from_parts(512_888_670, 131749) // Standard Error: 12 - .saturating_add(Weight::from_parts(1_035, 0).saturating_mul(i.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + .saturating_add(Weight::from_parts(1_129, 0).saturating_mul(i.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -3397,13 +2909,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_set_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `878 + r * (292 ±0)` - // Estimated: `876 + r * (293 ±0)` - // Minimum execution time: 262_008_000 picoseconds. - Weight::from_parts(157_764_815, 876) - // Standard Error: 12_764 - .saturating_add(Weight::from_parts(7_067_072, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `924 + r * (292 ±0)` + // Estimated: `922 + r * (293 ±0)` + // Minimum execution time: 271_632_000 picoseconds. + Weight::from_parts(155_864_046, 922) + // Standard Error: 14_016 + .saturating_add(Weight::from_parts(7_231_343, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3414,13 +2926,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_new_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1337` - // Estimated: `1313` - // Minimum execution time: 289_607_000 picoseconds. - Weight::from_parts(336_924_770, 1313) - // Standard Error: 60 - .saturating_add(Weight::from_parts(403, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1383` + // Estimated: `1359` + // Minimum execution time: 291_064_000 picoseconds. + Weight::from_parts(337_105_416, 1359) + // Standard Error: 58 + .saturating_add(Weight::from_parts(481, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -3428,13 +2940,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_set_storage_per_old_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1200 + n * (1 ±0)` - // Estimated: `1200 + n * (1 ±0)` - // Minimum execution time: 275_887_000 picoseconds. - Weight::from_parts(301_734_237, 1200) - // Standard Error: 37 - .saturating_add(Weight::from_parts(204, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1246 + n * (1 ±0)` + // Estimated: `1246 + n * (1 ±0)` + // Minimum execution time: 274_814_000 picoseconds. + Weight::from_parts(298_385_310, 1246) + // Standard Error: 29 + .saturating_add(Weight::from_parts(415, 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())) } @@ -3443,13 +2955,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_clear_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `874 + r * (288 ±0)` - // Estimated: `878 + r * (289 ±0)` - // Minimum execution time: 253_436_000 picoseconds. - Weight::from_parts(157_140_488, 878) - // Standard Error: 13_050 - .saturating_add(Weight::from_parts(6_929_024, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `920 + r * (288 ±0)` + // Estimated: `924 + r * (289 ±0)` + // Minimum execution time: 273_057_000 picoseconds. + Weight::from_parts(148_386_049, 924) + // Standard Error: 16_428 + .saturating_add(Weight::from_parts(7_141_062, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3460,13 +2972,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_clear_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1196 + n * (1 ±0)` - // Estimated: `1196 + n * (1 ±0)` - // Minimum execution time: 272_714_000 picoseconds. - Weight::from_parts(300_359_254, 1196) - // Standard Error: 35 - .saturating_add(Weight::from_parts(34, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1242 + n * (1 ±0)` + // Estimated: `1242 + n * (1 ±0)` + // Minimum execution time: 273_332_000 picoseconds. + Weight::from_parts(295_930_060, 1242) + // Standard Error: 31 + .saturating_add(Weight::from_parts(354, 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())) } @@ -3475,13 +2987,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_get_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `868 + r * (296 ±0)` - // Estimated: `873 + r * (297 ±0)` - // Minimum execution time: 252_868_000 picoseconds. - Weight::from_parts(192_325_247, 873) - // Standard Error: 9_612 - .saturating_add(Weight::from_parts(5_614_703, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `914 + r * (296 ±0)` + // Estimated: `919 + r * (297 ±0)` + // Minimum execution time: 255_508_000 picoseconds. + Weight::from_parts(202_288_513, 919) + // Standard Error: 11_736 + .saturating_add(Weight::from_parts(5_872_410, 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)) .saturating_add(Weight::from_parts(0, 297).saturating_mul(r.into())) @@ -3491,13 +3003,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_get_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1212 + n * (1 ±0)` - // Estimated: `1212 + n * (1 ±0)` - // Minimum execution time: 275_076_000 picoseconds. - Weight::from_parts(298_464_611, 1212) - // Standard Error: 31 - .saturating_add(Weight::from_parts(691, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1258 + n * (1 ±0)` + // Estimated: `1258 + n * (1 ±0)` + // Minimum execution time: 274_098_000 picoseconds. + Weight::from_parts(298_812_903, 1258) + // Standard Error: 33 + .saturating_add(Weight::from_parts(770, 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())) } @@ -3506,13 +3018,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_contains_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `889 + r * (288 ±0)` - // Estimated: `890 + r * (289 ±0)` - // Minimum execution time: 271_528_000 picoseconds. - Weight::from_parts(190_055_750, 890) - // Standard Error: 9_295 - .saturating_add(Weight::from_parts(5_481_564, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `935 + r * (288 ±0)` + // Estimated: `936 + r * (289 ±0)` + // Minimum execution time: 270_985_000 picoseconds. + Weight::from_parts(198_745_513, 936) + // Standard Error: 9_769 + .saturating_add(Weight::from_parts(5_679_023, 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)) .saturating_add(Weight::from_parts(0, 289).saturating_mul(r.into())) @@ -3522,13 +3034,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_contains_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1199 + n * (1 ±0)` - // Estimated: `1199 + n * (1 ±0)` - // Minimum execution time: 272_948_000 picoseconds. - Weight::from_parts(296_828_541, 1199) - // Standard Error: 32 - .saturating_add(Weight::from_parts(224, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1245 + n * (1 ±0)` + // Estimated: `1245 + n * (1 ±0)` + // Minimum execution time: 275_212_000 picoseconds. + Weight::from_parts(297_865_475, 1245) + // Standard Error: 41 + .saturating_add(Weight::from_parts(165, 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())) } @@ -3537,13 +3049,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_take_storage(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `862 + r * (296 ±0)` - // Estimated: `869 + r * (297 ±0)` - // Minimum execution time: 261_242_000 picoseconds. - Weight::from_parts(182_730_565, 869) - // Standard Error: 10_598 - .saturating_add(Weight::from_parts(6_955_347, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `908 + r * (296 ±0)` + // Estimated: `915 + r * (297 ±0)` + // Minimum execution time: 271_222_000 picoseconds. + Weight::from_parts(181_055_545, 915) + // Standard Error: 12_939 + .saturating_add(Weight::from_parts(7_235_356, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3554,13 +3066,13 @@ impl WeightInfo for () { /// The range of component `n` is `[0, 16384]`. fn seal_take_storage_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1213 + n * (1 ±0)` - // Estimated: `1213 + n * (1 ±0)` - // Minimum execution time: 273_109_000 picoseconds. - Weight::from_parts(296_844_706, 1213) - // Standard Error: 38 - .saturating_add(Weight::from_parts(922, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1259 + n * (1 ±0)` + // Estimated: `1259 + n * (1 ±0)` + // Minimum execution time: 281_420_000 picoseconds. + Weight::from_parts(299_045_390, 1259) + // Standard Error: 32 + .saturating_add(Weight::from_parts(821, 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())) } @@ -3570,8 +3082,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) @@ -3579,13 +3093,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 1600]`. fn seal_transfer(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1406 + r * (45 ±0)` - // Estimated: `7303 + r * (2520 ±0)` - // Minimum execution time: 258_602_000 picoseconds. - Weight::from_parts(292_720_006, 7303) - // Standard Error: 25_954 - .saturating_add(Weight::from_parts(38_220_140, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) + // Measured: `1452 + r * (45 ±0)` + // Estimated: `7349 + r * (2520 ±0)` + // Minimum execution time: 268_985_000 picoseconds. + Weight::from_parts(258_815_526, 7349) + // Standard Error: 76_928 + .saturating_add(Weight::from_parts(39_194_351, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) @@ -3597,8 +3111,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:803 w:803) @@ -3606,13 +3122,13 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1173 + r * (276 ±0)` - // Estimated: `9365 + r * (2752 ±0)` - // Minimum execution time: 259_809_000 picoseconds. - Weight::from_parts(272_562_000, 9365) - // Standard Error: 99_053 - .saturating_add(Weight::from_parts(238_943_491, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1296 + r * (276 ±0)` + // Estimated: `9481 + r * (2752 ±0)` + // Minimum execution time: 270_243_000 picoseconds. + Weight::from_parts(276_489_000, 9481) + // Standard Error: 218_078 + .saturating_add(Weight::from_parts(244_921_024, 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)) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) @@ -3624,8 +3140,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:736 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:736 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:736 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:737 w:737) @@ -3633,17 +3151,17 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 800]`. fn seal_delegate_call(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (502 ±0)` - // Estimated: `6760 + r * (2572 ±3)` - // Minimum execution time: 251_738_000 picoseconds. - Weight::from_parts(268_350_000, 6760) - // Standard Error: 114_916 - .saturating_add(Weight::from_parts(233_073_585, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(r.into()))) + // Measured: `0 + r * (572 ±0)` + // Estimated: `6806 + r * (2633 ±3)` + // Minimum execution time: 269_756_000 picoseconds. + Weight::from_parts(276_958_000, 6806) + // Standard Error: 329_526 + .saturating_add(Weight::from_parts(244_799_917, 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)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 2572).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 2633).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3651,8 +3169,10 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:4 w:4) @@ -3661,15 +3181,15 @@ 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: `1187 + t * (204 ±0)` - // Estimated: `12077 + t * (5154 ±0)` - // Minimum execution time: 457_896_000 picoseconds. - Weight::from_parts(87_898_644, 12077) - // Standard Error: 11_813_448 - .saturating_add(Weight::from_parts(343_454_719, 0).saturating_mul(t.into())) - // Standard Error: 17 - .saturating_add(Weight::from_parts(954, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(11_u64)) + // Measured: `1308 + t * (204 ±0)` + // Estimated: `12198 + t * (5154 ±0)` + // Minimum execution time: 447_384_000 picoseconds. + Weight::from_parts(76_282_150, 12198) + // Standard Error: 11_471_921 + .saturating_add(Weight::from_parts(345_672_945, 0).saturating_mul(t.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(1_062, 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()))) @@ -3681,30 +3201,30 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:801 w:801) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:801 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:801 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:801 w:800) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:800 w:800) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:802 w:802) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[1, 800]`. fn seal_instantiate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1355 + r * (254 ±0)` - // Estimated: `7179 + r * (5205 ±0)` - // Minimum execution time: 648_531_000 picoseconds. - Weight::from_parts(662_333_000, 7179) - // Standard Error: 358_232 - .saturating_add(Weight::from_parts(380_628_577, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(9_u64)) + // Measured: `1383 + r * (251 ±0)` + // Estimated: `7207 + r * (5202 ±0)` + // Minimum execution time: 654_542_000 picoseconds. + Weight::from_parts(668_947_000, 7207) + // Standard Error: 304_229 + .saturating_add(Weight::from_parts(391_849_751, 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)) .saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 5205).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 5202).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -3712,330 +3232,36 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:2 w:2) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:2 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:2 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:2 w:1) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: Contracts Nonce (r:1 w:1) /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1 w:1) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) /// Storage: System EventTopics (r:3 w:3) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `t` is `[0, 1]`. - /// The range of component `i` is `[0, 983040]`. - /// The range of component `s` is `[0, 983040]`. - fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1104 + t * (187 ±0)` - // Estimated: `9525 + t * (2634 ±2)` - // Minimum execution time: 2_264_883_000 picoseconds. - Weight::from_parts(1_359_758_730, 9525) - // Standard Error: 18 - .saturating_add(Weight::from_parts(934, 0).saturating_mul(i.into())) - // Standard Error: 18 - .saturating_add(Weight::from_parts(1_068, 0).saturating_mul(s.into())) - .saturating_add(RocksDbWeight::get().reads(14_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())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_sha2_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `810 + r * (8 ±0)` - // Estimated: `6751 + r * (8 ±0)` - // Minimum execution time: 251_065_000 picoseconds. - Weight::from_parts(273_854_510, 6751) - // Standard Error: 561 - .saturating_add(Weight::from_parts(400_980, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `818` - // Estimated: `6758` - // Minimum execution time: 267_547_000 picoseconds. - Weight::from_parts(270_366_853, 6758) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_057, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_keccak_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `812 + r * (8 ±0)` - // Estimated: `6754 + r * (8 ±0)` - // Minimum execution time: 258_631_000 picoseconds. - Weight::from_parts(283_500_925, 6754) - // Standard Error: 580 - .saturating_add(Weight::from_parts(769_767, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `820` - // Estimated: `6762` - // Minimum execution time: 254_901_000 picoseconds. - Weight::from_parts(271_698_192, 6762) - // Standard Error: 1 - .saturating_add(Weight::from_parts(3_307, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_256(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `812 + r * (8 ±0)` - // Estimated: `6757 + r * (8 ±0)` - // Minimum execution time: 251_592_000 picoseconds. - Weight::from_parts(276_726_774, 6757) - // Standard Error: 782 - .saturating_add(Weight::from_parts(454_219, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `820` - // Estimated: `6766` - // Minimum execution time: 253_548_000 picoseconds. - Weight::from_parts(269_388_353, 6766) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_188, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_hash_blake2_128(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `812 + r * (8 ±0)` - // Estimated: `6758 + r * (8 ±0)` - // Minimum execution time: 257_095_000 picoseconds. - Weight::from_parts(278_794_198, 6758) - // Standard Error: 2_136 - .saturating_add(Weight::from_parts(454_483, 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, 8).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 1048576]`. - fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `820` - // Estimated: `6760` - // Minimum execution time: 253_356_000 picoseconds. - Weight::from_parts(267_310_090, 6760) - // Standard Error: 1 - .saturating_add(Weight::from_parts(1_190, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `n` is `[0, 125697]`. - fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `945 + n * (1 ±0)` - // Estimated: `6882 + n * (1 ±0)` - // Minimum execution time: 330_103_000 picoseconds. - Weight::from_parts(347_576_489, 6882) - // Standard Error: 8 - .saturating_add(Weight::from_parts(5_745, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_sr25519_verify(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `759 + r * (112 ±0)` - // Estimated: `6699 + r * (112 ±0)` - // Minimum execution time: 249_849_000 picoseconds. - Weight::from_parts(295_861_610, 6699) - // Standard Error: 7_897 - .saturating_add(Weight::from_parts(56_326_988, 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, 112).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_recover(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `854 + r * (76 ±0)` - // Estimated: `6749 + r * (77 ±0)` - // Minimum execution time: 252_437_000 picoseconds. - Weight::from_parts(316_808_420, 6749) - // Standard Error: 13_551 - .saturating_add(Weight::from_parts(45_999_840, 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, 77).saturating_mul(r.into())) - } - /// Storage: Contracts MigrationInProgress (r:1 w:0) - /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) - /// Storage: Contracts ContractInfoOf (r:1 w:1) - /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: System EventTopics (r:2 w:2) - /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 160]`. - fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { + /// The range of component `t` is `[0, 1]`. + /// The range of component `i` is `[0, 983040]`. + /// The range of component `s` is `[0, 983040]`. + fn seal_instantiate_per_transfer_input_salt_byte(t: u32, i: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `825 + r * (42 ±0)` - // Estimated: `6764 + r * (42 ±0)` - // Minimum execution time: 265_684_000 picoseconds. - Weight::from_parts(284_413_181, 6764) - // Standard Error: 6_475 - .saturating_add(Weight::from_parts(12_107_021, 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, 42).saturating_mul(r.into())) + // Measured: `1131 + t * (187 ±0)` + // Estimated: `9552 + t * (2634 ±2)` + // Minimum execution time: 2_401_006_000 picoseconds. + Weight::from_parts(2_421_761_000, 9552) + // Standard Error: 23_218_535 + .saturating_add(Weight::from_parts(8_343_626, 0).saturating_mul(t.into())) + // Standard Error: 30 + .saturating_add(Weight::from_parts(980, 0).saturating_mul(i.into())) + // Standard Error: 30 + .saturating_add(Weight::from_parts(436, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4043,28 +3269,26 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1536 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts OwnerInfoOf (r:1536 w:1536) - /// Proof: Contracts OwnerInfoOf (max_values: None, max_size: Some(88), added: 2563, mode: Measured) - /// Storage: System EventTopics (r:1538 w:1538) + /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_set_code_hash(r: u32, ) -> Weight { + fn seal_hash_sha2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + r * (964 ±0)` - // Estimated: `8223 + r * (3090 ±7)` - // Minimum execution time: 251_196_000 picoseconds. - Weight::from_parts(270_744_000, 8223) - // Standard Error: 40_610 - .saturating_add(Weight::from_parts(22_903_375, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) - .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into()))) + // Measured: `856 + r * (8 ±0)` + // Estimated: `6797 + r * (8 ±0)` + // Minimum execution time: 268_745_000 picoseconds. + Weight::from_parts(278_689_980, 6797) + // Standard Error: 766 + .saturating_add(Weight::from_parts(427_844, 0).saturating_mul(r.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) - .saturating_add(Weight::from_parts(0, 3090).saturating_mul(r.into())) + .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4072,24 +3296,25 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_reentrance_count(r: u32, ) -> Weight { + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_sha2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `806 + r * (3 ±0)` - // Estimated: `6756 + r * (3 ±0)` - // Minimum execution time: 262_805_000 picoseconds. - Weight::from_parts(275_660_655, 6756) - // Standard Error: 380 - .saturating_add(Weight::from_parts(167_290, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `864` + // Estimated: `6804` + // Minimum execution time: 271_724_000 picoseconds. + Weight::from_parts(305_192_892, 6804) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_138, 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, 3).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4097,24 +3322,26 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) /// The range of component `r` is `[0, 1600]`. - fn seal_account_reentrance_count(r: u32, ) -> Weight { + fn seal_hash_keccak_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2008 + r * (39 ±0)` - // Estimated: `7838 + r * (40 ±0)` - // Minimum execution time: 263_232_000 picoseconds. - Weight::from_parts(308_403_848, 7838) - // Standard Error: 695 - .saturating_add(Weight::from_parts(261_716, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(7_u64)) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6800 + r * (8 ±0)` + // Minimum execution time: 268_913_000 picoseconds. + Weight::from_parts(280_598_415, 6800) + // Standard Error: 803 + .saturating_add(Weight::from_parts(822_001, 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())) + .saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into())) } /// Storage: Contracts MigrationInProgress (r:1 w:0) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -4122,535 +3349,360 @@ impl WeightInfo for () { /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) /// Storage: Contracts ContractInfoOf (r:1 w:1) /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) - /// Storage: Contracts CodeStorage (r:1 w:0) - /// Proof: Contracts CodeStorage (max_values: None, max_size: Some(126001), added: 128476, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) /// Storage: Timestamp Now (r:1 w:0) /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) - /// Storage: Contracts Nonce (r:1 w:1) - /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) /// Storage: System EventTopics (r:2 w:2) /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) - /// The range of component `r` is `[0, 1600]`. - fn seal_instantiation_nonce(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `809 + r * (3 ±0)` - // Estimated: `6756 + r * (3 ±0)` - // Minimum execution time: 255_952_000 picoseconds. - Weight::from_parts(285_541_315, 6756) - // Standard Error: 459 - .saturating_add(Weight::from_parts(145_305, 0).saturating_mul(r.into())) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - .saturating_add(Weight::from_parts(0, 3).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64const(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_405_000 picoseconds. - Weight::from_parts(1_583_300, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(2_743, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64load(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_796_000 picoseconds. - Weight::from_parts(2_279_812, 0) - // Standard Error: 7 - .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64store(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_768_000 picoseconds. - Weight::from_parts(2_274_070, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(6_647, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_select(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_396_000 picoseconds. - Weight::from_parts(1_730_388, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(8_918, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_if(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_383_000 picoseconds. - Weight::from_parts(1_473_000, 0) - // Standard Error: 22 - .saturating_add(Weight::from_parts(12_167, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_418_000 picoseconds. - Weight::from_parts(1_490_208, 0) - // Standard Error: 18 - .saturating_add(Weight::from_parts(6_271, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_if(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_396_000 picoseconds. - Weight::from_parts(1_584_684, 0) - // Standard Error: 61 - .saturating_add(Weight::from_parts(8_819, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_br_table(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_384_000 picoseconds. - Weight::from_parts(1_501_244, 0) - // Standard Error: 17 - .saturating_add(Weight::from_parts(12_311, 0).saturating_mul(r.into())) - } - /// The range of component `e` is `[1, 256]`. - fn instr_br_table_per_entry(e: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_433_000 picoseconds. - Weight::from_parts(1_594_462, 0) - // Standard Error: 19 - .saturating_add(Weight::from_parts(29, 0).saturating_mul(e.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_call(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_420_000 picoseconds. - Weight::from_parts(1_602_036, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(17_082, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_call_indirect(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_619_000 picoseconds. - Weight::from_parts(2_069_590, 0) - // Standard Error: 20 - .saturating_add(Weight::from_parts(24_049, 0).saturating_mul(r.into())) - } - /// The range of component `l` is `[0, 1024]`. - fn instr_call_per_local(l: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_478_000 picoseconds. - Weight::from_parts(1_699_579, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(1_651, 0).saturating_mul(l.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_get(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_123_000 picoseconds. - Weight::from_parts(3_200_824, 0) - // Standard Error: 12 - .saturating_add(Weight::from_parts(4_187, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_set(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_121_000 picoseconds. - Weight::from_parts(3_302_628, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_193, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_local_tee(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 3_155_000 picoseconds. - Weight::from_parts(3_359_832, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_829, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_get(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_547_000 picoseconds. - Weight::from_parts(1_899_252, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(8_373, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_global_set(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_513_000 picoseconds. - Weight::from_parts(1_892_537, 0) - // Standard Error: 15 - .saturating_add(Weight::from_parts(9_177, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_memory_current(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_904_000 picoseconds. - Weight::from_parts(2_140_940, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(3_926, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 16]`. - fn instr_memory_grow(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_437_000 picoseconds. - Weight::from_parts(4_481, 0) - // Standard Error: 131_975 - .saturating_add(Weight::from_parts(14_765_592, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64clz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_443_000 picoseconds. - Weight::from_parts(1_596_467, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(4_251, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ctz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_372_000 picoseconds. - Weight::from_parts(1_569_760, 0) - // Standard Error: 7 - .saturating_add(Weight::from_parts(4_777, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64popcnt(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_411_000 picoseconds. - Weight::from_parts(1_642_163, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_241, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eqz(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_395_000 picoseconds. - Weight::from_parts(1_726_615, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(4_631, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendsi32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_373_000 picoseconds. - Weight::from_parts(1_620_217, 0) - // Standard Error: 1 - .saturating_add(Weight::from_parts(4_220, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64extendui32(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_423_000 picoseconds. - Weight::from_parts(1_611_025, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(4_681, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i32wrapi64(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_402_000 picoseconds. - Weight::from_parts(1_616_506, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(4_247, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64eq(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_464_000 picoseconds. - Weight::from_parts(1_641_492, 0) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_262, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ne(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_401_000 picoseconds. - Weight::from_parts(1_673_299, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_741, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64lts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_414_000 picoseconds. - Weight::from_parts(1_615_167, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_767, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ltu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_445_000 picoseconds. - Weight::from_parts(1_687_595, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(6_201, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gts(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_415_000 picoseconds. - Weight::from_parts(1_629_044, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_318, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64gtu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_377_000 picoseconds. - Weight::from_parts(1_660_178, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64les(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_467_000 picoseconds. - Weight::from_parts(1_619_688, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_761, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64leu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_485_000 picoseconds. - Weight::from_parts(1_619_756, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(6_248, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64ges(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_391_000 picoseconds. - Weight::from_parts(1_629_993, 0) - // Standard Error: 3 - .saturating_add(Weight::from_parts(6_339, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64geu(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_413_000 picoseconds. - Weight::from_parts(1_605_123, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_774, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64add(r: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_470_000 picoseconds. - Weight::from_parts(1_699_382, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_736, 0).saturating_mul(r.into())) - } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64sub(r: u32, ) -> Weight { + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_keccak_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_394_000 picoseconds. - Weight::from_parts(1_599_038, 0) - // Standard Error: 5 - .saturating_add(Weight::from_parts(6_325, 0).saturating_mul(r.into())) + // Measured: `866` + // Estimated: `6808` + // Minimum execution time: 275_447_000 picoseconds. + Weight::from_parts(302_199_501, 6808) + // Standard Error: 16 + .saturating_add(Weight::from_parts(3_485, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64mul(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_256(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_422_000 picoseconds. - Weight::from_parts(1_655_350, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_753, 0).saturating_mul(r.into())) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6803 + r * (8 ±0)` + // Minimum execution time: 264_359_000 picoseconds. + Weight::from_parts(278_018_845, 6803) + // Standard Error: 1_223 + .saturating_add(Weight::from_parts(490_338, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divs(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_256_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_407_000 picoseconds. - Weight::from_parts(1_710_195, 0) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_791, 0).saturating_mul(r.into())) + // Measured: `866` + // Estimated: `6812` + // Minimum execution time: 271_384_000 picoseconds. + Weight::from_parts(271_570_427, 6812) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_248, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64divu(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_hash_blake2_128(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_406_000 picoseconds. - Weight::from_parts(2_022_275, 0) - // Standard Error: 13 - .saturating_add(Weight::from_parts(5_864, 0).saturating_mul(r.into())) + // Measured: `858 + r * (8 ±0)` + // Estimated: `6804 + r * (8 ±0)` + // Minimum execution time: 268_152_000 picoseconds. + Weight::from_parts(279_186_990, 6804) + // Standard Error: 1_041 + .saturating_add(Weight::from_parts(481_009, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rems(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 1048576]`. + fn seal_hash_blake2_128_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_424_000 picoseconds. - Weight::from_parts(1_735_622, 0) - // Standard Error: 8 - .saturating_add(Weight::from_parts(6_772, 0).saturating_mul(r.into())) + // Measured: `866` + // Estimated: `6806` + // Minimum execution time: 270_990_000 picoseconds. + Weight::from_parts(269_535_847, 6806) + // Standard Error: 1 + .saturating_add(Weight::from_parts(1_246, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(8_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64remu(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `n` is `[0, 125697]`. + fn seal_sr25519_verify_per_byte(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_457_000 picoseconds. - Weight::from_parts(1_636_788, 0) - // Standard Error: 4 - .saturating_add(Weight::from_parts(5_794, 0).saturating_mul(r.into())) + // Measured: `991 + n * (1 ±0)` + // Estimated: `6928 + n * (1 ±0)` + // Minimum execution time: 343_753_000 picoseconds. + Weight::from_parts(354_618_211, 6928) + // Standard Error: 14 + .saturating_add(Weight::from_parts(6_941, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64and(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_sr25519_verify(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_423_000 picoseconds. - Weight::from_parts(1_703_832, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(6_158, 0).saturating_mul(r.into())) + // Measured: `801 + r * (112 ±0)` + // Estimated: `6745 + r * (112 ±0)` + // Minimum execution time: 263_647_000 picoseconds. + Weight::from_parts(336_865_938, 6745) + // Standard Error: 14_596 + .saturating_add(Weight::from_parts(56_257_099, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64or(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_401_000 picoseconds. - Weight::from_parts(1_653_216, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_754, 0).saturating_mul(r.into())) + // Measured: `901 + r * (76 ±0)` + // Estimated: `6795 + r * (77 ±0)` + // Minimum execution time: 265_769_000 picoseconds. + Weight::from_parts(345_077_371, 6795) + // Standard Error: 23_578 + .saturating_add(Weight::from_parts(46_377_379, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64xor(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 160]`. + fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_419_000 picoseconds. - Weight::from_parts(1_685_121, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(6_309, 0).saturating_mul(r.into())) + // Measured: `871 + r * (42 ±0)` + // Estimated: `6810 + r * (42 ±0)` + // Minimum execution time: 262_592_000 picoseconds. + Weight::from_parts(320_097_570, 6810) + // Standard Error: 10_719 + .saturating_add(Weight::from_parts(12_125_089, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shl(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1536 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1536 w:1536) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:1538 w:1538) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_set_code_hash(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_395_000 picoseconds. - Weight::from_parts(1_580_918, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_775, 0).saturating_mul(r.into())) + // Measured: `0 + r * (961 ±0)` + // Estimated: `6801 + r * (3087 ±7)` + // Minimum execution time: 270_276_000 picoseconds. + Weight::from_parts(275_793_000, 6801) + // Standard Error: 98_385 + .saturating_add(Weight::from_parts(27_960_017, 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)) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(r.into()))) + .saturating_add(Weight::from_parts(0, 3087).saturating_mul(r.into())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shrs(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_408_000 picoseconds. - Weight::from_parts(1_646_493, 0) - // Standard Error: 9 - .saturating_add(Weight::from_parts(6_237, 0).saturating_mul(r.into())) + // Measured: `852 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 286_133_000 picoseconds. + Weight::from_parts(329_554_485, 6802) + // Standard Error: 3_537 + .saturating_add(Weight::from_parts(212_808, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64shru(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_account_reentrance_count(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_446_000 picoseconds. - Weight::from_parts(1_633_531, 0) - // Standard Error: 7 - .saturating_add(Weight::from_parts(5_759, 0).saturating_mul(r.into())) + // Measured: `2092 + r * (39 ±0)` + // Estimated: `7919 + r * (40 ±0)` + // Minimum execution time: 296_623_000 picoseconds. + Weight::from_parts(401_854_182, 7919) + // Standard Error: 5_369 + .saturating_add(Weight::from_parts(338_478, 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())) } - /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotl(r: u32, ) -> Weight { + /// Storage: Contracts MigrationInProgress (r:1 w:0) + /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: Measured) + /// Storage: Contracts ContractInfoOf (r:1 w:1) + /// Proof: Contracts ContractInfoOf (max_values: None, max_size: Some(290), added: 2765, mode: Measured) + /// Storage: Contracts PristineCode (r:1 w:0) + /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) + /// Storage: Contracts CodeInfoOf (r:1 w:0) + /// Proof: Contracts CodeInfoOf (max_values: None, max_size: Some(89), added: 2564, mode: Measured) + /// Storage: Timestamp Now (r:1 w:0) + /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: Contracts Nonce (r:1 w:1) + /// Proof: Contracts Nonce (max_values: Some(1), max_size: Some(8), added: 503, mode: Measured) + /// Storage: System EventTopics (r:2 w:2) + /// Proof Skipped: System EventTopics (max_values: None, max_size: None, mode: Measured) + /// The range of component `r` is `[0, 1600]`. + fn seal_instantiation_nonce(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 1_478_000 picoseconds. - Weight::from_parts(1_634_023, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(5_771, 0).saturating_mul(r.into())) + // Measured: `855 + r * (3 ±0)` + // Estimated: `6802 + r * (3 ±0)` + // Minimum execution time: 268_462_000 picoseconds. + Weight::from_parts(282_853_753, 6802) + // Standard Error: 470 + .saturating_add(Weight::from_parts(165_217, 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())) } /// The range of component `r` is `[0, 5000]`. - fn instr_i64rotr(r: u32, ) -> Weight { + fn instr_i64const(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_389_000 picoseconds. - Weight::from_parts(1_627_867, 0) - // Standard Error: 10 - .saturating_add(Weight::from_parts(6_175, 0).saturating_mul(r.into())) + // Minimum execution time: 1_321_000 picoseconds. + Weight::from_parts(1_978_697, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(10_472, 0).saturating_mul(r.into())) } } From eba148bc7bb74db7192d6577f48dcd6f4dc71056 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Wed, 21 Jun 2023 17:34:37 +0300 Subject: [PATCH 53/70] scan_imports ported --- frame/contracts/src/wasm/mod.rs | 1 + frame/contracts/src/wasm/prepare.rs | 37 +++++++++++++++-------------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 1d251755a6827..07ca36a5d2c07 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -56,6 +56,7 @@ use wasmi::{ Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, MemoryType, Module, StackLimits, Store, }; + const BYTES_PER_PAGE: usize = 64 * 1024; /// Validated Wasm module ready for execution. diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 7f2a497104fe0..d9fa348444fb2 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -29,9 +29,9 @@ use crate::{ use codec::MaxEncodedLen; use sp_runtime::DispatchError; use sp_std::prelude::*; -use wasm_instrument::parity_wasm::elements::{self, External, Internal, MemoryType, Type}; use wasmi::{ - core::ValueType, Config as WasmiConfig, Engine, FuelConsumptionMode, Module, StackLimits, Store, + core::ValueType, Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, MemoryType, + Module, StackLimits, Store, }; /// Imported memory must be located inside this module. The reason for hardcoding is that current @@ -263,41 +263,42 @@ impl ContractModule { /// and enforces and returns the memory type declared by the contract if any. /// /// `import_fn_banlist`: list of function names that are disallowed to be imported - #[cfg(any(test, feature = "runtime-benchmarks"))] pub fn scan_imports( &self, import_fn_banlist: &[&[u8]], - ) -> Result, &'static str> { + ) -> Result, &'static str> { let module = &self.0; - let import_entries = module.import_section().map(|is| is.entries()).unwrap_or(&[]); + let imports = module.imports(); 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(_) => { + 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.module().as_bytes()[0..4] == b"seal"[0..4] && + 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") } - - if import_fn_banlist.iter().any(|f| import.field().as_bytes() == *f) { + if import_fn_banlist.iter().any(|f| import.name().as_bytes() == *f) { return Err("module imports a banned function") } }, - 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() { return Err("Multiple memory imports defined") } - imported_mem_type = Some(memory_type); + imported_mem_type = Some(mt); continue }, } @@ -360,7 +361,7 @@ where // Below go further checks required by our pallet. contract_module.scan_exports()?; contract_module.scan_imports::(&[])?; - contract_module.ensure_no_internal_memory()?; + //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)?; From ca5938db13e96e5a6bb45298f6f2f04bf3da5e55 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Thu, 22 Jun 2023 16:10:45 +0300 Subject: [PATCH 54/70] scan_export ported, other checks removed --- frame/contracts/fixtures/seal_input_noop.wat | 2 +- frame/contracts/src/wasm/mod.rs | 76 +---- frame/contracts/src/wasm/prepare.rs | 305 ++++++------------- 3 files changed, 109 insertions(+), 274 deletions(-) diff --git a/frame/contracts/fixtures/seal_input_noop.wat b/frame/contracts/fixtures/seal_input_noop.wat index 6c6e87f3396e1..a882645bf455b 100644 --- a/frame/contracts/fixtures/seal_input_noop.wat +++ b/frame/contracts/fixtures/seal_input_noop.wat @@ -1,4 +1,4 @@ -;; Stores a value of the passed size. +;; Stores a value of the passed size () (module (import "seal0" "seal_input" (func $seal_input (param i32 i32))) (import "env" "memory" (memory 1 1)) diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 07ca36a5d2c07..461153b38dc63 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,12 +52,7 @@ use frame_support::{ use sp_core::Get; use sp_runtime::{traits::Hash, RuntimeDebug}; use sp_std::prelude::*; -use wasmi::{ - Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, - MemoryType, Module, StackLimits, Store, -}; - -const BYTES_PER_PAGE: usize = 64 * 1024; +use wasmi::{Instance, Linker, Memory, MemoryType, StackLimits, Store}; /// Validated Wasm module ready for execution. /// This data structure is immutable once created and stored. @@ -204,20 +199,9 @@ impl WasmBlob { 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::Enforced, 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, @@ -229,8 +213,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, @@ -241,12 +226,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")?; @@ -254,50 +240,6 @@ impl WasmBlob { Ok((store, memory, instance)) } - /// Query wasmi for memory limits specified for the import in Wasm module. - pub 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)) - } - /// Put the module blob into storage. /// /// Increments the reference count of the in-storage `WasmBlob`, if it already exists in diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index d9fa348444fb2..5339f994a3fdd 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -30,13 +30,14 @@ use codec::MaxEncodedLen; use sp_runtime::DispatchError; use sp_std::prelude::*; use wasmi::{ - core::ValueType, Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, MemoryType, - Module, StackLimits, Store, + core::ValueType, Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Module, + StackLimits, }; /// 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. pub const IMPORT_MODULE_MEMORY: &str = "env"; +const BYTES_PER_PAGE: usize = 64 * 1024; /// Determines whether a module should be instantiated during preparation. pub enum TryInstantiate { @@ -53,28 +54,33 @@ pub enum TryInstantiate { Skip, } -/// The inner deserialized module is valid (this is guaranteed by `new` method). -pub struct 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, +} -impl ContractModule { - /// Creates a new instance of `ContractModule`. +impl LoadedModule { + /// Creates a new instance of `LoadedModule`. /// /// The inner Wasm module is checked not the have restricted WebAssembly proposals. - /// Returns `Err` if the `code` couldn't be decoded or - /// if it contains an invalid module. - pub fn new(code: &[u8], determinism: Determinism) -> Result { - // TODO DRY as it's (almost) the same as in WasmBlob::instantiate + /// 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 { // 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. + // // NOTE: wasmi does not support unstable WebAssembly features. The module is implicitly - // checked for not having those when creating wasmi::Module below. + // checked for not having those ones when creating `wasmi::Module` below. let mut config = WasmiConfig::default(); config - // TODO shoudnd't we put it to Schedule.limits? - // .set_stack_limits(stack_limits) .wasm_multi_value(false) .wasm_mutable_global(false) .wasm_sign_extension(false) @@ -89,104 +95,19 @@ impl ContractModule { .consume_fuel(true) .fuel_consumption_mode(FuelConsumptionMode::Eager); + if let Some(stack_limits) = stack_limits { + config.set_stack_limits(stack_limits); + } + let engine = Engine::new(&config); let module = Module::new(&engine, code.clone()).map_err(|_| "Validation of new code failed!")?; - // Return a `ContractModule` instance with + // Return a `LoadedModule` instance with // __valid__ module. - Ok(ContractModule(module)) + Ok(LoadedModule { module, engine }) } - /// Ensures that module doesn't declare internal memories. - /// - /// 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. - // TODO we need instantiate the module to check this, first - // 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") - // } - // } - // } - // 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.") - // } - // } - - // Ok(()) - // } - /// Check that the module has required exported functions. For now /// these are just entrypoints: /// @@ -197,53 +118,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 module = &self.module; let exports = module.exports(); - // 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 exports { - match export.name() { - "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 func_ty = export.ty().func().ok_or("expected a function")?; - // TODO add a test where fn_idx could point to an imported fn? - // 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") - // }, - // }; - - // Then check the signature. - // Both "call" and "deploy" has a () -> () function type. - // We still support () -> (i32) for backwards compatibility. - if !(func_ty.params().is_empty() && - (func_ty.results().is_empty() || func_ty.results() == [ValueType::I32])) - { - return Err("entry point has wrong signature") + 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" has a () -> () function type. + // We still support () -> (i32) for backwards compatibility. + if !(ft.params().is_empty() && + (ft.results().is_empty() || ft.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"), } } @@ -259,17 +159,29 @@ 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. + /// This makes sure that the import section looks as we expect it from a contract. + /// Makes sure the limits of the memory type declared by the contract comply with the Schedule. + /// Returns the checked memory limits back to caller. + /// + /// `import_fn_banlist`: list of function names that are disallowed to be imported. + /// + /// This method fails if: /// - /// `import_fn_banlist`: list of function names that are disallowed to be imported + /// - banned function found among imports, + /// - tables or globals found among imports, + /// - call_chain_extension host function is imported, while chain extensions are disabled, + /// - no valid memory import found in the module, + /// + /// NOTE that only single memory instance is allowed for contract modules, which is enforced by + /// this check combined with multi_memory proposal disabling in the engine. pub fn scan_imports( &self, import_fn_banlist: &[&[u8]], - ) -> Result, &'static str> { - let module = &self.0; + schedule: &Schedule, + ) -> Result<(u32, u32), &'static str> { + let module = &self.module; let imports = module.imports(); - let mut imported_mem_type = None; + let mut memory_limits = None; for import in imports { match *import.ty() { @@ -295,44 +207,34 @@ impl ContractModule { 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(mt); + // 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) - } - - // fn into_wasm_code(self) -> Result, &'static str> { - // elements::serialize(self.0).map_err(|_| "error serializing contract module") - // } -} -#[cfg(any(test, feature = "runtime-benchmarks"))] -pub 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") } } @@ -357,20 +259,10 @@ where let code = (|| { // We check that the module is generally valid, // and does not have restricted WebAssembly features, here. - let contract_module = ContractModule::new::(code, determinism)?; - // Below go further checks required by our pallet. + let contract_module = LoadedModule::new::(code, determinism, None)?; + // Checks that module satisfies constraints required for 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. - // TODO: there is no way to serialize wasmi::Module? - // let code = contract_module.into_wasm_code()?; + contract_module.scan_imports::(&[], schedule)?; Ok(code.to_vec()) })() .map_err(|msg: &str| { @@ -398,13 +290,14 @@ where (Error::::CodeRejected.into(), "New code rejected on wasmi instantiation!") })?; } + Ok(code) } /// 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 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. @@ -432,7 +325,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 }; Ok(WasmBlob { code, code_info }) @@ -447,21 +339,22 @@ 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 determinism = Determinism::Enforced; + let contract_module = LoadedModule::new(&code, determinism, None)?; + let _ = contract_module.scan_imports::(&[], schedule)?; let code = 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, }; Ok(WasmBlob { code, code_info }) } From c2c3d9b3c55ecac9cbc3fcbacb98159f4d8fcdab Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Thu, 22 Jun 2023 17:15:46 +0300 Subject: [PATCH 55/70] tests fixed tests fixed --- frame/contracts/fixtures/dummy.wat | 1 + .../contracts/fixtures/float_instruction.wat | 1 + ...tract.wat => invalid_contract_no_call.wat} | 1 + .../fixtures/invalid_contract_no_memory.wat | 5 + frame/contracts/fixtures/run_out_of_gas.wat | 1 + frame/contracts/src/benchmarking/code.rs | 25 +- frame/contracts/src/benchmarking/sandbox.rs | 5 +- frame/contracts/src/lib.rs | 2 + frame/contracts/src/tests.rs | 36 ++- frame/contracts/src/wasm/mod.rs | 29 +- frame/contracts/src/wasm/prepare.rs | 272 +++++------------- 11 files changed, 151 insertions(+), 227 deletions(-) rename frame/contracts/fixtures/{invalid_contract.wat => invalid_contract_no_call.wat} (68%) create mode 100644 frame/contracts/fixtures/invalid_contract_no_memory.wat 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 5e1b88f74d853..4d499d95ad91b 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -31,8 +31,8 @@ use sp_std::{borrow::ToOwned, prelude::*}; use wasm_instrument::parity_wasm::{ builder, elements::{ - self, BlockType, CustomSection, External, FuncBody, Instruction, Instructions, Module, - Section, ValueType, + self, BlockType, CustomSection, External, FuncBody, Instruction, Instructions, MemoryType, + Module, Section, ValueType, }, }; @@ -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(); - } + // Evety 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 ef5a602dae175..ed5787b595e28 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 4a45664d3f819..c937e3b807665 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -217,7 +217,6 @@ impl ChainExtension for TestExtension { u32::decode(&mut enc).map_err(|_| Error::::ContractTrapped)?.into(), 0, ); - println!("Charging from extension: {:?}", &weight); env.charge_weight(weight)?; Ok(RetVal::Converging(id)) }, @@ -2056,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, ); }); } @@ -4420,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 to 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), @@ -4450,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" + ); }); } @@ -5118,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 461153b38dc63..259d75fd36a3f 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -181,7 +181,7 @@ impl WasmBlob { /// Returns `0` if the module is already in storage and hence no deposit will /// be charged when storing it. pub fn open_deposit(&self, code_info: CodeInfo) -> BalanceOf { - >::try_get(self.code_hash()).map_or(code_info.deposit, |_| 0u32.into()) + Self::load_code_info(self.code_hash()).map_or(code_info.deposit, |_| 0u32.into()) } /// Creates and returns an instance of the supplied code. @@ -193,13 +193,14 @@ 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 contract = LoadedModule::new::(&code, Determinism::Enforced, Some(stack_limits))?; + 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( @@ -346,6 +347,17 @@ impl WasmBlob { } }) } + + /// Load code_info for the code_hash. + /// + /// # Errors + /// + /// [`Error::CodeInfoNotFound`] is returned if no stored code_info found for the specified + /// `code_hash`. + fn load_code_info(code_hash: CodeHash) -> Result, DispatchError> { + >::get(code_hash).ok_or(Error::::CodeInfoNotFound.into()) + } + /// See [`Self::from_code_unchecked`]. #[cfg(feature = "runtime-benchmarks")] pub fn store_code_unchecked( @@ -420,6 +432,7 @@ impl Executable for WasmBlob { code, runtime, &schedule, + self.code_info.determinism, StackLimits::default(), match function { ExportedFunction::Call => AllowDeprecatedInterface::Yes, @@ -3265,6 +3278,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 @@ -3295,6 +3310,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")) ) @@ -3315,6 +3332,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")) ) @@ -3322,6 +3341,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")) ) @@ -3329,6 +3350,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")) ) @@ -3336,6 +3359,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 5339f994a3fdd..b042f85f5fed6 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -21,7 +21,6 @@ use crate::{ chain_extension::ChainExtension, - ensure, storage::meter::Diff, wasm::{runtime::AllowDeprecatedInterface, CodeInfo, Determinism, Environment, WasmBlob}, AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, @@ -101,7 +100,7 @@ impl LoadedModule { let engine = Engine::new(&config); let module = - Module::new(&engine, code.clone()).map_err(|_| "Validation of new code failed!")?; + Module::new(&engine, code.clone()).map_err(|_| "Can't load the module to wasmi!")?; // Return a `LoadedModule` instance with // __valid__ module. @@ -133,7 +132,7 @@ impl LoadedModule { ), } // Check the signature. - // Both "call" and "deploy" has a () -> () function type. + // 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() == [ValueType::I32])) @@ -189,15 +188,15 @@ impl LoadedModule { ExternType::Global(_) => return Err("Cannot import globals"), ExternType::Func(_) => { let _ = import.ty().func().ok_or("expected a function")?; + if !::ChainExtension::enabled() && - import.module().as_bytes()[0..4] == b"seal"[0..4] && 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") } if import_fn_banlist.iter().any(|f| import.name().as_bytes() == *f) { - return Err("module imports a banned function") + return Err("Module imports a banned function") } }, ExternType::Memory(mt) => { @@ -225,7 +224,7 @@ impl LoadedModule { ) } if maximum > schedule.limits.memory_pages { - return Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule.") + return Err("Maximum number of memory pages should not exceed the maximum configured in the Schedule") } memory_limits = Some((initial, maximum)); @@ -244,29 +243,27 @@ impl LoadedModule { /// 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. -/// -/// On success it returns back the code. fn validate( code: &[u8], schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result, (DispatchError, &'static str)> +) -> Result<(), (DispatchError, &'static str)> where E: Environment<()>, T: Config, { - let 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)?; // Checks that module satisfies constraints required for contracts. contract_module.scan_exports()?; contract_module.scan_imports::(&[], schedule)?; - Ok(code.to_vec()) + 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) })?; @@ -282,6 +279,7 @@ where &code, (), schedule, + determinism, stack_limits, AllowDeprecatedInterface::No, ) @@ -291,7 +289,7 @@ where })?; } - Ok(code) + Ok(()) } /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: @@ -312,13 +310,7 @@ where E: Environment<()>, T: Config, { - let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; - let err = |_| (>::CodeTooLarge.into(), "Validation enlarged the code size!"); - let checked_code: CodeVec = checked_code.try_into().map_err(err)?; - ensure!( - code == checked_code, - (>::CodeRejected.into(), "Validation altered the code!") - ); + validate::(code.as_ref(), schedule, determinism, try_instantiate)?; // Calculate deposit for storing contract code and `code_info` in two different storage items. let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; @@ -346,7 +338,7 @@ pub mod benchmarking { owner: AccountIdOf, ) -> Result, DispatchError> { let determinism = Determinism::Enforced; - let contract_module = LoadedModule::new(&code, determinism, None)?; + let contract_module = LoadedModule::new::(&code, determinism, None)?; let _ = contract_module.scan_imports::(&[], schedule)?; let code = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { @@ -451,108 +443,9 @@ mod tests { ) (func (export "deploy")) )"#, - Err("Validation of new code failed!") + Err("Can't load the module to 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::*; @@ -579,7 +472,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("module declares internal memory") + Err("No memory import found in the module") ); prepare_test!( @@ -591,7 +484,7 @@ mod tests { (func (export "call")) (func (export "deploy")) )"#, - Ok(_) + Err("No memory import found in the module") ); prepare_test!( @@ -604,7 +497,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module to wasmi!") ); prepare_test!( @@ -630,7 +523,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!( @@ -643,7 +536,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("New code rejected on wasmi instantiation!") + Err("Memory import must have the field name 'memory'") ); prepare_test!( @@ -657,7 +550,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module to wasmi!") ); prepare_test!( @@ -670,7 +563,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("New code rejected on wasmi instantiation!") + Err("Cannot import tables") ); prepare_test!( @@ -682,17 +575,20 @@ mod tests { (func (export "deploy")) ) "#, - Err("New code rejected on wasmi instantiation!") + Err("Cannot import globals") ); } - mod tables { + mod imports { use super::*; prepare_test!( - no_tables, + can_import_legit_function, r#" (module + (import "seal0" "nop" (func (param i64))) + (import "env" "memory" (memory 1 1)) + (func (export "call")) (func (export "deploy")) ) @@ -700,69 +596,41 @@ mod tests { Ok(_) ); + // memory is in "env" and not in "seal0" prepare_test!( - table_valid_size, + memory_not_in_seal0, r#" (module - (table 3 funcref) + (import "seal0" "memory" (memory 1 1)) (func (export "call")) (func (export "deploy")) ) "#, - Ok(_) + Err("Invalid module for imported memory") ); + // Memory is in "env" and not in some arbitrary module prepare_test!( - table_too_big, + memory_not_in_arbitrary_module, r#" (module - (table 4 funcref) - - (func (export "call")) - (func (export "deploy")) - )"#, - Err("table exceeds maximum size allowed") - ); + (import "any_module" "memory" (memory 1 1)) - 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(_) + Err("Invalid module for imported memory") ); prepare_test!( - br_table_too_big, + function_in_other_module_works, 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::*; + (import "seal1" "nop" (func (param i32))) + (import "env" "memory" (memory 1 1)) - prepare_test!( - can_import_legit_function, - r#" - (module - (import "seal0" "nop" (func (param i64))) (func (export "call")) (func (export "deploy")) @@ -771,26 +639,26 @@ mod tests { Ok(_) ); - // memory is in "env" and not in "seal0" prepare_test!( - memory_not_in_seal0, + unknown_func_name, r#" (module - (import "seal0" "memory" (memory 1 1)) + (import "seal0" "unknown_func" (func)) (func (export "call")) (func (export "deploy")) ) "#, - Err("New code rejected on wasmi instantiation!") + Err("No memory import found in the module") ); - // memory is in "env" and not in some arbitrary module + // Try to import function from not a "seal*" module. prepare_test!( - memory_not_in_arbitrary_module, + try_import_from_wrong_module, r#" (module - (import "any_module" "memory" (memory 1 1)) + (import "env" "panic" (func)) + (import "env" "memory" (memory 1 1)) (func (export "call")) (func (export "deploy")) @@ -798,46 +666,32 @@ mod tests { "#, Err("New code rejected on wasmi instantiation!") ); + } - prepare_test!( - function_in_other_module_works, - r#" - (module - (import "seal1" "nop" (func (param i32))) - - (func (export "call")) - (func (export "deploy")) - ) - "#, - Ok(_) - ); + mod entrypoints { + use super::*; prepare_test!( - unknown_func_name, + it_works, r#" (module - (import "seal0" "unknown_func" (func)) - + (import "env" "memory" (memory 1 1)) (func (export "call")) (func (export "deploy")) ) "#, - Err("New code rejected on wasmi instantiation!") + Ok(_) ); - } - - mod entrypoints { - use super::*; prepare_test!( - it_works, + omit_memory, r#" (module (func (export "call")) (func (export "deploy")) ) "#, - Ok(_) + Err("No memory import found in the module") ); prepare_test!( @@ -861,21 +715,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#" @@ -884,7 +740,7 @@ mod tests { (global (export "call") i32 (i32.const 0)) ) "#, - Err("expected a function") + Err("global export is forbidden") ); prepare_test!( @@ -907,7 +763,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!( @@ -919,7 +775,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module to wasmi!") ); prepare_test!( @@ -931,7 +787,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module to wasmi!") ); prepare_test!( @@ -943,7 +799,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module to wasmi!") ); prepare_test!( @@ -955,7 +811,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Validation of new code failed!") + Err("Can't load the module to wasmi!") ); } } From 56dc2dfe8cc0ed90023242d6fd2bf5b63186551e Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 23 Jun 2023 18:04:23 +0300 Subject: [PATCH 56/70] drop wasmparser and parity-wasm dependencies --- Cargo.lock | 1 - frame/contracts/Cargo.toml | 7 +++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 97d2a24db6f1a..9ae0fba2889da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6349,7 +6349,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 4b17131e72924..6c4474ccca04c 100644 --- a/frame/contracts/Cargo.toml +++ b/frame/contracts/Cargo.toml @@ -21,16 +21,15 @@ codec = { package = "parity-scale-codec", version = "3.2.2", 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"] From 086e219316828a39129851a28effa6ab520cccf8 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 27 Jun 2023 11:14:40 +0300 Subject: [PATCH 57/70] typo fix --- frame/contracts/src/benchmarking/code.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 4d499d95ad91b..0866e7f32ddee 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -31,7 +31,7 @@ use sp_std::{borrow::ToOwned, prelude::*}; use wasm_instrument::parity_wasm::{ builder, elements::{ - self, BlockType, CustomSection, External, FuncBody, Instruction, Instructions, MemoryType, + self, BlockType, CustomSection, External, FuncBody, Instruction, Instructions, Module, Section, ValueType, }, }; @@ -163,7 +163,7 @@ impl From for WasmModule { } // Grant access to linear memory. - // Evety contract module is required to have an imported memory. + // 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 { From 254497292a17bd45401a40bb9fcf030ddb732ee5 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 27 Jun 2023 12:03:27 +0300 Subject: [PATCH 58/70] addressing review comments --- frame/contracts/fixtures/seal_input_noop.wat | 2 +- frame/contracts/fixtures/seal_input_once.wat | 2 +- frame/contracts/fixtures/seal_input_twice.wat | 2 +- frame/contracts/proc-macro/src/lib.rs | 8 ++-- frame/contracts/src/benchmarking/code.rs | 48 ------------------- frame/contracts/src/gas.rs | 7 +-- frame/contracts/src/lib.rs | 9 ++-- frame/contracts/src/migration/v12.rs | 3 +- frame/contracts/src/wasm/mod.rs | 21 +++++--- 9 files changed, 30 insertions(+), 72 deletions(-) diff --git a/frame/contracts/fixtures/seal_input_noop.wat b/frame/contracts/fixtures/seal_input_noop.wat index 6c6e87f3396e1..7b5a1e32af4d6 100644 --- a/frame/contracts/fixtures/seal_input_noop.wat +++ b/frame/contracts/fixtures/seal_input_noop.wat @@ -1,4 +1,4 @@ -;; Stores a value of the passed size. +;; Everything prepared for the host function call, but no call is performed. (module (import "seal0" "seal_input" (func $seal_input (param i32 i32))) (import "env" "memory" (memory 1 1)) diff --git a/frame/contracts/fixtures/seal_input_once.wat b/frame/contracts/fixtures/seal_input_once.wat index e138c1ade83a0..919a03a9b6903 100644 --- a/frame/contracts/fixtures/seal_input_once.wat +++ b/frame/contracts/fixtures/seal_input_once.wat @@ -1,4 +1,4 @@ -;; Stores a value of the passed size. +;; Stores a value of the passed size. The host function is called once. (module (import "seal0" "seal_input" (func $seal_input (param i32 i32))) (import "env" "memory" (memory 1 1)) diff --git a/frame/contracts/fixtures/seal_input_twice.wat b/frame/contracts/fixtures/seal_input_twice.wat index 31457d3b998d6..3a8be814efb04 100644 --- a/frame/contracts/fixtures/seal_input_twice.wat +++ b/frame/contracts/fixtures/seal_input_twice.wat @@ -1,4 +1,4 @@ -;; Stores a value of the passed size. +;; Stores a value of the passed size. The host function is called twice. (module (import "seal0" "seal_input" (func $seal_input (param i32 i32))) (import "env" "memory" (memory 1 1)) diff --git a/frame/contracts/proc-macro/src/lib.rs b/frame/contracts/proc-macro/src/lib.rs index db806c07364c9..b31403c29adfd 100644 --- a/frame/contracts/proc-macro/src/lib.rs +++ b/frame/contracts/proc-macro/src/lib.rs @@ -681,7 +681,7 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) __caller__.fuel_consumed().expect("Fuel metering is enabled; qed"); let gas_meter = __caller__.data_mut().ext().gas_meter_mut(); gas_meter - .sync_fuel(engine_consumed_total) + .charge_fuel(engine_consumed_total) .map_err(TrapReason::from) .map_err(#into_host)? .ref_time() @@ -722,10 +722,8 @@ fn expand_functions(def: &EnvDef, expand_blocks: bool, host_state: TokenStream2) #allow_unused linker.define(#module, #name, ::wasmi::Func::wrap(&mut*store, |mut __caller__: ::wasmi::Caller<#host_state>, #( #params, )*| -> #wasm_output { #sync_gas_before - let result = { - let mut func = #inner; - func().map_err(#into_host).map(::core::convert::Into::into) - }; + let mut func = #inner; + let result = func().map_err(#into_host).map(::core::convert::Into::into); #sync_gas_after result }))?; diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 5e1b88f74d853..69e651bbddd28 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -368,38 +368,14 @@ pub mod body { /// various ways in which this can happen. // Not all variants are used in the current benchmarks, // but they could be used in future benchmarks. Hence keeping them with the attribute. - #[allow(dead_code)] pub enum DynInstr { /// Insert the associated instruction. Regular(Instruction), /// Insert a I32Const with incrementing value for each insertion. /// (start_at, increment_by) Counter(u32, u32), - /// Insert a I32Const with a random value in [low, high) not divisible by two. - /// (low, high) - RandomUnaligned(u32, u32), - /// Insert a I32Const with a random value in [low, high). - /// (low, high) - RandomI32(i32, i32), - /// Insert the specified amount of I32Const with a random value. - RandomI32Repeated(usize), /// Insert the specified amount of I64Const with a random value. RandomI64Repeated(usize), - /// Insert a GetLocal with a random offset in [low, high). - /// (low, high) - RandomGetLocal(u32, u32), - /// Insert a SetLocal with a random offset in [low, high). - /// (low, high) - RandomSetLocal(u32, u32), - /// Insert a TeeLocal with a random offset in [low, high). - /// (low, high) - RandomTeeLocal(u32, u32), - /// Insert a GetGlobal with a random offset in [low, high). - /// (low, high) - RandomGetGlobal(u32, u32), - /// Insert a SetGlobal with a random offset in [low, high). - /// (low, high) - RandomSetGlobal(u32, u32), } pub fn plain(instructions: Vec) -> FuncBody { @@ -436,32 +412,8 @@ pub mod body { *offset += *increment_by; vec![Instruction::I32Const(current as i32)] }, - DynInstr::RandomUnaligned(low, high) => { - let unaligned = rng.gen_range(*low..*high) | 1; - vec![Instruction::I32Const(unaligned as i32)] - }, - DynInstr::RandomI32(low, high) => { - vec![Instruction::I32Const(rng.gen_range(*low..*high))] - }, - DynInstr::RandomI32Repeated(num) => - (&mut rng).sample_iter(Standard).take(*num).map(Instruction::I32Const).collect(), DynInstr::RandomI64Repeated(num) => (&mut rng).sample_iter(Standard).take(*num).map(Instruction::I64Const).collect(), - DynInstr::RandomGetLocal(low, high) => { - vec![Instruction::GetLocal(rng.gen_range(*low..*high))] - }, - DynInstr::RandomSetLocal(low, high) => { - vec![Instruction::SetLocal(rng.gen_range(*low..*high))] - }, - DynInstr::RandomTeeLocal(low, high) => { - vec![Instruction::TeeLocal(rng.gen_range(*low..*high))] - }, - DynInstr::RandomGetGlobal(low, high) => { - vec![Instruction::GetGlobal(rng.gen_range(*low..*high))] - }, - DynInstr::RandomSetGlobal(low, high) => { - vec![Instruction::SetGlobal(rng.gen_range(*low..*high))] - }, }) .chain(sp_std::iter::once(Instruction::End)) .collect(); diff --git a/frame/contracts/src/gas.rs b/frame/contracts/src/gas.rs index d7cb0a9b392b8..7d17642d92e54 100644 --- a/frame/contracts/src/gas.rs +++ b/frame/contracts/src/gas.rs @@ -195,10 +195,11 @@ impl GasMeter { /// /// Returns the updated `gas_left` `Weight` value from the meter. /// Normally this would never fail, as engine should fail first when out of gas. - pub fn sync_fuel(&mut self, wasmi_fuel: u64) -> Result { - let wasmi_fuel = wasmi_fuel.saturating_sub(self.engine_consumed); + pub fn charge_fuel(&mut self, wasmi_fuel_total: u64) -> Result { + // Take the part consumed since the last update. + let wasmi_fuel = wasmi_fuel_total.saturating_sub(self.engine_consumed); if !wasmi_fuel.is_zero() { - self.engine_consumed += wasmi_fuel; + self.engine_consumed = wasmi_fuel_total; let reftime_consumed = wasmi_fuel.saturating_mul(T::Schedule::get().instruction_weights.base as u64); let ref_time_left = self diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index ef5a602dae175..a975acfd5ce74 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -945,11 +945,11 @@ pub mod pallet { NoMigrationPerformed, } - /// A mapping from an original code hash to the original code. + /// A mapping from a contract's code hash to its code. #[pallet::storage] pub(crate) type PristineCode = StorageMap<_, Identity, CodeHash, CodeVec>; - /// A mapping between an original code hash and its owner information. + /// A mapping from a contract's code hash to its code info. #[pallet::storage] pub(crate) type CodeInfoOf = StorageMap<_, Identity, CodeHash, CodeInfo>; @@ -1247,12 +1247,11 @@ impl Invokable for InstantiateInput { .map(|buffer| buffer.try_extend(&mut msg.bytes())); err })?; - let code_info = executable.code_info.clone(); // The open deposit will be charged during execution when the // uploaded module does not already exist. This deposit is not part of the // storage meter because it is not transferred to the contract but // reserved on the uploading account. - (executable.open_deposit(code_info), executable) + (executable.open_deposit(&executable.code_info()), executable) }, Code::Existing(hash) => (Default::default(), WasmBlob::from_storage(*hash, &mut gas_meter)?), @@ -1439,7 +1438,7 @@ impl Pallet { let module = WasmBlob::from_code(code, &schedule, origin, determinism, TryInstantiate::Instantiate) .map_err(|(err, _)| err)?; - let deposit = module.open_deposit(module.code_info.clone()); + let deposit = module.open_deposit(&module.code_info()); if let Some(storage_deposit_limit) = storage_deposit_limit { ensure!(storage_deposit_limit >= deposit, >::StorageDepositLimitExhausted); } diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index e6988a103e43c..909b5aae09a58 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -32,7 +32,7 @@ use sp_core::hexdisplay::HexDisplay; #[cfg(feature = "try-runtime")] use sp_runtime::TryRuntimeError; use sp_runtime::{traits::Zero, FixedPointNumber, FixedU128, Saturating}; -use sp_std::{marker::PhantomData, prelude::*}; +use sp_std::prelude::*; mod old { use super::*; @@ -112,7 +112,6 @@ pub fn store_old_dummy_code(len: usize, account: T::AccountId) { #[derive(Encode, Decode, MaxEncodedLen, DefaultNoBound)] pub struct Migration { last_code_hash: Option>, - _phantom: PhantomData, } impl MigrationStep for Migration { diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 1d251755a6827..97a70a2826280 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -67,7 +67,7 @@ pub struct WasmBlob { code: CodeVec, // This isn't needed for contract execution and is not stored alongside it. #[codec(skip)] - pub code_info: CodeInfo, + code_info: CodeInfo, } /// Contract code related data, such as: @@ -183,9 +183,13 @@ impl WasmBlob { /// Returns whether there is a deposit to be paid for this module. /// /// Returns `0` if the module is already in storage and hence no deposit will - /// be charged when storing it. - pub fn open_deposit(&self, code_info: CodeInfo) -> BalanceOf { - >::try_get(self.code_hash()).map_or(code_info.deposit, |_| 0u32.into()) + /// be charged for storing it. + pub fn open_deposit(&self, code_info: &CodeInfo) -> BalanceOf { + if >::contains_key(self.code_hash()) { + 0u32.into() + } else { + code_info.deposit + } } /// Creates and returns an instance of the supplied code. @@ -297,6 +301,11 @@ impl WasmBlob { Ok((initial, maximum)) } + /// Getter method for the code_info. + pub fn code_info(&self) -> &CodeInfo { + &self.code_info + } + /// Put the module blob into storage. /// /// Increments the reference count of the in-storage `WasmBlob`, if it already exists in @@ -420,7 +429,7 @@ impl WasmBlob { /// /// This is useful for benchmarking where we don't want validation of the module to skew /// our results. This also does not collect any deposit from the `owner`. Also useful - /// during testing when we want to deploy codes that do not pass the instantiation checks. + /// during testing when we want to deploy codes that do not pass the instantiation checks. #[cfg(any(test, feature = "runtime-benchmarks"))] fn from_code_unchecked( code: Vec, @@ -520,7 +529,7 @@ impl Executable for WasmBlob { let engine_consumed_total = store.fuel_consumed().expect("Fuel metering is enabled; qed"); // Sync this frame's gas meter with the engine's one. let gas_meter = store.data_mut().ext().gas_meter_mut(); - gas_meter.sync_fuel(engine_consumed_total)?; + gas_meter.charge_fuel(engine_consumed_total)?; store.into_data().to_execution_result(result) } From 387bec97807627ebd3d39388898a41a85e06331c Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 27 Jun 2023 14:16:58 +0300 Subject: [PATCH 59/70] refactor --- frame/contracts/src/exec.rs | 15 +++++++++------ frame/contracts/src/lib.rs | 2 +- frame/contracts/src/wasm/mod.rs | 16 +++++++++------- frame/contracts/src/wasm/prepare.rs | 9 ++++++--- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 2f5a9f6087ce6..80e2ab9c10248 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -363,7 +363,7 @@ pub trait Executable: Sized { ) -> ExecResult; /// The code hash of the executable. - fn code_hash(&self) -> CodeHash; + fn code_hash(&self) -> &CodeHash; /// Size of the contract code in bytes. fn code_len(&self) -> u32; @@ -764,7 +764,7 @@ where input_data, salt, ); - let contract = ContractInfo::new(&account_id, nonce, executable.code_hash())?; + let contract = ContractInfo::new(&account_id, nonce, *executable.code_hash())?; ( account_id, contract, @@ -844,8 +844,11 @@ where fn run(&mut self, executable: E, input_data: Vec) -> Result { let frame = self.top_frame(); let entry_point = frame.entry_point; - let delegated_code_hash = - if frame.delegate_caller.is_some() { Some(executable.code_hash()) } else { None }; + let delegated_code_hash = if frame.delegate_caller.is_some() { + Some(executable.code_hash().clone()) + } else { + None + }; let do_transaction = || { // We need to charge the storage deposit before the initial transfer so that // it can create the account in case the initial transfer is < ed. @@ -1626,8 +1629,8 @@ mod tests { } } - fn code_hash(&self) -> CodeHash { - self.code_hash + fn code_hash(&self) -> &CodeHash { + &self.code_hash } fn code_len(&self) -> u32 { diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index a975acfd5ce74..5e17d9350c1fc 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -1442,7 +1442,7 @@ impl Pallet { if let Some(storage_deposit_limit) = storage_deposit_limit { ensure!(storage_deposit_limit >= deposit, >::StorageDepositLimitExhausted); } - let result = CodeUploadReturnValue { code_hash: module.code_hash(), deposit }; + let result = CodeUploadReturnValue { code_hash: *module.code_hash(), deposit }; module.store()?; Ok(result) } diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 97a70a2826280..dd19d6f5462a2 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -50,7 +50,7 @@ use frame_support::{ traits::ReservableCurrency, }; use sp_core::Get; -use sp_runtime::{traits::Hash, RuntimeDebug}; +use sp_runtime::RuntimeDebug; use sp_std::prelude::*; use wasmi::{ Config as WasmiConfig, Engine, ExternType, FuelConsumptionMode, Instance, Linker, Memory, @@ -68,6 +68,9 @@ pub struct WasmBlob { // This isn't needed for contract execution and is not stored alongside it. #[codec(skip)] code_info: CodeInfo, + // This is for not calculating the hash every time we need it. + #[codec(skip)] + code_hash: CodeHash, } /// Contract code related data, such as: @@ -311,7 +314,7 @@ impl WasmBlob { /// Increments the reference count of the in-storage `WasmBlob`, if it already exists in /// storage. fn store_code(mut module: Self, instantiated: bool) -> DispatchResult { - let code_hash = &module.code_hash(); + let code_hash = &module.code_hash().clone(); >::mutate(code_hash, |stored_code_info| { match stored_code_info { // Instantiate existing contract. @@ -429,7 +432,7 @@ impl WasmBlob { /// /// This is useful for benchmarking where we don't want validation of the module to skew /// our results. This also does not collect any deposit from the `owner`. Also useful - /// during testing when we want to deploy codes that do not pass the instantiation checks. + /// during testing when we want to deploy codes that do not pass the instantiation checks. #[cfg(any(test, feature = "runtime-benchmarks"))] fn from_code_unchecked( code: Vec, @@ -454,14 +457,13 @@ impl Executable for WasmBlob { gas_meter: &mut GasMeter, ) -> Result { let code = Self::load_code(code_hash, gas_meter)?; - let code_hash = T::Hashing::hash(&code); // We store `code_info` at the same time as contract code, // therefore this query shouldn't really fail. // We consider its failure equal to `CodeNotFound`, as contract code without // `code_info` is unusable in this pallet. let code_info = >::get(code_hash).ok_or(Error::::CodeNotFound)?; - Ok(Self { code, code_info }) + Ok(Self { code, code_info, code_hash }) } fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { @@ -534,8 +536,8 @@ impl Executable for WasmBlob { store.into_data().to_execution_result(result) } - fn code_hash(&self) -> CodeHash { - T::Hashing::hash(&self.code) + fn code_hash(&self) -> &CodeHash { + &self.code_hash } fn code_len(&self) -> u32 { diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 5e6d8ba13f7cc..76c60825df676 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -27,7 +27,7 @@ use crate::{ AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, }; use codec::MaxEncodedLen; -use sp_runtime::DispatchError; +use sp_runtime::{traits::Hash, DispatchError}; use sp_std::prelude::*; use wasm_instrument::parity_wasm::elements::{ self, External, Internal, MemoryType, Type, ValueType, @@ -433,8 +433,9 @@ where .charge_or_zero(); let code_info = CodeInfo { owner, deposit, determinism, refcount: 0 }; + let code_hash = T::Hashing::hash(&code); - Ok(WasmBlob { code, code_info }) + Ok(WasmBlob { code, code_info, code_hash }) } /// Alternate (possibly unsafe) preparation functions used only for benchmarking and testing. @@ -454,6 +455,7 @@ pub mod benchmarking { ) -> 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 code_info = CodeInfo { owner, @@ -462,7 +464,8 @@ pub mod benchmarking { refcount: 0, determinism: Determinism::Enforced, }; - Ok(WasmBlob { code, code_info }) + + Ok(WasmBlob { code, code_info, code_hash }) } } From 8be0537318a96f518654f8a68f7b4de056b18ba8 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Thu, 29 Jun 2023 17:35:53 +0300 Subject: [PATCH 60/70] address review comments --- frame/contracts/src/benchmarking/code.rs | 9 ---- frame/contracts/src/migration/v12.rs | 2 +- frame/contracts/src/tests.rs | 1 - frame/contracts/src/wasm/mod.rs | 2 +- frame/contracts/src/wasm/prepare.rs | 52 ++++++++++-------------- frame/contracts/src/wasm/runtime.rs | 9 ++-- 6 files changed, 27 insertions(+), 48 deletions(-) diff --git a/frame/contracts/src/benchmarking/code.rs b/frame/contracts/src/benchmarking/code.rs index 69e651bbddd28..027c17c1d69fe 100644 --- a/frame/contracts/src/benchmarking/code.rs +++ b/frame/contracts/src/benchmarking/code.rs @@ -366,8 +366,6 @@ pub mod body { /// When generating contract code by repeating a Wasm sequence, it's sometimes necessary /// to change those instructions on each repetition. The variants of this enum describe /// various ways in which this can happen. - // Not all variants are used in the current benchmarks, - // but they could be used in future benchmarks. Hence keeping them with the attribute. pub enum DynInstr { /// Insert the associated instruction. Regular(Instruction), @@ -419,13 +417,6 @@ pub mod body { .collect(); FuncBody::new(Vec::new(), Instructions::new(body)) } - - /// Replace the locals of the supplied `body` with `num` i64 locals. - #[allow(dead_code)] - pub fn inject_locals(body: &mut FuncBody, num: u32) { - use self::elements::Local; - *body.locals_mut() = vec![Local::new(num, ValueType::I64)]; - } } /// The maximum amount of pages any contract is allowed to have according to the current `Schedule`. diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 909b5aae09a58..c74a769cd6ab7 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -215,7 +215,7 @@ impl MigrationStep for Migration { #[cfg(feature = "try-runtime")] fn pre_upgrade_step() -> Result, TryRuntimeError> { - let len = 5; + let len = 100; log::debug!(target: LOG_TARGET, "Taking sample of {} OwnerInfo(s)", len); let sample: Vec<_> = old::OwnerInfoOf::::iter() .take(len) diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index 4a45664d3f819..1347e83ac9a5c 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -217,7 +217,6 @@ impl ChainExtension for TestExtension { u32::decode(&mut enc).map_err(|_| Error::::ContractTrapped)?.into(), 0, ); - println!("Charging from extension: {:?}", &weight); env.charge_weight(weight)?; Ok(RetVal::Converging(id)) }, diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index dd19d6f5462a2..8c7fea3d3edb3 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -261,7 +261,7 @@ impl WasmBlob { } /// Query wasmi for memory limits specified for the import in Wasm module. - pub fn get_memory_limits( + fn get_memory_limits( imports: wasmi::ModuleImportsIter, schedule: &Schedule, ) -> Result<(u32, u32), &'static str> { diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 76c60825df676..dd2245d4d1e8a 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -21,7 +21,6 @@ use crate::{ chain_extension::ChainExtension, - ensure, storage::meter::Diff, wasm::{runtime::AllowDeprecatedInterface, CodeInfo, Determinism, Environment, WasmBlob}, AccountIdOf, CodeVec, Config, Error, Schedule, LOG_TARGET, @@ -239,12 +238,7 @@ impl ContractModule { /// /// 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. - /// - /// `import_fn_banlist`: list of function names that are disallowed to be imported - pub fn scan_imports( - &self, - import_fn_banlist: &[&[u8]], - ) -> Result, &'static str> { + 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; @@ -259,10 +253,6 @@ impl ContractModule { { return Err("module uses chain extensions but chain extensions are disabled") } - - if import_fn_banlist.iter().any(|f| import.field().as_bytes() == *f) { - return Err("module imports a banned function") - } }, External::Memory(ref memory_type) => { if import.module() != IMPORT_MODULE_MEMORY { @@ -282,13 +272,9 @@ impl ContractModule { Ok(imported_mem_type) } - - fn into_wasm_code(self) -> Result, &'static str> { - elements::serialize(self.0).map_err(|_| "error serializing contract module") - } } #[cfg(any(test, feature = "runtime-benchmarks"))] -pub fn get_memory_limits( +fn get_memory_limits( module: Option<&MemoryType>, schedule: &Schedule, ) -> Result<(u32, u32), &'static str> { @@ -320,7 +306,7 @@ fn validate( schedule: &Schedule, determinism: Determinism, try_instantiate: TryInstantiate, -) -> Result, (DispatchError, &'static str)> +) -> Result<(), (DispatchError, &'static str)> where E: Environment<()>, T: Config, @@ -357,10 +343,10 @@ where (Error::::CodeRejected.into(), "Validation of new code failed!") })?; - let code = (|| { + (|| { let contract_module = ContractModule::new(code)?; contract_module.scan_exports()?; - contract_module.scan_imports::(&[])?; + 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)?; @@ -369,8 +355,7 @@ where 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. - let code = contract_module.into_wasm_code()?; - Ok(code) + Ok(()) })() .map_err(|msg: &str| { log::debug!(target: LOG_TARGET, "New code rejected: {}", msg); @@ -397,7 +382,7 @@ where (Error::::CodeRejected.into(), "New code rejected on wasmi instantiation!") })?; } - Ok(code) + Ok(()) } /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: @@ -418,13 +403,7 @@ where E: Environment<()>, T: Config, { - let checked_code = validate::(code.as_ref(), schedule, determinism, try_instantiate)?; - let err = |_| (>::CodeTooLarge.into(), "Validation enlarged the code size!"); - let checked_code: CodeVec = checked_code.try_into().map_err(err)?; - ensure!( - code == checked_code, - (>::CodeRejected.into(), "Validation altered the code!") - ); + validate::(code.as_ref(), schedule, determinism, try_instantiate)?; // Calculate deposit for storing contract code and `code_info` in two different storage items. let bytes_added = code.len().saturating_add(>::max_encoded_len()) as u32; @@ -454,7 +433,7 @@ pub mod benchmarking { owner: AccountIdOf, ) -> Result, DispatchError> { let contract_module = ContractModule::new(&code)?; - let _ = get_memory_limits(contract_module.scan_imports::(&[])?, schedule)?; + 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 code_info = CodeInfo { @@ -921,6 +900,19 @@ mod tests { Ok(_) ); + prepare_test!( + wrong_signature, + r#" + (module + (import "seal0" "input" (func (param i64))) + + (func (export "call")) + (func (export "deploy")) + ) + "#, + Err("New code rejected on wasmi instantiation!") + ); + prepare_test!( unknown_func_name, r#" diff --git a/frame/contracts/src/wasm/runtime.rs b/frame/contracts/src/wasm/runtime.rs index a191f9858995d..8aaa822f73b85 100644 --- a/frame/contracts/src/wasm/runtime.rs +++ b/frame/contracts/src/wasm/runtime.rs @@ -492,12 +492,9 @@ impl<'a, E: Ext + 'a> Runtime<'a, E> { Err(wasmi::Error::Store(_)) => Err(Error::::OutOfGas.into()), // Contract either trapped or some host function aborted the execution. Err(wasmi::Error::Trap(trap)) => { - if let Some(code) = trap.trap_code() { - match code { - // `OutOfGas` during engine execution. - OutOfFuel => return Err(Error::::OutOfGas.into()), - _ => (), - } + if let Some(OutOfFuel) = trap.trap_code() { + // `OutOfGas` during engine execution. + return Err(Error::::OutOfGas.into()) } // If we encoded a reason then it is some abort generated by a host function. if let Some(reason) = &trap.downcast_ref::() { From ffdb8d1f05f80a4c282c38bba74e7c24498ff666 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Fri, 30 Jun 2023 14:31:22 +0300 Subject: [PATCH 61/70] optimize migration --- frame/contracts/src/migration/v12.rs | 32 +++++++++++----------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index c74a769cd6ab7..30cf6da1e7161 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -123,28 +123,22 @@ impl MigrationStep for Migration { fn step(&mut self) -> (IsFinished, Weight) { let mut iter = if let Some(last_key) = self.last_code_hash.take() { - PristineCode::::iter_from(PristineCode::::hashed_key_for(last_key)) + old::OwnerInfoOf::::iter_from(old::OwnerInfoOf::::hashed_key_for(last_key)) } else { - PristineCode::::iter() + old::OwnerInfoOf::::iter() }; - if let Some((hash, code)) = iter.next() { - let old = old::OwnerInfoOf::::take(hash) - .expect(format!("OwnerInfo for code_hash {:?} not found!", hash).as_str()); - + if let Some((hash, old_info)) = iter.next() { log::debug!(target: LOG_TARGET, "Migrating OwnerInfo for code_hash {:?}", hash); let module = old::CodeStorage::::take(hash) .expect(format!("No PrefabWasmModule found for code_hash: {:?}", hash).as_str()); + let code_len = module.code.len(); // We print this to measure the impact of the migration. // Storage removed: deleted PrefabWasmModule's encoded len. // Storage added: determinism field encoded len (as all other CodeInfo fields are the // same as in the deleted OwnerInfo). - log::debug!( - target: LOG_TARGET, - "Storage removed: 1 item, {} bytes", - module.encoded_size().saturating_sub(Determinism::max_encoded_len()) - ); + log::debug!(target: LOG_TARGET, "Storage removed: 1 item, {} bytes", &code_len,); // Storage usage prices could change over time, and accounts who uploaded their // conctracts code before the storage deposits where introduced, had not been ever @@ -162,16 +156,16 @@ impl MigrationStep for Migration { let price_per_item = T::DepositPerItem::get(); let bytes_before = module .encoded_size() - .saturating_add(code.len()) + .saturating_add(code_len) .saturating_add(old::OwnerInfo::::max_encoded_len()) as u32; let items_before = 3u32; let deposit_expected_before = price_per_byte .saturating_mul(bytes_before.into()) .saturating_add(price_per_item.saturating_mul(items_before.into())); - let ratio = FixedU128::checked_from_rational(old.deposit, deposit_expected_before) + let ratio = FixedU128::checked_from_rational(old_info.deposit, deposit_expected_before) .unwrap_or_default() .min(FixedU128::from_u32(1)); - let bytes_after = code.len().saturating_add(CodeInfo::::max_encoded_len()) as u32; + let bytes_after = code_len.saturating_add(CodeInfo::::max_encoded_len()) as u32; let items_after = 2u32; let deposit_expected_after = price_per_byte .saturating_mul(bytes_after.into()) @@ -180,12 +174,12 @@ impl MigrationStep for Migration { let info = CodeInfo:: { determinism: module.determinism, - owner: old.owner, + owner: old_info.owner, deposit, - refcount: old.refcount, + refcount: old_info.refcount, }; - let amount = old.deposit.saturating_sub(info.deposit); + let amount = old_info.deposit.saturating_sub(info.deposit); if !amount.is_zero() { T::Currency::unreserve(&info.owner, amount); log::debug!( @@ -199,14 +193,14 @@ impl MigrationStep for Migration { target: LOG_TARGET, "new deposit: {:?} >= old deposit: {:?}", &info.deposit, - &old.deposit + &old_info.deposit ); } CodeInfoOf::::insert(hash, info); self.last_code_hash = Some(hash); - (IsFinished::No, T::WeightInfo::v12_migration_step(code.len() as u32)) + (IsFinished::No, T::WeightInfo::v12_migration_step(code_len as u32)) } else { log::debug!(target: LOG_TARGET, "No more OwnerInfo to migrate"); (IsFinished::Yes, T::WeightInfo::v12_migration_step(0)) From f4dad0fe9ad260c2f1fd3befd7edb01c4cf5a49f Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Fri, 30 Jun 2023 13:44:05 +0000 Subject: [PATCH 62/70] ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 1216 ++++++++++++++++---------------- 1 file changed, 606 insertions(+), 610 deletions(-) diff --git a/frame/contracts/src/weights.rs b/frame/contracts/src/weights.rs index 958832dd66b52..691e3a25840c2 100644 --- a/frame/contracts/src/weights.rs +++ b/frame/contracts/src/weights.rs @@ -18,9 +18,9 @@ //! Autogenerated weights for pallet_contracts //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-06-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! 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 // Executed Command: @@ -137,8 +137,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_527_000 picoseconds. - Weight::from_parts(2_654_000, 1627) + // Minimum execution time: 2_489_000 picoseconds. + Weight::from_parts(2_592_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_645_000 picoseconds. - Weight::from_parts(12_957_000, 441) - // Standard Error: 1_101 - .saturating_add(Weight::from_parts(1_232_810, 0).saturating_mul(k.into())) + // 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())) .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_502_000 picoseconds. - Weight::from_parts(9_153_988, 6149) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_344, 0).saturating_mul(c.into())) + // 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())) .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())) @@ -181,8 +181,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_524_000 picoseconds. - Weight::from_parts(18_292_000, 6488) + // Minimum execution time: 17_966_000 picoseconds. + Weight::from_parts(18_805_000, 6488) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -195,19 +195,17 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_817_000 picoseconds. - Weight::from_parts(3_905_000, 3635) - // Standard Error: 748 - .saturating_add(Weight::from_parts(1_119_397, 0).saturating_mul(k.into())) + // 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())) .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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:2 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:2 w:0) /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) /// Storage: System Account (r:1 w:0) @@ -217,15 +215,15 @@ impl WeightInfo for SubstrateWeight { /// The range of component `c` is `[0, 125952]`. fn v12_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_368_000 picoseconds. - Weight::from_parts(24_566_010, 6313) + // 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(1_111, 0).saturating_mul(c.into())) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(427, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -233,8 +231,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_234_000 picoseconds. - Weight::from_parts(3_447_000, 1627) + // Minimum execution time: 3_251_000 picoseconds. + Weight::from_parts(3_424_000, 1627) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -246,8 +244,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_576_000 picoseconds. - Weight::from_parts(13_279_000, 3631) + // Minimum execution time: 12_564_000 picoseconds. + Weight::from_parts(13_051_000, 3631) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -257,8 +255,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 4_927_000 picoseconds. - Weight::from_parts(5_214_000, 3607) + // Minimum execution time: 4_784_000 picoseconds. + Weight::from_parts(4_986_000, 3607) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -269,8 +267,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 6_597_000 picoseconds. - Weight::from_parts(7_081_000, 3632) + // Minimum execution time: 6_671_000 picoseconds. + Weight::from_parts(7_024_000, 3632) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -281,8 +279,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_126_000 picoseconds. - Weight::from_parts(7_500_000, 3607) + // Minimum execution time: 6_937_000 picoseconds. + Weight::from_parts(7_314_000, 3607) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -305,10 +303,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `786` // Estimated: `6735 + c * (1 ±0)` - // Minimum execution time: 301_470_000 picoseconds. - Weight::from_parts(316_666_310, 6735) - // Standard Error: 63 - .saturating_add(Weight::from_parts(38_730, 0).saturating_mul(c.into())) + // 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())) .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())) @@ -336,14 +334,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 4_141_386_000 picoseconds. - Weight::from_parts(895_525_187, 8745) - // Standard Error: 303 - .saturating_add(Weight::from_parts(75_316, 0).saturating_mul(c.into())) - // Standard Error: 36 - .saturating_add(Weight::from_parts(1_683, 0).saturating_mul(i.into())) - // Standard Error: 36 - .saturating_add(Weight::from_parts(1_867, 0).saturating_mul(s.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(9_u64)) } @@ -369,12 +367,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `503` // Estimated: `6429` - // Minimum execution time: 2_122_161_000 picoseconds. - Weight::from_parts(341_441_365, 6429) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_925, 0).saturating_mul(i.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_796, 0).saturating_mul(s.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(7_u64)) } @@ -396,8 +394,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `838` // Estimated: `6778` - // Minimum execution time: 189_169_000 picoseconds. - Weight::from_parts(199_496_000, 6778) + // Minimum execution time: 192_981_000 picoseconds. + Weight::from_parts(200_484_000, 6778) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -414,10 +412,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 272_416_000 picoseconds. - Weight::from_parts(272_856_243, 3607) - // Standard Error: 204 - .saturating_add(Weight::from_parts(74_266, 0).saturating_mul(c.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -433,8 +431,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3720` - // Minimum execution time: 33_183_000 picoseconds. - Weight::from_parts(34_686_000, 3720) + // Minimum execution time: 34_086_000 picoseconds. + Weight::from_parts(34_893_000, 3720) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -450,8 +448,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `575` // Estimated: `8990` - // Minimum execution time: 36_344_000 picoseconds. - Weight::from_parts(37_640_000, 8990) + // Minimum execution time: 37_215_000 picoseconds. + Weight::from_parts(38_875_000, 8990) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -474,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: 271_347_000 picoseconds. - Weight::from_parts(288_868_629, 6801) - // Standard Error: 1_799 - .saturating_add(Weight::from_parts(358_819, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -501,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: 280_870_000 picoseconds. - Weight::from_parts(113_105_976, 6822) - // Standard Error: 6_597 - .saturating_add(Weight::from_parts(3_814_903, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -529,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: 273_992_000 picoseconds. - Weight::from_parts(95_710_903, 6826) - // Standard Error: 8_337 - .saturating_add(Weight::from_parts(4_641_010, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -557,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_748_000 picoseconds. - Weight::from_parts(282_117_406, 6809) - // Standard Error: 683 - .saturating_add(Weight::from_parts(445_043, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -584,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: 272_724_000 picoseconds. - Weight::from_parts(281_414_588, 6802) - // Standard Error: 396 - .saturating_add(Weight::from_parts(194_689, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -609,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_029_000 picoseconds. - Weight::from_parts(269_787_417, 6687) - // Standard Error: 466 - .saturating_add(Weight::from_parts(172_536, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -636,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: 273_509_000 picoseconds. - Weight::from_parts(287_492_496, 6803) - // Standard Error: 786 - .saturating_add(Weight::from_parts(355_547, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -663,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: 271_938_000 picoseconds. - Weight::from_parts(288_539_794, 6798) - // Standard Error: 924 - .saturating_add(Weight::from_parts(555_800, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -690,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: 270_690_000 picoseconds. - Weight::from_parts(285_352_374, 6925) - // Standard Error: 2_215 - .saturating_add(Weight::from_parts(1_606_595, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -717,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: 262_504_000 picoseconds. - Weight::from_parts(282_508_731, 6820) - // Standard Error: 740 - .saturating_add(Weight::from_parts(363_009, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -744,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: 270_067_000 picoseconds. - Weight::from_parts(282_977_137, 6818) - // Standard Error: 708 - .saturating_add(Weight::from_parts(340_430, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -771,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: 270_186_000 picoseconds. - Weight::from_parts(283_961_384, 6816) - // Standard Error: 631 - .saturating_add(Weight::from_parts(351_270, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -798,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: 267_792_000 picoseconds. - Weight::from_parts(288_465_378, 6802) - // Standard Error: 1_243 - .saturating_add(Weight::from_parts(343_688, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -827,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_159_000 picoseconds. - Weight::from_parts(302_289_696, 6864) - // Standard Error: 2_276 - .saturating_add(Weight::from_parts(1_428_313, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -854,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: 266_775_000 picoseconds. - Weight::from_parts(287_679_658, 6803) - // Standard Error: 581 - .saturating_add(Weight::from_parts(293_424, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -881,10 +879,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `863` // Estimated: `6803` - // Minimum execution time: 268_634_000 picoseconds. - Weight::from_parts(227_211_194, 6803) + // Minimum execution time: 280_743_000 picoseconds. + Weight::from_parts(227_444_594, 6803) // Standard Error: 23 - .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_030, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -907,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: 251_473_000 picoseconds. - Weight::from_parts(275_660_459, 6787) - // Standard Error: 878_140 - .saturating_add(Weight::from_parts(11_824_340, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -934,10 +932,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `857` // Estimated: `6810` - // Minimum execution time: 266_104_000 picoseconds. - Weight::from_parts(281_681_253, 6810) - // Standard Error: 2 - .saturating_add(Weight::from_parts(395, 0).saturating_mul(n.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -964,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_286_000 picoseconds. - Weight::from_parts(279_919_891, 6829) - // Standard Error: 900_690 - .saturating_add(Weight::from_parts(127_243_708, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -995,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: 273_951_000 picoseconds. - Weight::from_parts(299_138_950, 6879) - // Standard Error: 1_723 - .saturating_add(Weight::from_parts(2_017_149, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1022,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: 271_153_000 picoseconds. - Weight::from_parts(286_981_783, 6802) - // Standard Error: 4_221 - .saturating_add(Weight::from_parts(3_756_358, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1050,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: 272_852_000 picoseconds. - Weight::from_parts(285_096_658, 6823) - // Standard Error: 101_589 - .saturating_add(Weight::from_parts(4_041_027, 0).saturating_mul(t.into())) - // Standard Error: 28 - .saturating_add(Weight::from_parts(869, 0).saturating_mul(n.into())) + // 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())) .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)) @@ -1081,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: 165_665_000 picoseconds. - Weight::from_parts(177_070_607, 6800) - // Standard Error: 848 - .saturating_add(Weight::from_parts(254_008, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1108,10 +1106,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `125807` // Estimated: `131749` - // Minimum execution time: 545_537_000 picoseconds. - Weight::from_parts(512_888_670, 131749) + // Minimum execution time: 415_021_000 picoseconds. + Weight::from_parts(390_542_412, 131749) // Standard Error: 12 - .saturating_add(Weight::from_parts(1_129, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_061, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1122,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: 271_632_000 picoseconds. - Weight::from_parts(155_864_046, 922) - // Standard Error: 14_016 - .saturating_add(Weight::from_parts(7_231_343, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1139,10 +1137,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1383` // Estimated: `1359` - // Minimum execution time: 291_064_000 picoseconds. - Weight::from_parts(337_105_416, 1359) - // Standard Error: 58 - .saturating_add(Weight::from_parts(481, 0).saturating_mul(n.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(10_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -1153,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: 274_814_000 picoseconds. - Weight::from_parts(298_385_310, 1246) - // Standard Error: 29 - .saturating_add(Weight::from_parts(415, 0).saturating_mul(n.into())) + // Minimum execution time: 279_998_000 picoseconds. + Weight::from_parts(302_247_796, 1246) + // Standard Error: 32 + .saturating_add(Weight::from_parts(156, 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())) @@ -1168,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: 273_057_000 picoseconds. - Weight::from_parts(148_386_049, 924) - // Standard Error: 16_428 - .saturating_add(Weight::from_parts(7_141_062, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1185,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: 273_332_000 picoseconds. - Weight::from_parts(295_930_060, 1242) - // Standard Error: 31 - .saturating_add(Weight::from_parts(354, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -1200,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: 255_508_000 picoseconds. - Weight::from_parts(202_288_513, 919) - // Standard Error: 11_736 - .saturating_add(Weight::from_parts(5_872_410, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1216,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: 274_098_000 picoseconds. - Weight::from_parts(298_812_903, 1258) - // Standard Error: 33 - .saturating_add(Weight::from_parts(770, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -1231,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: 270_985_000 picoseconds. - Weight::from_parts(198_745_513, 936) - // Standard Error: 9_769 - .saturating_add(Weight::from_parts(5_679_023, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1247,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: 275_212_000 picoseconds. - Weight::from_parts(297_865_475, 1245) - // Standard Error: 41 - .saturating_add(Weight::from_parts(165, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -1262,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: 271_222_000 picoseconds. - Weight::from_parts(181_055_545, 915) - // Standard Error: 12_939 - .saturating_add(Weight::from_parts(7_235_356, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1279,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: 281_420_000 picoseconds. - Weight::from_parts(299_045_390, 1259) - // Standard Error: 32 - .saturating_add(Weight::from_parts(821, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -1306,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: 268_985_000 picoseconds. - Weight::from_parts(258_815_526, 7349) - // Standard Error: 76_928 - .saturating_add(Weight::from_parts(39_194_351, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1335,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: 270_243_000 picoseconds. - Weight::from_parts(276_489_000, 9481) - // Standard Error: 218_078 - .saturating_add(Weight::from_parts(244_921_024, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1364,10 +1362,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0 + r * (572 ±0)` // Estimated: `6806 + r * (2633 ±3)` - // Minimum execution time: 269_756_000 picoseconds. - Weight::from_parts(276_958_000, 6806) - // Standard Error: 329_526 - .saturating_add(Weight::from_parts(244_799_917, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1394,12 +1392,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1308 + t * (204 ±0)` // Estimated: `12198 + t * (5154 ±0)` - // Minimum execution time: 447_384_000 picoseconds. - Weight::from_parts(76_282_150, 12198) - // Standard Error: 11_471_921 - .saturating_add(Weight::from_parts(345_672_945, 0).saturating_mul(t.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_062, 0).saturating_mul(c.into())) + // 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())) .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)) @@ -1427,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: 654_542_000 picoseconds. - Weight::from_parts(668_947_000, 7207) - // Standard Error: 304_229 - .saturating_add(Weight::from_parts(391_849_751, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1460,14 +1458,14 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `1131 + t * (187 ±0)` // Estimated: `9552 + t * (2634 ±2)` - // Minimum execution time: 2_401_006_000 picoseconds. - Weight::from_parts(2_421_761_000, 9552) - // Standard Error: 23_218_535 - .saturating_add(Weight::from_parts(8_343_626, 0).saturating_mul(t.into())) - // Standard Error: 30 - .saturating_add(Weight::from_parts(980, 0).saturating_mul(i.into())) - // Standard Error: 30 - .saturating_add(Weight::from_parts(436, 0).saturating_mul(s.into())) + // 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())) .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)) @@ -1493,10 +1491,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `856 + r * (8 ±0)` // Estimated: `6797 + r * (8 ±0)` - // Minimum execution time: 268_745_000 picoseconds. - Weight::from_parts(278_689_980, 6797) - // Standard Error: 766 - .saturating_add(Weight::from_parts(427_844, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1520,10 +1518,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `864` // Estimated: `6804` - // Minimum execution time: 271_724_000 picoseconds. - Weight::from_parts(305_192_892, 6804) - // Standard Error: 3 - .saturating_add(Weight::from_parts(1_138, 0).saturating_mul(n.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1546,10 +1544,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6800 + r * (8 ±0)` - // Minimum execution time: 268_913_000 picoseconds. - Weight::from_parts(280_598_415, 6800) - // Standard Error: 803 - .saturating_add(Weight::from_parts(822_001, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1573,10 +1571,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6808` - // Minimum execution time: 275_447_000 picoseconds. - Weight::from_parts(302_199_501, 6808) - // Standard Error: 16 - .saturating_add(Weight::from_parts(3_485, 0).saturating_mul(n.into())) + // 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())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1599,10 +1597,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6803 + r * (8 ±0)` - // Minimum execution time: 264_359_000 picoseconds. - Weight::from_parts(278_018_845, 6803) - // Standard Error: 1_223 - .saturating_add(Weight::from_parts(490_338, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1626,10 +1624,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6812` - // Minimum execution time: 271_384_000 picoseconds. - Weight::from_parts(271_570_427, 6812) + // Minimum execution time: 267_616_000 picoseconds. + Weight::from_parts(271_719_406, 6812) // Standard Error: 1 - .saturating_add(Weight::from_parts(1_248, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_225, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1652,10 +1650,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6804 + r * (8 ±0)` - // Minimum execution time: 268_152_000 picoseconds. - Weight::from_parts(279_186_990, 6804) - // Standard Error: 1_041 - .saturating_add(Weight::from_parts(481_009, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1679,10 +1677,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 270_990_000 picoseconds. - Weight::from_parts(269_535_847, 6806) + // Minimum execution time: 273_440_000 picoseconds. + Weight::from_parts(273_385_519, 6806) // Standard Error: 1 - .saturating_add(Weight::from_parts(1_246, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_221, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(8_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -1705,10 +1703,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `991 + n * (1 ±0)` // Estimated: `6928 + n * (1 ±0)` - // Minimum execution time: 343_753_000 picoseconds. - Weight::from_parts(354_618_211, 6928) - // Standard Error: 14 - .saturating_add(Weight::from_parts(6_941, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -1730,12 +1728,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: `801 + r * (112 ±0)` + // Measured: `804 + r * (112 ±0)` // Estimated: `6745 + r * (112 ±0)` - // Minimum execution time: 263_647_000 picoseconds. - Weight::from_parts(336_865_938, 6745) - // Standard Error: 14_596 - .saturating_add(Weight::from_parts(56_257_099, 0).saturating_mul(r.into())) + // 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())) .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,12 +1755,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `901 + r * (76 ±0)` + // Measured: `900 + r * (76 ±0)` // Estimated: `6795 + r * (77 ±0)` - // Minimum execution time: 265_769_000 picoseconds. - Weight::from_parts(345_077_371, 6795) - // Standard Error: 23_578 - .saturating_add(Weight::from_parts(46_377_379, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1786,10 +1784,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `871 + r * (42 ±0)` // Estimated: `6810 + r * (42 ±0)` - // Minimum execution time: 262_592_000 picoseconds. - Weight::from_parts(320_097_570, 6810) - // Standard Error: 10_719 - .saturating_add(Weight::from_parts(12_125_089, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1813,10 +1811,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0 + r * (961 ±0)` // Estimated: `6801 + r * (3087 ±7)` - // Minimum execution time: 270_276_000 picoseconds. - Weight::from_parts(275_793_000, 6801) - // Standard Error: 98_385 - .saturating_add(Weight::from_parts(27_960_017, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -1842,10 +1840,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `852 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 286_133_000 picoseconds. - Weight::from_parts(329_554_485, 6802) - // Standard Error: 3_537 - .saturating_add(Weight::from_parts(212_808, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1869,10 +1867,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `2092 + r * (39 ±0)` // Estimated: `7919 + r * (40 ±0)` - // Minimum execution time: 296_623_000 picoseconds. - Weight::from_parts(401_854_182, 7919) - // Standard Error: 5_369 - .saturating_add(Weight::from_parts(338_478, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1898,10 +1896,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `855 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 268_462_000 picoseconds. - Weight::from_parts(282_853_753, 6802) - // Standard Error: 470 - .saturating_add(Weight::from_parts(165_217, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -1911,10 +1909,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_321_000 picoseconds. - Weight::from_parts(1_978_697, 0) - // Standard Error: 18 - .saturating_add(Weight::from_parts(10_472, 0).saturating_mul(r.into())) + // 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())) } } @@ -1926,8 +1924,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 2_527_000 picoseconds. - Weight::from_parts(2_654_000, 1627) + // Minimum execution time: 2_489_000 picoseconds. + Weight::from_parts(2_592_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: Skipped Metadata (r:0 w:0) @@ -1937,10 +1935,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `451 + k * (69 ±0)` // Estimated: `441 + k * (70 ±0)` - // Minimum execution time: 12_645_000 picoseconds. - Weight::from_parts(12_957_000, 441) - // Standard Error: 1_101 - .saturating_add(Weight::from_parts(1_232_810, 0).saturating_mul(k.into())) + // 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())) .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)) @@ -1954,10 +1952,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `211 + c * (1 ±0)` // Estimated: `6149 + c * (1 ±0)` - // Minimum execution time: 8_502_000 picoseconds. - Weight::from_parts(9_153_988, 6149) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1_344, 0).saturating_mul(c.into())) + // 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())) .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())) @@ -1970,8 +1968,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `548` // Estimated: `6488` - // Minimum execution time: 17_524_000 picoseconds. - Weight::from_parts(18_292_000, 6488) + // Minimum execution time: 17_966_000 picoseconds. + Weight::from_parts(18_805_000, 6488) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1984,19 +1982,17 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `171 + k * (1 ±0)` // Estimated: `3635 + k * (1 ±0)` - // Minimum execution time: 3_817_000 picoseconds. - Weight::from_parts(3_905_000, 3635) - // Standard Error: 748 - .saturating_add(Weight::from_parts(1_119_397, 0).saturating_mul(k.into())) + // 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())) .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()))) .saturating_add(Weight::from_parts(0, 1).saturating_mul(k.into())) } - /// Storage: Contracts PristineCode (r:2 w:0) - /// Proof: Contracts PristineCode (max_values: None, max_size: Some(125988), added: 128463, mode: Measured) - /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) - /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:1 w:1) + /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:2 w:0) + /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:2 w:0) /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) /// Proof Skipped: unknown `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1) /// Storage: System Account (r:1 w:0) @@ -2006,15 +2002,15 @@ impl WeightInfo for () { /// The range of component `c` is `[0, 125952]`. fn v12_migration_step(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `378 + c * (2 ±0)` - // Estimated: `6313 + c * (2 ±0)` - // Minimum execution time: 23_368_000 picoseconds. - Weight::from_parts(24_566_010, 6313) + // 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(1_111, 0).saturating_mul(c.into())) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(Weight::from_parts(0, 2).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(427, 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())) } /// Storage: Contracts MigrationInProgress (r:1 w:1) /// Proof: Contracts MigrationInProgress (max_values: Some(1), max_size: Some(1026), added: 1521, mode: Measured) @@ -2022,8 +2018,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `1627` - // Minimum execution time: 3_234_000 picoseconds. - Weight::from_parts(3_447_000, 1627) + // Minimum execution time: 3_251_000 picoseconds. + Weight::from_parts(3_424_000, 1627) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2035,8 +2031,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `166` // Estimated: `3631` - // Minimum execution time: 12_576_000 picoseconds. - Weight::from_parts(13_279_000, 3631) + // Minimum execution time: 12_564_000 picoseconds. + Weight::from_parts(13_051_000, 3631) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -2046,8 +2042,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 4_927_000 picoseconds. - Weight::from_parts(5_214_000, 3607) + // Minimum execution time: 4_784_000 picoseconds. + Weight::from_parts(4_986_000, 3607) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2058,8 +2054,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `167` // Estimated: `3632` - // Minimum execution time: 6_597_000 picoseconds. - Weight::from_parts(7_081_000, 3632) + // Minimum execution time: 6_671_000 picoseconds. + Weight::from_parts(7_024_000, 3632) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: unknown `0x4342193e496fab7ec59d615ed0dc55304e7b9012096b41c4eb3aaf947f6ea429` (r:1 w:0) @@ -2070,8 +2066,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 7_126_000 picoseconds. - Weight::from_parts(7_500_000, 3607) + // Minimum execution time: 6_937_000 picoseconds. + Weight::from_parts(7_314_000, 3607) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -2094,10 +2090,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `786` // Estimated: `6735 + c * (1 ±0)` - // Minimum execution time: 301_470_000 picoseconds. - Weight::from_parts(316_666_310, 6735) - // Standard Error: 63 - .saturating_add(Weight::from_parts(38_730, 0).saturating_mul(c.into())) + // 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())) .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())) @@ -2125,14 +2121,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `303` // Estimated: `8745` - // Minimum execution time: 4_141_386_000 picoseconds. - Weight::from_parts(895_525_187, 8745) - // Standard Error: 303 - .saturating_add(Weight::from_parts(75_316, 0).saturating_mul(c.into())) - // Standard Error: 36 - .saturating_add(Weight::from_parts(1_683, 0).saturating_mul(i.into())) - // Standard Error: 36 - .saturating_add(Weight::from_parts(1_867, 0).saturating_mul(s.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(9_u64)) } @@ -2158,12 +2154,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `503` // Estimated: `6429` - // Minimum execution time: 2_122_161_000 picoseconds. - Weight::from_parts(341_441_365, 6429) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_925, 0).saturating_mul(i.into())) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_796, 0).saturating_mul(s.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(7_u64)) } @@ -2185,8 +2181,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `838` // Estimated: `6778` - // Minimum execution time: 189_169_000 picoseconds. - Weight::from_parts(199_496_000, 6778) + // Minimum execution time: 192_981_000 picoseconds. + Weight::from_parts(200_484_000, 6778) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -2203,10 +2199,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `142` // Estimated: `3607` - // Minimum execution time: 272_416_000 picoseconds. - Weight::from_parts(272_856_243, 3607) - // Standard Error: 204 - .saturating_add(Weight::from_parts(74_266, 0).saturating_mul(c.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2222,8 +2218,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `255` // Estimated: `3720` - // Minimum execution time: 33_183_000 picoseconds. - Weight::from_parts(34_686_000, 3720) + // Minimum execution time: 34_086_000 picoseconds. + Weight::from_parts(34_893_000, 3720) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2239,8 +2235,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `575` // Estimated: `8990` - // Minimum execution time: 36_344_000 picoseconds. - Weight::from_parts(37_640_000, 8990) + // Minimum execution time: 37_215_000 picoseconds. + Weight::from_parts(38_875_000, 8990) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2263,10 +2259,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `860 + r * (6 ±0)` // Estimated: `6801 + r * (6 ±0)` - // Minimum execution time: 271_347_000 picoseconds. - Weight::from_parts(288_868_629, 6801) - // Standard Error: 1_799 - .saturating_add(Weight::from_parts(358_819, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2290,10 +2286,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `918 + r * (240 ±0)` // Estimated: `6822 + r * (2715 ±0)` - // Minimum execution time: 280_870_000 picoseconds. - Weight::from_parts(113_105_976, 6822) - // Standard Error: 6_597 - .saturating_add(Weight::from_parts(3_814_903, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -2318,10 +2314,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `910 + r * (244 ±0)` // Estimated: `6826 + r * (2719 ±0)` - // Minimum execution time: 273_992_000 picoseconds. - Weight::from_parts(95_710_903, 6826) - // Standard Error: 8_337 - .saturating_add(Weight::from_parts(4_641_010, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -2346,10 +2342,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `867 + r * (6 ±0)` // Estimated: `6809 + r * (6 ±0)` - // Minimum execution time: 273_748_000 picoseconds. - Weight::from_parts(282_117_406, 6809) - // Standard Error: 683 - .saturating_add(Weight::from_parts(445_043, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2373,10 +2369,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 272_724_000 picoseconds. - Weight::from_parts(281_414_588, 6802) - // Standard Error: 396 - .saturating_add(Weight::from_parts(194_689, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2398,10 +2394,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `747 + r * (3 ±0)` // Estimated: `6687 + r * (3 ±0)` - // Minimum execution time: 259_029_000 picoseconds. - Weight::from_parts(269_787_417, 6687) - // Standard Error: 466 - .saturating_add(Weight::from_parts(172_536, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2425,10 +2421,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `861 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 273_509_000 picoseconds. - Weight::from_parts(287_492_496, 6803) - // Standard Error: 786 - .saturating_add(Weight::from_parts(355_547, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2452,10 +2448,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (6 ±0)` // Estimated: `6798 + r * (6 ±0)` - // Minimum execution time: 271_938_000 picoseconds. - Weight::from_parts(288_539_794, 6798) - // Standard Error: 924 - .saturating_add(Weight::from_parts(555_800, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2479,10 +2475,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1001 + r * (6 ±0)` // Estimated: `6925 + r * (6 ±0)` - // Minimum execution time: 270_690_000 picoseconds. - Weight::from_parts(285_352_374, 6925) - // Standard Error: 2_215 - .saturating_add(Weight::from_parts(1_606_595, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2506,10 +2502,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (6 ±0)` // Estimated: `6820 + r * (6 ±0)` - // Minimum execution time: 262_504_000 picoseconds. - Weight::from_parts(282_508_731, 6820) - // Standard Error: 740 - .saturating_add(Weight::from_parts(363_009, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2533,10 +2529,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `869 + r * (6 ±0)` // Estimated: `6818 + r * (6 ±0)` - // Minimum execution time: 270_067_000 picoseconds. - Weight::from_parts(282_977_137, 6818) - // Standard Error: 708 - .saturating_add(Weight::from_parts(340_430, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2560,10 +2556,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866 + r * (6 ±0)` // Estimated: `6816 + r * (6 ±0)` - // Minimum execution time: 270_186_000 picoseconds. - Weight::from_parts(283_961_384, 6816) - // Standard Error: 631 - .saturating_add(Weight::from_parts(351_270, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2587,10 +2583,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (6 ±0)` // Estimated: `6802 + r * (6 ±0)` - // Minimum execution time: 267_792_000 picoseconds. - Weight::from_parts(288_465_378, 6802) - // Standard Error: 1_243 - .saturating_add(Weight::from_parts(343_688, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2616,10 +2612,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `931 + r * (14 ±0)` // Estimated: `6864 + r * (14 ±0)` - // Minimum execution time: 272_159_000 picoseconds. - Weight::from_parts(302_289_696, 6864) - // Standard Error: 2_276 - .saturating_add(Weight::from_parts(1_428_313, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2643,10 +2639,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `859 + r * (6 ±0)` // Estimated: `6803 + r * (6 ±0)` - // Minimum execution time: 266_775_000 picoseconds. - Weight::from_parts(287_679_658, 6803) - // Standard Error: 581 - .saturating_add(Weight::from_parts(293_424, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2670,10 +2666,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `863` // Estimated: `6803` - // Minimum execution time: 268_634_000 picoseconds. - Weight::from_parts(227_211_194, 6803) + // Minimum execution time: 280_743_000 picoseconds. + Weight::from_parts(227_444_594, 6803) // Standard Error: 23 - .saturating_add(Weight::from_parts(1_067, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_030, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2696,10 +2692,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `847 + r * (45 ±0)` // Estimated: `6787 + r * (45 ±0)` - // Minimum execution time: 251_473_000 picoseconds. - Weight::from_parts(275_660_459, 6787) - // Standard Error: 878_140 - .saturating_add(Weight::from_parts(11_824_340, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2723,10 +2719,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857` // Estimated: `6810` - // Minimum execution time: 266_104_000 picoseconds. - Weight::from_parts(281_681_253, 6810) - // Standard Error: 2 - .saturating_add(Weight::from_parts(395, 0).saturating_mul(n.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2753,10 +2749,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `889 + r * (300 ±0)` // Estimated: `6829 + r * (7725 ±0)` - // Minimum execution time: 255_286_000 picoseconds. - Weight::from_parts(279_919_891, 6829) - // Standard Error: 900_690 - .saturating_add(Weight::from_parts(127_243_708, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -2784,10 +2780,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `938 + r * (10 ±0)` // Estimated: `6879 + r * (10 ±0)` - // Minimum execution time: 273_951_000 picoseconds. - Weight::from_parts(299_138_950, 6879) - // Standard Error: 1_723 - .saturating_add(Weight::from_parts(2_017_149, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2811,10 +2807,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `857 + r * (10 ±0)` // Estimated: `6802 + r * (10 ±0)` - // Minimum execution time: 271_153_000 picoseconds. - Weight::from_parts(286_981_783, 6802) - // Standard Error: 4_221 - .saturating_add(Weight::from_parts(3_756_358, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2839,12 +2835,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `876 + t * (32 ±0)` // Estimated: `6823 + t * (2508 ±0)` - // Minimum execution time: 272_852_000 picoseconds. - Weight::from_parts(285_096_658, 6823) - // Standard Error: 101_589 - .saturating_add(Weight::from_parts(4_041_027, 0).saturating_mul(t.into())) - // Standard Error: 28 - .saturating_add(Weight::from_parts(869, 0).saturating_mul(n.into())) + // 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())) .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)) @@ -2870,10 +2866,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `856 + r * (7 ±0)` // Estimated: `6800 + r * (7 ±0)` - // Minimum execution time: 165_665_000 picoseconds. - Weight::from_parts(177_070_607, 6800) - // Standard Error: 848 - .saturating_add(Weight::from_parts(254_008, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -2897,10 +2893,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `125807` // Estimated: `131749` - // Minimum execution time: 545_537_000 picoseconds. - Weight::from_parts(512_888_670, 131749) + // Minimum execution time: 415_021_000 picoseconds. + Weight::from_parts(390_542_412, 131749) // Standard Error: 12 - .saturating_add(Weight::from_parts(1_129, 0).saturating_mul(i.into())) + .saturating_add(Weight::from_parts(1_061, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -2911,10 +2907,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `924 + r * (292 ±0)` // Estimated: `922 + r * (293 ±0)` - // Minimum execution time: 271_632_000 picoseconds. - Weight::from_parts(155_864_046, 922) - // Standard Error: 14_016 - .saturating_add(Weight::from_parts(7_231_343, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -2928,10 +2924,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1383` // Estimated: `1359` - // Minimum execution time: 291_064_000 picoseconds. - Weight::from_parts(337_105_416, 1359) - // Standard Error: 58 - .saturating_add(Weight::from_parts(481, 0).saturating_mul(n.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(10_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -2942,10 +2938,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1246 + n * (1 ±0)` // Estimated: `1246 + n * (1 ±0)` - // Minimum execution time: 274_814_000 picoseconds. - Weight::from_parts(298_385_310, 1246) - // Standard Error: 29 - .saturating_add(Weight::from_parts(415, 0).saturating_mul(n.into())) + // Minimum execution time: 279_998_000 picoseconds. + Weight::from_parts(302_247_796, 1246) + // Standard Error: 32 + .saturating_add(Weight::from_parts(156, 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())) @@ -2957,10 +2953,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `920 + r * (288 ±0)` // Estimated: `924 + r * (289 ±0)` - // Minimum execution time: 273_057_000 picoseconds. - Weight::from_parts(148_386_049, 924) - // Standard Error: 16_428 - .saturating_add(Weight::from_parts(7_141_062, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -2974,10 +2970,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1242 + n * (1 ±0)` // Estimated: `1242 + n * (1 ±0)` - // Minimum execution time: 273_332_000 picoseconds. - Weight::from_parts(295_930_060, 1242) - // Standard Error: 31 - .saturating_add(Weight::from_parts(354, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -2989,10 +2985,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `914 + r * (296 ±0)` // Estimated: `919 + r * (297 ±0)` - // Minimum execution time: 255_508_000 picoseconds. - Weight::from_parts(202_288_513, 919) - // Standard Error: 11_736 - .saturating_add(Weight::from_parts(5_872_410, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3005,10 +3001,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1258 + n * (1 ±0)` // Estimated: `1258 + n * (1 ±0)` - // Minimum execution time: 274_098_000 picoseconds. - Weight::from_parts(298_812_903, 1258) - // Standard Error: 33 - .saturating_add(Weight::from_parts(770, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -3020,10 +3016,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `935 + r * (288 ±0)` // Estimated: `936 + r * (289 ±0)` - // Minimum execution time: 270_985_000 picoseconds. - Weight::from_parts(198_745_513, 936) - // Standard Error: 9_769 - .saturating_add(Weight::from_parts(5_679_023, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3036,10 +3032,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1245 + n * (1 ±0)` // Estimated: `1245 + n * (1 ±0)` - // Minimum execution time: 275_212_000 picoseconds. - Weight::from_parts(297_865_475, 1245) - // Standard Error: 41 - .saturating_add(Weight::from_parts(165, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -3051,10 +3047,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `908 + r * (296 ±0)` // Estimated: `915 + r * (297 ±0)` - // Minimum execution time: 271_222_000 picoseconds. - Weight::from_parts(181_055_545, 915) - // Standard Error: 12_939 - .saturating_add(Weight::from_parts(7_235_356, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3068,10 +3064,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1259 + n * (1 ±0)` // Estimated: `1259 + n * (1 ±0)` - // Minimum execution time: 281_420_000 picoseconds. - Weight::from_parts(299_045_390, 1259) - // Standard Error: 32 - .saturating_add(Weight::from_parts(821, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -3095,10 +3091,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1452 + r * (45 ±0)` // Estimated: `7349 + r * (2520 ±0)` - // Minimum execution time: 268_985_000 picoseconds. - Weight::from_parts(258_815_526, 7349) - // Standard Error: 76_928 - .saturating_add(Weight::from_parts(39_194_351, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3124,10 +3120,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1296 + r * (276 ±0)` // Estimated: `9481 + r * (2752 ±0)` - // Minimum execution time: 270_243_000 picoseconds. - Weight::from_parts(276_489_000, 9481) - // Standard Error: 218_078 - .saturating_add(Weight::from_parts(244_921_024, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3153,10 +3149,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0 + r * (572 ±0)` // Estimated: `6806 + r * (2633 ±3)` - // Minimum execution time: 269_756_000 picoseconds. - Weight::from_parts(276_958_000, 6806) - // Standard Error: 329_526 - .saturating_add(Weight::from_parts(244_799_917, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3183,12 +3179,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1308 + t * (204 ±0)` // Estimated: `12198 + t * (5154 ±0)` - // Minimum execution time: 447_384_000 picoseconds. - Weight::from_parts(76_282_150, 12198) - // Standard Error: 11_471_921 - .saturating_add(Weight::from_parts(345_672_945, 0).saturating_mul(t.into())) - // Standard Error: 16 - .saturating_add(Weight::from_parts(1_062, 0).saturating_mul(c.into())) + // 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())) .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)) @@ -3216,10 +3212,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1383 + r * (251 ±0)` // Estimated: `7207 + r * (5202 ±0)` - // Minimum execution time: 654_542_000 picoseconds. - Weight::from_parts(668_947_000, 7207) - // Standard Error: 304_229 - .saturating_add(Weight::from_parts(391_849_751, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3249,14 +3245,14 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1131 + t * (187 ±0)` // Estimated: `9552 + t * (2634 ±2)` - // Minimum execution time: 2_401_006_000 picoseconds. - Weight::from_parts(2_421_761_000, 9552) - // Standard Error: 23_218_535 - .saturating_add(Weight::from_parts(8_343_626, 0).saturating_mul(t.into())) - // Standard Error: 30 - .saturating_add(Weight::from_parts(980, 0).saturating_mul(i.into())) - // Standard Error: 30 - .saturating_add(Weight::from_parts(436, 0).saturating_mul(s.into())) + // 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())) .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)) @@ -3282,10 +3278,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `856 + r * (8 ±0)` // Estimated: `6797 + r * (8 ±0)` - // Minimum execution time: 268_745_000 picoseconds. - Weight::from_parts(278_689_980, 6797) - // Standard Error: 766 - .saturating_add(Weight::from_parts(427_844, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3309,10 +3305,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `864` // Estimated: `6804` - // Minimum execution time: 271_724_000 picoseconds. - Weight::from_parts(305_192_892, 6804) - // Standard Error: 3 - .saturating_add(Weight::from_parts(1_138, 0).saturating_mul(n.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3335,10 +3331,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6800 + r * (8 ±0)` - // Minimum execution time: 268_913_000 picoseconds. - Weight::from_parts(280_598_415, 6800) - // Standard Error: 803 - .saturating_add(Weight::from_parts(822_001, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3362,10 +3358,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6808` - // Minimum execution time: 275_447_000 picoseconds. - Weight::from_parts(302_199_501, 6808) - // Standard Error: 16 - .saturating_add(Weight::from_parts(3_485, 0).saturating_mul(n.into())) + // 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())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3388,10 +3384,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6803 + r * (8 ±0)` - // Minimum execution time: 264_359_000 picoseconds. - Weight::from_parts(278_018_845, 6803) - // Standard Error: 1_223 - .saturating_add(Weight::from_parts(490_338, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3415,10 +3411,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6812` - // Minimum execution time: 271_384_000 picoseconds. - Weight::from_parts(271_570_427, 6812) + // Minimum execution time: 267_616_000 picoseconds. + Weight::from_parts(271_719_406, 6812) // Standard Error: 1 - .saturating_add(Weight::from_parts(1_248, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_225, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3441,10 +3437,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `858 + r * (8 ±0)` // Estimated: `6804 + r * (8 ±0)` - // Minimum execution time: 268_152_000 picoseconds. - Weight::from_parts(279_186_990, 6804) - // Standard Error: 1_041 - .saturating_add(Weight::from_parts(481_009, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3468,10 +3464,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `866` // Estimated: `6806` - // Minimum execution time: 270_990_000 picoseconds. - Weight::from_parts(269_535_847, 6806) + // Minimum execution time: 273_440_000 picoseconds. + Weight::from_parts(273_385_519, 6806) // Standard Error: 1 - .saturating_add(Weight::from_parts(1_246, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_221, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(8_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -3494,10 +3490,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `991 + n * (1 ±0)` // Estimated: `6928 + n * (1 ±0)` - // Minimum execution time: 343_753_000 picoseconds. - Weight::from_parts(354_618_211, 6928) - // Standard Error: 14 - .saturating_add(Weight::from_parts(6_941, 0).saturating_mul(n.into())) + // 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())) .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())) @@ -3519,12 +3515,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: `801 + r * (112 ±0)` + // Measured: `804 + r * (112 ±0)` // Estimated: `6745 + r * (112 ±0)` - // Minimum execution time: 263_647_000 picoseconds. - Weight::from_parts(336_865_938, 6745) - // Standard Error: 14_596 - .saturating_add(Weight::from_parts(56_257_099, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3546,12 +3542,12 @@ impl WeightInfo for () { /// The range of component `r` is `[0, 160]`. fn seal_ecdsa_recover(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `901 + r * (76 ±0)` + // Measured: `900 + r * (76 ±0)` // Estimated: `6795 + r * (77 ±0)` - // Minimum execution time: 265_769_000 picoseconds. - Weight::from_parts(345_077_371, 6795) - // Standard Error: 23_578 - .saturating_add(Weight::from_parts(46_377_379, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3575,10 +3571,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `871 + r * (42 ±0)` // Estimated: `6810 + r * (42 ±0)` - // Minimum execution time: 262_592_000 picoseconds. - Weight::from_parts(320_097_570, 6810) - // Standard Error: 10_719 - .saturating_add(Weight::from_parts(12_125_089, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3602,10 +3598,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0 + r * (961 ±0)` // Estimated: `6801 + r * (3087 ±7)` - // Minimum execution time: 270_276_000 picoseconds. - Weight::from_parts(275_793_000, 6801) - // Standard Error: 98_385 - .saturating_add(Weight::from_parts(27_960_017, 0).saturating_mul(r.into())) + // 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())) .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)) @@ -3631,10 +3627,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `852 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 286_133_000 picoseconds. - Weight::from_parts(329_554_485, 6802) - // Standard Error: 3_537 - .saturating_add(Weight::from_parts(212_808, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3658,10 +3654,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `2092 + r * (39 ±0)` // Estimated: `7919 + r * (40 ±0)` - // Minimum execution time: 296_623_000 picoseconds. - Weight::from_parts(401_854_182, 7919) - // Standard Error: 5_369 - .saturating_add(Weight::from_parts(338_478, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3687,10 +3683,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `855 + r * (3 ±0)` // Estimated: `6802 + r * (3 ±0)` - // Minimum execution time: 268_462_000 picoseconds. - Weight::from_parts(282_853_753, 6802) - // Standard Error: 470 - .saturating_add(Weight::from_parts(165_217, 0).saturating_mul(r.into())) + // 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())) .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())) @@ -3700,9 +3696,9 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_321_000 picoseconds. - Weight::from_parts(1_978_697, 0) - // Standard Error: 18 - .saturating_add(Weight::from_parts(10_472, 0).saturating_mul(r.into())) + // 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())) } } From b5ad1de2b4187bb1b278d203f616cc61226386a7 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 1 Jul 2023 00:35:38 +0300 Subject: [PATCH 63/70] another review round comments addressed --- frame/contracts/src/exec.rs | 30 +++++++++-------- frame/contracts/src/lib.rs | 4 +-- frame/contracts/src/migration/v12.rs | 2 +- frame/contracts/src/wasm/mod.rs | 49 +++++++++------------------- frame/contracts/src/wasm/prepare.rs | 1 - 5 files changed, 35 insertions(+), 51 deletions(-) diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 80e2ab9c10248..5abe56dcc0b41 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -334,17 +334,21 @@ pub trait Executable: Sized { gas_meter: &mut GasMeter, ) -> Result; - /// Increment the refcount of a code in-storage by one. - /// - /// This is needed when the code is not set via instantiate but `seal_set_code_hash`. + /// Increment the reference count of a of a stored code by one. /// /// # Errors /// - /// [`Error::CodeNotFound`] is returned if the specified `code_hash` does not exist. - fn add_user(code_hash: CodeHash) -> Result<(), DispatchError>; + /// [`Error::CodeNotFound`] is returned if no stored code found having the specified + /// `code_hash`. + fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError>; - /// Decrement the refcount by one if the code exists. - fn remove_user(code_hash: CodeHash); + /// Decrement the reference count of a stored code by one. + /// + /// # Note + /// + /// A contract whose reference count dropped to zero isn't automatically removed. A + /// `remove_code` transaction must be submitted by the original uploader to do so. + fn decrement_refcount(code_hash: CodeHash); /// Execute the specified exported function and return the result. /// @@ -1258,7 +1262,7 @@ where )?; info.queue_trie_for_deletion(); ContractInfoOf::::remove(&frame.account_id); - E::remove_user(info.code_hash); + E::decrement_refcount(info.code_hash); Contracts::::deposit_event( vec![T::Hashing::hash_of(&frame.account_id), T::Hashing::hash_of(&beneficiary)], Event::Terminated { @@ -1433,9 +1437,9 @@ where if !E::from_storage(hash, &mut frame.nested_gas)?.is_deterministic() { return Err(>::Indeterministic.into()) } - E::add_user(hash)?; + E::increment_refcount(hash)?; let prev_hash = frame.contract_info().code_hash; - E::remove_user(prev_hash); + E::decrement_refcount(prev_hash); frame.contract_info().code_hash = hash; Contracts::::deposit_event( vec![T::Hashing::hash_of(&frame.account_id), hash, prev_hash], @@ -1605,11 +1609,11 @@ mod tests { }) } - fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { + fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { MockLoader::increment_refcount(code_hash) } - fn remove_user(code_hash: CodeHash) { + fn decrement_refcount(code_hash: CodeHash) { MockLoader::decrement_refcount(code_hash); } @@ -1620,7 +1624,7 @@ mod tests { input_data: Vec, ) -> ExecResult { if let &Constructor = function { - Self::add_user(self.code_hash).unwrap(); + Self::increment_refcount(self.code_hash).unwrap(); } if function == &self.func_type { (self.func)(MockCtx { ext, input_data }, &self) diff --git a/frame/contracts/src/lib.rs b/frame/contracts/src/lib.rs index 5e17d9350c1fc..e855eb8917f43 100644 --- a/frame/contracts/src/lib.rs +++ b/frame/contracts/src/lib.rs @@ -594,8 +594,8 @@ pub mod pallet { } else { return Err(>::ContractNotFound.into()) }; - >::add_user(code_hash)?; - >::remove_user(contract.code_hash); + >::increment_refcount(code_hash)?; + >::decrement_refcount(contract.code_hash); Self::deposit_event( vec![T::Hashing::hash_of(&dest), code_hash, contract.code_hash], Event::ContractCodeUpdated { diff --git a/frame/contracts/src/migration/v12.rs b/frame/contracts/src/migration/v12.rs index 30cf6da1e7161..c7987075f54b4 100644 --- a/frame/contracts/src/migration/v12.rs +++ b/frame/contracts/src/migration/v12.rs @@ -141,7 +141,7 @@ impl MigrationStep for Migration { log::debug!(target: LOG_TARGET, "Storage removed: 1 item, {} bytes", &code_len,); // Storage usage prices could change over time, and accounts who uploaded their - // conctracts code before the storage deposits where introduced, had not been ever + // contracts code before the storage deposits where introduced, had not been ever // charged with any deposit for that (see migration v6). // // This is why deposit to be refunded here is calculated as follows: diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 8c7fea3d3edb3..6eca21336b48b 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -385,36 +385,6 @@ impl WasmBlob { Ok(code) } - /// Decrement the reference count of a stored code by one. - /// - /// # Note - /// - /// A contract whose reference count dropped to zero isn't automatically removed. A - /// `remove_code` transaction must be submitted by the original uploader to do so. - fn decrement_refcount(code_hash: CodeHash) { - >::mutate(code_hash, |existing| { - if let Some(info) = existing { - info.refcount = info.refcount.saturating_sub(1); - } - }); - } - - /// Increment the reference count of a of a stored code by one. - /// - /// # Errors - /// - /// [`Error::CodeNotFound`] is returned if no stored code found having the specified - /// `code_hash`. - fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { - >::mutate(code_hash, |existing| -> Result<(), DispatchError> { - if let Some(info) = existing { - info.refcount = info.refcount.saturating_add(1); - Ok(()) - } else { - Err(Error::::CodeNotFound.into()) - } - }) - } /// See [`Self::from_code_unchecked`]. #[cfg(feature = "runtime-benchmarks")] pub fn store_code_unchecked( @@ -466,12 +436,23 @@ impl Executable for WasmBlob { Ok(Self { code, code_info, code_hash }) } - fn add_user(code_hash: CodeHash) -> Result<(), DispatchError> { - Self::increment_refcount(code_hash) + fn increment_refcount(code_hash: CodeHash) -> Result<(), DispatchError> { + >::mutate(code_hash, |existing| -> Result<(), DispatchError> { + if let Some(info) = existing { + info.refcount = info.refcount.saturating_add(1); + Ok(()) + } else { + Err(Error::::CodeNotFound.into()) + } + }) } - fn remove_user(code_hash: CodeHash) { - Self::decrement_refcount(code_hash) + fn decrement_refcount(code_hash: CodeHash) { + >::mutate(code_hash, |existing| { + if let Some(info) = existing { + info.refcount = info.refcount.saturating_sub(1); + } + }); } fn execute>( diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index dd2245d4d1e8a..deee115a90214 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -27,7 +27,6 @@ use crate::{ }; use codec::MaxEncodedLen; use sp_runtime::{traits::Hash, DispatchError}; -use sp_std::prelude::*; use wasm_instrument::parity_wasm::elements::{ self, External, Internal, MemoryType, Type, ValueType, }; From 0e0155f4f725df1fc8371ff178b3a21ed80cde7e Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 1 Jul 2023 00:55:22 +0300 Subject: [PATCH 64/70] ci fix one --- frame/contracts/src/wasm/prepare.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index deee115a90214..ee267cd0bc30c 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -27,6 +27,8 @@ use crate::{ }; 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, }; From d13975793633d18637c8a5e1a316151ac65b6128 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 1 Jul 2023 01:16:37 +0300 Subject: [PATCH 65/70] clippy fix --- frame/contracts/src/exec.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 5abe56dcc0b41..31bf5d8ed89cd 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -849,7 +849,7 @@ where let frame = self.top_frame(); let entry_point = frame.entry_point; let delegated_code_hash = if frame.delegate_caller.is_some() { - Some(executable.code_hash().clone()) + Some(*executable.code_hash()) } else { None }; From 670ff1a2446f857d834b32e47cfb4d56461f3963 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Sat, 1 Jul 2023 01:19:38 +0300 Subject: [PATCH 66/70] ci fix two --- frame/contracts/src/exec.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/frame/contracts/src/exec.rs b/frame/contracts/src/exec.rs index 31bf5d8ed89cd..2bf3f44717c27 100644 --- a/frame/contracts/src/exec.rs +++ b/frame/contracts/src/exec.rs @@ -848,11 +848,8 @@ where fn run(&mut self, executable: E, input_data: Vec) -> Result { let frame = self.top_frame(); let entry_point = frame.entry_point; - let delegated_code_hash = if frame.delegate_caller.is_some() { - Some(*executable.code_hash()) - } else { - None - }; + let delegated_code_hash = + if frame.delegate_caller.is_some() { Some(*executable.code_hash()) } else { None }; let do_transaction = || { // We need to charge the storage deposit before the initial transfer so that // it can create the account in case the initial transfer is < ed. From 0f83c77cfd4a8c8a1f780608fefc22a8955180c1 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 3 Jul 2023 17:28:30 +0300 Subject: [PATCH 67/70] allow stored modules to have no memory imports --- frame/contracts/src/wasm/mod.rs | 6 +++- frame/contracts/src/wasm/prepare.rs | 54 ++++++++++------------------- 2 files changed, 23 insertions(+), 37 deletions(-) diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 04f1ecfb5a6f3..3da73bd878619 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -225,7 +225,11 @@ impl WasmBlob { .map_err(|_| "can't define host functions to Linker")?; // Query wasmi for memory limits specified in the module's import entry. - let memory_limits = contract.scan_imports::(schedule)?; + // We allow already stored modules not to have a memory import, for backwards compatibility. + // If a stored module doesn't have it, it defaults to (0,0), and any access to it will lead + // to out of bounds trap. However, for the newly uploaded ones we do require to have a + // memory import. + let memory_limits = contract.scan_imports::(schedule, false)?; // 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, diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 4b8ed6fe7e207..166ef8d28d07a 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -32,10 +32,6 @@ use codec::MaxEncodedLen; use sp_runtime::{traits::Hash, DispatchError}; #[cfg(any(test, feature = "runtime-benchmarks"))] use sp_std::prelude::Vec; -#[cfg(any(test, feature = "runtime-benchmarks"))] -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, @@ -70,7 +66,7 @@ pub struct LoadedModule { impl LoadedModule { /// Creates a new instance of `LoadedModule`. /// - /// The inner Wasm module is checked not the have restricted WebAssembly proposals. + /// 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], @@ -182,6 +178,7 @@ impl LoadedModule { pub fn scan_imports( &self, schedule: &Schedule, + require_memory_import: bool, ) -> Result<(u32, u32), &'static str> { let module = &self.module; let imports = module.imports(); @@ -235,32 +232,11 @@ impl LoadedModule { } } - memory_limits.ok_or("No memory import found in the module") - } -} - -#[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)) + // If we don't require module to have a memory import, + // then we return (0,0) for the module not having such an import. + // Any access to it will lead to out of bounds trap. + if !require_memory_import { memory_limits.or(Default::default()) } else { memory_limits } + .ok_or("No memory import found in the module") } } @@ -270,6 +246,8 @@ fn get_memory_limits( /// 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. +/// +/// We need to fo this check only once when uploading a new code. fn validate( code: &[u8], schedule: &Schedule, @@ -286,7 +264,9 @@ where let contract_module = LoadedModule::new::(code, determinism, None)?; // Checks that module satisfies constraints required for contracts. contract_module.scan_exports()?; - contract_module.scan_imports::(schedule)?; + // We check module imports contstraints including the memory import which is obligatory to + // have for the newly uploaded contracts. + contract_module.scan_imports::(schedule, true)?; Ok(()) })() .map_err(|msg: &str| { @@ -322,7 +302,8 @@ where /// Validates the given binary `code` is a valid Wasm module satisfying following constraints: /// /// - The module doesn't export any memory. -/// - The module imports memory, which limits lay within the limits permitted by the `schedule`. +/// - 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. @@ -367,8 +348,8 @@ pub mod benchmarking { ) -> Result, DispatchError> { let determinism = Determinism::Enforced; let contract_module = LoadedModule::new::(&code, determinism, None)?; - let _ = contract_module.scan_imports::(schedule)?; - let code = code.try_into().map_err(|_| >::CodeTooLarge)?; + let _ = contract_module.scan_imports::(schedule, true)?; + 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 @@ -376,8 +357,9 @@ pub mod benchmarking { refcount: 0, determinism, }; + let code_hash = T::Hashing::hash(&code); - Ok(WasmBlob { code, code_info, code_hash: Default::default() }) + Ok(WasmBlob { code, code_info, code_hash }) } } From bf5277062d4460273a8ba27badad18f0781d3489 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Mon, 3 Jul 2023 20:47:15 +0300 Subject: [PATCH 68/70] rollback: allow stored modules to have no memory imports --- frame/contracts/src/wasm/mod.rs | 6 +----- frame/contracts/src/wasm/prepare.rs | 22 ++++++---------------- 2 files changed, 7 insertions(+), 21 deletions(-) diff --git a/frame/contracts/src/wasm/mod.rs b/frame/contracts/src/wasm/mod.rs index 3da73bd878619..04f1ecfb5a6f3 100644 --- a/frame/contracts/src/wasm/mod.rs +++ b/frame/contracts/src/wasm/mod.rs @@ -225,11 +225,7 @@ impl WasmBlob { .map_err(|_| "can't define host functions to Linker")?; // Query wasmi for memory limits specified in the module's import entry. - // We allow already stored modules not to have a memory import, for backwards compatibility. - // If a stored module doesn't have it, it defaults to (0,0), and any access to it will lead - // to out of bounds trap. However, for the newly uploaded ones we do require to have a - // memory import. - let memory_limits = contract.scan_imports::(schedule, false)?; + 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, diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 046f5b4746759..8a6ea85e6c636 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -169,17 +169,15 @@ impl LoadedModule { /// /// 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. - /// - Memory import required but found in the module. /// /// NOTE that only single memory instance is allowed for contract modules, which is enforced by - /// this check run with `require_memory_import: true` combined with multi_memory proposal - /// disabled in the engine. + /// this check combined with multi_memory proposal gets disabled in the engine. pub fn scan_imports( &self, schedule: &Schedule, - require_memory_import: bool, ) -> Result<(u32, u32), &'static str> { let module = &self.module; let imports = module.imports(); @@ -233,11 +231,7 @@ impl LoadedModule { } } - // If we don't require module to have a memory import, - // then we return (0,0) for the module not having such an import. - // Any access to it will lead to out of bounds trap. - if !require_memory_import { memory_limits.or(Default::default()) } else { memory_limits } - .ok_or("No memory import found in the module") + memory_limits.ok_or("No memory import found in the module") } } @@ -247,8 +241,6 @@ impl LoadedModule { /// 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. -/// -/// We need to fo this check only once when uploading a new code. fn validate( code: &[u8], schedule: &Schedule, @@ -263,11 +255,9 @@ where // We check that the module is generally valid, // and does not have restricted WebAssembly features, here. let contract_module = LoadedModule::new::(code, determinism, None)?; - // Checks that module satisfies constraints required for contracts. + // The we check that module satisfies constraints the pallet puts on contracts. contract_module.scan_exports()?; - // We check module imports contstraints including the memory import which is obligatory to - // have for the newly uploaded contracts. - contract_module.scan_imports::(schedule, true)?; + contract_module.scan_imports::(schedule)?; Ok(()) })() .map_err(|msg: &str| { @@ -349,7 +339,7 @@ pub mod benchmarking { ) -> Result, DispatchError> { let determinism = Determinism::Enforced; let contract_module = LoadedModule::new::(&code, determinism, None)?; - let _ = contract_module.scan_imports::(schedule, true)?; + let _ = contract_module.scan_imports::(schedule)?; let code: CodeVec = code.try_into().map_err(|_| >::CodeTooLarge)?; let code_info = CodeInfo { owner, From b55dbcb2bdc59ecc74e860f4632e1ffe3acdd0ca Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Mon, 3 Jul 2023 19:36:54 +0000 Subject: [PATCH 69/70] ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts --- frame/contracts/src/weights.rs | 1242 ++++++++++++++++---------------- 1 file changed, 619 insertions(+), 623 deletions(-) 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())) } } From 39fb73054f3a864797cc9e70cd87f78d0048c880 Mon Sep 17 00:00:00 2001 From: Alexander Gryaznov Date: Tue, 4 Jul 2023 21:31:28 +0300 Subject: [PATCH 70/70] address review comments --- frame/contracts/src/tests.rs | 2 +- frame/contracts/src/wasm/prepare.rs | 24 ++++++++---------------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/frame/contracts/src/tests.rs b/frame/contracts/src/tests.rs index c937e3b807665..2e9d1176213ee 100644 --- a/frame/contracts/src/tests.rs +++ b/frame/contracts/src/tests.rs @@ -4419,7 +4419,7 @@ fn code_rejected_error_works() { assert_err!(result.result, >::CodeRejected); assert_eq!( std::str::from_utf8(&result.debug_message).unwrap(), - "Can't load the module to wasmi!" + "Can't load the module into wasmi!" ); let (wasm, _) = compile_module::("invalid_contract_no_call").unwrap(); diff --git a/frame/contracts/src/wasm/prepare.rs b/frame/contracts/src/wasm/prepare.rs index 8a6ea85e6c636..5647d5458e659 100644 --- a/frame/contracts/src/wasm/prepare.rs +++ b/frame/contracts/src/wasm/prepare.rs @@ -73,12 +73,6 @@ impl LoadedModule { determinism: Determinism, stack_limits: Option, ) -> Result { - // 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. - // // 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(); @@ -91,8 +85,6 @@ impl LoadedModule { .wasm_tail_call(false) .wasm_extended_const(false) .wasm_saturating_float_to_int(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)) .consume_fuel(true) .fuel_consumption_mode(FuelConsumptionMode::Eager); @@ -103,7 +95,7 @@ impl LoadedModule { let engine = Engine::new(&config); let module = - Module::new(&engine, code.clone()).map_err(|_| "Can't load the module to wasmi!")?; + Module::new(&engine, code.clone()).map_err(|_| "Can't load the module into wasmi!")?; // Return a `LoadedModule` instance with // __valid__ module. @@ -445,7 +437,7 @@ mod tests { ) (func (export "deploy")) )"#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); mod memories { @@ -499,7 +491,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -552,7 +544,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -791,7 +783,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -803,7 +795,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -815,7 +807,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); prepare_test!( @@ -827,7 +819,7 @@ mod tests { (func (export "deploy")) ) "#, - Err("Can't load the module to wasmi!") + Err("Can't load the module into wasmi!") ); } }