diff --git a/Cargo.lock b/Cargo.lock index 817004c537e46de746212ef091710fc785e0f5cb..56daf8f482d9b02ff03a508fc9baafe43c6f89ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12756,6 +12756,8 @@ dependencies = [ "polkavm 0.21.0", "polkavm-common 0.21.0", "pretty_assertions", + "rand 0.8.5", + "rand_pcg", "rlp 0.6.1", "scale-info", "secp256k1 0.28.2", diff --git a/cumulus/polkadot-omni-node/lib/src/common/mod.rs b/cumulus/polkadot-omni-node/lib/src/common/mod.rs index af003b87e3d24e19d2c0169b29c10d432359d239..7a11d9fb4a9625e955b48a6204e0e7f710ca9a2b 100644 --- a/cumulus/polkadot-omni-node/lib/src/common/mod.rs +++ b/cumulus/polkadot-omni-node/lib/src/common/mod.rs @@ -45,7 +45,7 @@ pub trait NodeBlock: { type BoundedFromStrErr: Debug; type BoundedNumber: FromStr<Err = Self::BoundedFromStrErr> + BlockNumber; - type BoundedHeader: HeaderT<Number = Self::BoundedNumber> + Unpin; + type BoundedHeader: HeaderT<Number = Self::BoundedNumber, Hash = DbHash> + Unpin; } impl<T> NodeBlock for T diff --git a/prdoc/pr_7124.prdoc b/prdoc/pr_7124.prdoc new file mode 100644 index 0000000000000000000000000000000000000000..64118f3bdce81c7f31695de790eb4f09c13d1dda --- /dev/null +++ b/prdoc/pr_7124.prdoc @@ -0,0 +1,9 @@ +title: Remove pallet::getter from pallet-nft-fractionalization +doc: + - audience: Runtime Dev + description: | + This PR removes all pallet::getter occurrences from pallet-nft-fractionalization and replaces them with explicit implementations. + +crates: + - name: pallet-nft-fractionalization + bump: major diff --git a/prdoc/pr_7721.prdoc b/prdoc/pr_7721.prdoc new file mode 100644 index 0000000000000000000000000000000000000000..53dc833fe9e312d020435ef25b22aac5702232bc --- /dev/null +++ b/prdoc/pr_7721.prdoc @@ -0,0 +1,16 @@ +title: 'revive: Rework the instruction benchmark' +doc: +- audience: Runtime Dev + description: |- + Fixes https://github.com/paritytech/polkadot-sdk/issues/6157 + + This fixes the last remaining benchmark that was not correct since it was too low level to be written in Rust. Instead, we opted. + + This PR changes the benchmark that determines the scaling from `ref_time` to PolkaVM `Gas` by benchmarking the absolute worst case of an instruction: One that causes two cache misses by touching two cache lines. + + The Contract itself is designed to be as simple as possible. It does random unaligned reads in a loop until the `r` (repetition) number is reached. The randomness is fully generated by the host and written to the guests memory before the benchmark is run. This allows the benchmark to determine the influence of one loop iteration via linear regression. +crates: +- name: pallet-revive + bump: patch +- name: pallet-revive-fixtures + bump: major diff --git a/prdoc/pr_7756.prdoc b/prdoc/pr_7756.prdoc new file mode 100644 index 0000000000000000000000000000000000000000..908374ae46a68dc0a9a26df3db0a2cfa83c752c1 --- /dev/null +++ b/prdoc/pr_7756.prdoc @@ -0,0 +1,7 @@ +title: Fix unspecified Hash in NodeBlock +doc: +- audience: Node Dev + description: "Specified Hash type for BoundedHeader in NodeBlock, fixing possible internal compiler error" +crates: +- name: polkadot-omni-node-lib + bump: patch diff --git a/substrate/frame/nft-fractionalization/src/lib.rs b/substrate/frame/nft-fractionalization/src/lib.rs index 5fa990ecebe66e5b48069cbc4f90f50f032f528a..7259d38061985e582d6775441f2c851fe696ac2a 100644 --- a/substrate/frame/nft-fractionalization/src/lib.rs +++ b/substrate/frame/nft-fractionalization/src/lib.rs @@ -159,7 +159,6 @@ pub mod pallet { /// Keeps track of the corresponding NFT ID, asset ID and amount minted. #[pallet::storage] - #[pallet::getter(fn nft_to_asset)] pub type NftToAsset<T: Config> = StorageMap< _, Blake2_128Concat, @@ -338,6 +337,13 @@ pub mod pallet { T::PalletId::get().into_account_truncating() } + /// Keeps track of the corresponding NFT ID, asset ID and amount minted. + pub fn nft_to_asset( + key: (T::NftCollectionId, T::NftId), + ) -> Option<Details<AssetIdOf<T>, AssetBalanceOf<T>, DepositOf<T>, T::AccountId>> { + NftToAsset::<T>::get(key) + } + /// Prevent further transferring of NFT. fn do_lock_nft(nft_collection_id: T::NftCollectionId, nft_id: T::NftId) -> DispatchResult { T::Nfts::disable_transfer(&nft_collection_id, &nft_id) diff --git a/substrate/frame/revive/Cargo.toml b/substrate/frame/revive/Cargo.toml index b3d8feb890f37abacb9fab2c93679d5b104292d7..9f57e45fafbeeb571e229d5e24f344c9416a5733 100644 --- a/substrate/frame/revive/Cargo.toml +++ b/substrate/frame/revive/Cargo.toml @@ -29,6 +29,8 @@ log = { workspace = true } paste = { workspace = true } polkavm = { version = "0.21.0", default-features = false } polkavm-common = { version = "0.21.0", default-features = false, optional = true } +rand = { workspace = true, optional = true } +rand_pcg = { workspace = true, optional = true } rlp = { workspace = true } scale-info = { features = ["derive"], workspace = true } serde = { features = [ @@ -94,6 +96,7 @@ std = [ "pallet-utility/std", "polkavm-common?/std", "polkavm/std", + "rand?/std", "rlp/std", "scale-info/std", "secp256k1/std", @@ -123,6 +126,8 @@ runtime-benchmarks = [ "pallet-transaction-payment/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "polkavm-common/alloc", + "rand", + "rand_pcg", "sp-consensus-aura", "sp-consensus-babe", "sp-consensus-slots", diff --git a/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs b/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs deleted file mode 100644 index 0492652b0d036c08881b756226a59b2b4cbf39ca..0000000000000000000000000000000000000000 --- a/substrate/frame/revive/fixtures/contracts/instr_benchmark.rs +++ /dev/null @@ -1,43 +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. -#![no_std] -#![no_main] - -extern crate common; - -use common::input; -use uapi::{HostFn, HostFnImpl as api, ReturnFlags}; - -static mut MULT: [u32; 5_000] = [1u32; 5_000]; - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn deploy() {} - -#[no_mangle] -#[polkavm_derive::polkavm_export] -pub extern "C" fn call() { - input!(rounds: u32, ); - - let mut acc = 5; - - for i in 0..rounds { - acc = acc * unsafe { MULT[i as usize] } - } - - api::return_value(ReturnFlags::empty(), acc.to_le_bytes().as_ref()); -} diff --git a/substrate/frame/revive/fixtures/src/lib.rs b/substrate/frame/revive/fixtures/src/lib.rs index 7685253d1ea2cc227a6ef13f20330c711ada4502..42e85543cc8b17257096c812953dd42ea9532f4b 100644 --- a/substrate/frame/revive/fixtures/src/lib.rs +++ b/substrate/frame/revive/fixtures/src/lib.rs @@ -40,7 +40,6 @@ pub mod bench { use alloc::vec::Vec; pub const DUMMY: &[u8] = fixture!("dummy"); pub const NOOP: &[u8] = fixture!("noop"); - pub const INSTR: &[u8] = fixture!("instr_benchmark"); pub fn dummy_unique(replace_with: u32) -> Vec<u8> { let mut dummy = DUMMY.to_vec(); diff --git a/substrate/frame/revive/src/benchmarking/call_builder.rs b/substrate/frame/revive/src/benchmarking/call_builder.rs index 077e18ff5f0b805654d91c86f040e5269819eb67..9cc1cedd6fc8088f4bf5cc5ba706b56702230eb9 100644 --- a/substrate/frame/revive/src/benchmarking/call_builder.rs +++ b/substrate/frame/revive/src/benchmarking/call_builder.rs @@ -150,8 +150,11 @@ where ext: &'a mut StackExt<'a, T>, module: WasmBlob<T>, input: Vec<u8>, + aux_data_size: u32, ) -> PreparedCall<'a, StackExt<'a, T>> { - module.prepare_call(Runtime::new(ext, input), ExportedFunction::Call).unwrap() + module + .prepare_call(Runtime::new(ext, input), ExportedFunction::Call, aux_data_size) + .unwrap() } /// Add transient_storage diff --git a/substrate/frame/revive/src/benchmarking/code.rs b/substrate/frame/revive/src/benchmarking/code.rs index ba498461074a5870724ebc0853c7b631ec665082..4512d6da2e9029305fcfc869eda445bcdf6c9fe7 100644 --- a/substrate/frame/revive/src/benchmarking/code.rs +++ b/substrate/frame/revive/src/benchmarking/code.rs @@ -95,9 +95,28 @@ impl WasmModule { Self::new(bench_fixtures::NOOP.to_vec()) } - /// A contract code that executes some ALU instructions in a loop. - pub fn instr() -> Self { - Self::new(bench_fixtures::INSTR.to_vec()) + /// A contract code that does unaligned memory accessed in a loop. + pub fn instr(do_load: bool) -> Self { + let load = match do_load { + false => "", + true => "a0 = u64 [a0]", + }; + let text = alloc::format!( + " + pub @deploy: + ret + pub @call: + @loop: + jump @done if t0 == a1 + {load} + t0 = t0 + 1 + jump @loop + @done: + ret + " + ); + let code = polkavm_common::assembler::assemble(&text).unwrap(); + Self::new(code) } fn new(code: Vec<u8>) -> Self { diff --git a/substrate/frame/revive/src/benchmarking/mod.rs b/substrate/frame/revive/src/benchmarking/mod.rs index 074b8607128d4b13287fddb56f59d92a5ba54530..ac39a48d416744c4145a216b42491945e85bde0b 100644 --- a/substrate/frame/revive/src/benchmarking/mod.rs +++ b/substrate/frame/revive/src/benchmarking/mod.rs @@ -59,12 +59,6 @@ use sp_runtime::{ /// but might make the results less precise. const API_BENCHMARK_RUNS: u32 = 1600; -/// How many runs we do per instruction benchmark. -/// -/// Same rationale as for [`API_BENCHMARK_RUNS`]. The number is bigger because instruction -/// benchmarks are faster. -const INSTR_BENCHMARK_RUNS: u32 = 5000; - /// Number of layers in a Radix16 unbalanced trie. const UNBALANCED_TRIE_LAYERS: u32 = 20; @@ -549,7 +543,7 @@ mod benchmarks { fn noop_host_fn(r: Linear<0, API_BENCHMARK_RUNS>) { let mut setup = CallSetup::<T>::new(WasmModule::noop()); let (mut ext, module) = setup.ext(); - let prepared = CallSetup::<T>::prepare_call(&mut ext, module, r.encode()); + let prepared = CallSetup::<T>::prepare_call(&mut ext, module, r.encode(), 0); #[block] { prepared.call().unwrap(); @@ -2004,11 +1998,82 @@ mod benchmarks { } // Benchmark the execution of instructions. + // + // It benchmarks the absolute worst case by allocating a lot of memory + // and then accessing it so that each instruction generates two cache misses. + #[benchmark(pov_mode = Ignored)] + fn instr(r: Linear<0, 10_000>) { + use rand::{seq::SliceRandom, SeedableRng}; + use rand_pcg::Pcg64; + + // Ideally, this needs to be bigger than the cache. + const MEMORY_SIZE: u64 = sp_core::MAX_POSSIBLE_ALLOCATION as u64; + + // This is benchmarked for x86-64. + const CACHE_LINE_SIZE: u64 = 64; + + // An 8 byte load from this misalignment will reach into the subsequent line. + const MISALIGNMENT: u64 = 60; + + // We only need one address per cache line. + // -1 because we skip the first address + const NUM_ADDRESSES: u64 = (MEMORY_SIZE - MISALIGNMENT) / CACHE_LINE_SIZE - 1; + + assert!( + u64::from(r) <= NUM_ADDRESSES / 2, + "If we do too many iterations we run into the risk of loading from warm cache lines", + ); + + let mut setup = CallSetup::<T>::new(WasmModule::instr(true)); + let (mut ext, module) = setup.ext(); + let mut prepared = + CallSetup::<T>::prepare_call(&mut ext, module, Vec::new(), MEMORY_SIZE as u32); + + assert!( + u64::from(prepared.aux_data_base()) & (CACHE_LINE_SIZE - 1) == 0, + "aux data base must be cache aligned" + ); + + // Addresses data will be located inside the aux data. + let misaligned_base = u64::from(prepared.aux_data_base()) + MISALIGNMENT; + + // Create all possible addresses and shuffle them. This makes sure + // the accesses are random but no address is accessed more than once. + // we skip the first address since it is our entry point + let mut addresses = Vec::with_capacity(NUM_ADDRESSES as usize); + for i in 1..NUM_ADDRESSES { + let addr = (misaligned_base + i * CACHE_LINE_SIZE).to_le_bytes(); + addresses.push(addr); + } + let mut rng = Pcg64::seed_from_u64(1337); + addresses.shuffle(&mut rng); + + // The addresses need to be padded to be one cache line apart. + let mut memory = Vec::with_capacity((NUM_ADDRESSES * CACHE_LINE_SIZE) as usize); + for address in addresses { + memory.extend_from_slice(&address); + memory.resize(memory.len() + CACHE_LINE_SIZE as usize - address.len(), 0); + } + + // Copies `memory` to `aux_data_base + MISALIGNMENT`. + // Sets `a0 = MISALIGNMENT` and `a1 = r`. + prepared + .setup_aux_data(memory.as_slice(), MISALIGNMENT as u32, r.into()) + .unwrap(); + + #[block] + { + prepared.call().unwrap(); + } + } + #[benchmark(pov_mode = Ignored)] - fn instr(r: Linear<0, INSTR_BENCHMARK_RUNS>) { - let mut setup = CallSetup::<T>::new(WasmModule::instr()); + fn instr_empty_loop(r: Linear<0, 100_000>) { + let mut setup = CallSetup::<T>::new(WasmModule::instr(false)); let (mut ext, module) = setup.ext(); - let prepared = CallSetup::<T>::prepare_call(&mut ext, module, r.encode()); + let mut prepared = CallSetup::<T>::prepare_call(&mut ext, module, Vec::new(), 0); + prepared.setup_aux_data(&[], 0, r.into()).unwrap(); + #[block] { prepared.call().unwrap(); diff --git a/substrate/frame/revive/src/gas.rs b/substrate/frame/revive/src/gas.rs index e8338db12192bfe5ba698f191b3469be12d5a511..b310dd4a46a15258d63f174025218199681731af 100644 --- a/substrate/frame/revive/src/gas.rs +++ b/substrate/frame/revive/src/gas.rs @@ -73,11 +73,12 @@ impl<T: Config> EngineMeter<T> { /// How much ref time does each PolkaVM gas correspond to. fn ref_time_per_fuel() -> u64 { - // We execute 6 different instructions therefore we have to divide the actual - // computed gas costs by 6 to have a rough estimate as to how expensive each - // single executed instruction is going to be. - let instr_cost = T::WeightInfo::instr(1).saturating_sub(T::WeightInfo::instr(0)).ref_time(); - instr_cost / 6 + let loop_iteration = + T::WeightInfo::instr(1).saturating_sub(T::WeightInfo::instr(0)).ref_time(); + let empty_loop_iteration = T::WeightInfo::instr_empty_loop(1) + .saturating_sub(T::WeightInfo::instr_empty_loop(0)) + .ref_time(); + loop_iteration.saturating_sub(empty_loop_iteration) } } diff --git a/substrate/frame/revive/src/wasm/mod.rs b/substrate/frame/revive/src/wasm/mod.rs index 512b8574eb1519575e97267a298fe03aa6e577e1..650930eeaca2cfbe698bd773b4024ec60da0a4d2 100644 --- a/substrate/frame/revive/src/wasm/mod.rs +++ b/substrate/frame/revive/src/wasm/mod.rs @@ -307,13 +307,43 @@ where let _ = self.runtime.ext().gas_meter_mut().sync_from_executor(self.instance.gas())?; exec_result } + + /// The guest memory address at which the aux data is located. + #[cfg(feature = "runtime-benchmarks")] + pub fn aux_data_base(&self) -> u32 { + self.instance.module().memory_map().aux_data_address() + } + + /// Copies `data` to the aux data at address `offset`. + /// + /// It sets `a0` to the beginning of data inside the aux data. + /// It sets `a1` to the value passed. + /// + /// Only used in benchmarking so far. + #[cfg(feature = "runtime-benchmarks")] + pub fn setup_aux_data(&mut self, data: &[u8], offset: u32, a1: u64) -> DispatchResult { + let a0 = self.aux_data_base().saturating_add(offset); + self.instance.write_memory(a0, data).map_err(|err| { + log::debug!(target: LOG_TARGET, "failed to write aux data: {err:?}"); + Error::<E::T>::CodeRejected + })?; + self.instance.set_reg(polkavm::Reg::A0, a0.into()); + self.instance.set_reg(polkavm::Reg::A1, a1); + Ok(()) + } } impl<T: Config> WasmBlob<T> { + /// Compile and instantiate contract. + /// + /// `aux_data_size` is only used for runtime benchmarks. Real contracts + /// don't make use of this buffer. Hence this should not be set to anything + /// other than `0` when not used for benchmarking. pub fn prepare_call<E: Ext<T = T>>( self, mut runtime: Runtime<E, polkavm::RawInstance>, entry_point: ExportedFunction, + aux_data_size: u32, ) -> Result<PreparedCall<E>, ExecError> { let mut config = polkavm::Config::default(); config.set_backend(Some(polkavm::BackendKind::Interpreter)); @@ -332,6 +362,7 @@ impl<T: Config> WasmBlob<T> { module_config.set_page_size(limits::PAGE_SIZE); module_config.set_gas_metering(Some(polkavm::GasMeteringKind::Sync)); module_config.set_allow_sbrk(false); + module_config.set_aux_data_size(aux_data_size); let module = polkavm::Module::new(&engine, &module_config, self.code.into_inner().into()) .map_err(|err| { log::debug!(target: LOG_TARGET, "failed to create polkavm module: {err:?}"); @@ -375,7 +406,7 @@ where function: ExportedFunction, input_data: Vec<u8>, ) -> ExecResult { - let prepared_call = self.prepare_call(Runtime::new(ext, input_data), function)?; + let prepared_call = self.prepare_call(Runtime::new(ext, input_data), function, 0)?; prepared_call.call() } diff --git a/substrate/frame/revive/src/weights.rs b/substrate/frame/revive/src/weights.rs index bd9d2d2754e85fd948e34f1a34b809621eb35e76..ff320cd408eb6b577e39d3e46fb4e9889ed5e94d 100644 --- a/substrate/frame/revive/src/weights.rs +++ b/substrate/frame/revive/src/weights.rs @@ -35,9 +35,9 @@ //! Autogenerated weights for `pallet_revive` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-02-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `4563561839a5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `d802342bffd2`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: @@ -151,6 +151,7 @@ pub trait WeightInfo { fn seal_ecdsa_to_eth_address() -> Weight; fn seal_set_code_hash() -> Weight; fn instr(r: u32, ) -> Weight; + fn instr_empty_loop(r: u32, ) -> Weight; } /// Weights for `pallet_revive` using the Substrate node and recommended hardware. @@ -162,8 +163,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 680_000 picoseconds. - Weight::from_parts(730_000, 1485) + // Minimum execution time: 726_000 picoseconds. + Weight::from_parts(771_000, 1485) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -173,10 +174,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `230 + k * (69 ±0)` // Estimated: `222 + k * (70 ±0)` - // Minimum execution time: 10_324_000 picoseconds. - Weight::from_parts(10_472_000, 222) - // Standard Error: 854 - .saturating_add(Weight::from_parts(1_167_150, 0).saturating_mul(k.into())) + // Minimum execution time: 10_616_000 picoseconds. + Weight::from_parts(10_903_000, 222) + // Standard Error: 966 + .saturating_add(Weight::from_parts(1_172_694, 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)) @@ -200,10 +201,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `524 + c * (1 ±0)` // Estimated: `6458 + c * (1 ±0)` - // Minimum execution time: 72_250_000 picoseconds. - Weight::from_parts(100_842_693, 6458) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_613, 0).saturating_mul(c.into())) + // Minimum execution time: 69_463_000 picoseconds. + Weight::from_parts(95_173_875, 6458) + // Standard Error: 14 + .saturating_add(Weight::from_parts(1_798, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -221,14 +222,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) /// The range of component `b` is `[0, 1]`. - fn basic_block_compilation(b: u32, ) -> Weight { + fn basic_block_compilation(_b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `3892` // Estimated: `9832` - // Minimum execution time: 111_430_000 picoseconds. - Weight::from_parts(114_484_140, 9832) - // Standard Error: 357_686 - .saturating_add(Weight::from_parts(1_100_959, 0).saturating_mul(b.into())) + // Minimum execution time: 106_781_000 picoseconds. + Weight::from_parts(110_275_234, 9832) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -252,12 +251,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `93` // Estimated: `6033` - // Minimum execution time: 1_495_851_000 picoseconds. - Weight::from_parts(167_205_376, 6033) - // Standard Error: 33 - .saturating_add(Weight::from_parts(18_445, 0).saturating_mul(c.into())) - // Standard Error: 13 - .saturating_add(Weight::from_parts(5_065, 0).saturating_mul(i.into())) + // Minimum execution time: 1_493_236_000 picoseconds. + Weight::from_parts(130_892_279, 6033) + // Standard Error: 44 + .saturating_add(Weight::from_parts(19_685, 0).saturating_mul(c.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(5_186, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(6_u64)) } @@ -280,10 +279,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `987` // Estimated: `4452` - // Minimum execution time: 141_540_000 picoseconds. - Weight::from_parts(82_798_725, 4452) - // Standard Error: 22 - .saturating_add(Weight::from_parts(5_204, 0).saturating_mul(i.into())) + // Minimum execution time: 135_005_000 picoseconds. + Weight::from_parts(72_934_362, 4452) + // Standard Error: 25 + .saturating_add(Weight::from_parts(5_282, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -303,8 +302,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `1194` // Estimated: `7134` - // Minimum execution time: 74_415_000 picoseconds. - Weight::from_parts(76_377_000, 7134) + // Minimum execution time: 72_372_000 picoseconds. + Weight::from_parts(73_359_000, 7134) .saturating_add(T::DbWeight::get().reads(7_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -319,10 +318,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 41_185_000 picoseconds. - Weight::from_parts(22_463_545, 3465) - // Standard Error: 16 - .saturating_add(Weight::from_parts(14_230, 0).saturating_mul(c.into())) + // Minimum execution time: 38_319_000 picoseconds. + Weight::from_parts(19_271_971, 3465) + // Standard Error: 20 + .saturating_add(Weight::from_parts(14_786, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -336,8 +335,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `181` // Estimated: `3646` - // Minimum execution time: 35_342_000 picoseconds. - Weight::from_parts(36_075_000, 3646) + // Minimum execution time: 34_399_000 picoseconds. + Weight::from_parts(35_029_000, 3646) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -349,8 +348,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `424` // Estimated: `6364` - // Minimum execution time: 18_635_000 picoseconds. - Weight::from_parts(19_182_000, 6364) + // Minimum execution time: 19_108_000 picoseconds. + Weight::from_parts(19_626_000, 6364) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -362,8 +361,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 37_493_000 picoseconds. - Weight::from_parts(38_114_000, 3465) + // Minimum execution time: 35_959_000 picoseconds. + Weight::from_parts(36_316_000, 3465) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -375,8 +374,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `56` // Estimated: `3521` - // Minimum execution time: 30_497_000 picoseconds. - Weight::from_parts(31_088_000, 3521) + // Minimum execution time: 29_677_000 picoseconds. + Weight::from_parts(30_167_000, 3521) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -388,8 +387,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 6_094_000 picoseconds. - Weight::from_parts(6_307_000, 3465) + // Minimum execution time: 6_105_000 picoseconds. + Weight::from_parts(6_359_000, 3465) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// The range of component `r` is `[0, 1600]`. @@ -397,24 +396,24 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_077_000 picoseconds. - Weight::from_parts(8_045_135, 0) - // Standard Error: 193 - .saturating_add(Weight::from_parts(166_159, 0).saturating_mul(r.into())) + // Minimum execution time: 6_095_000 picoseconds. + Weight::from_parts(6_725_498, 0) + // Standard Error: 257 + .saturating_add(Weight::from_parts(167_338, 0).saturating_mul(r.into())) } fn seal_caller() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 239_000 picoseconds. - Weight::from_parts(273_000, 0) + // Minimum execution time: 252_000 picoseconds. + Weight::from_parts(300_000, 0) } fn seal_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 210_000 picoseconds. - Weight::from_parts(272_000, 0) + // Minimum execution time: 260_000 picoseconds. + Weight::from_parts(308_000, 0) } /// Storage: `Revive::ContractInfoOf` (r:1 w:0) /// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(242), added: 2717, mode: `Measured`) @@ -422,8 +421,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `202` // Estimated: `3667` - // Minimum execution time: 6_204_000 picoseconds. - Weight::from_parts(6_407_000, 3667) + // Minimum execution time: 6_409_000 picoseconds. + Weight::from_parts(6_639_000, 3667) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) @@ -432,8 +431,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `144` // Estimated: `3609` - // Minimum execution time: 5_817_000 picoseconds. - Weight::from_parts(5_941_000, 3609) + // Minimum execution time: 5_975_000 picoseconds. + Weight::from_parts(6_218_000, 3609) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Revive::ContractInfoOf` (r:1 w:0) @@ -442,16 +441,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `298` // Estimated: `3763` - // Minimum execution time: 7_013_000 picoseconds. - Weight::from_parts(7_247_000, 3763) + // Minimum execution time: 7_359_000 picoseconds. + Weight::from_parts(7_605_000, 3763) .saturating_add(T::DbWeight::get().reads(1_u64)) } fn seal_own_code_hash() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 229_000 picoseconds. - Weight::from_parts(281_000, 0) + // Minimum execution time: 262_000 picoseconds. + Weight::from_parts(293_000, 0) } /// Storage: `Revive::ContractInfoOf` (r:1 w:0) /// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(242), added: 2717, mode: `Measured`) @@ -461,51 +460,51 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `368` // Estimated: `3833` - // Minimum execution time: 10_253_000 picoseconds. - Weight::from_parts(10_637_000, 3833) + // Minimum execution time: 10_585_000 picoseconds. + Weight::from_parts(10_890_000, 3833) .saturating_add(T::DbWeight::get().reads(2_u64)) } fn seal_caller_is_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 286_000 picoseconds. - Weight::from_parts(318_000, 0) + // Minimum execution time: 300_000 picoseconds. + Weight::from_parts(342_000, 0) } fn seal_caller_is_root() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 257_000 picoseconds. - Weight::from_parts(290_000, 0) + // Minimum execution time: 255_000 picoseconds. + Weight::from_parts(272_000, 0) } fn seal_address() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 223_000 picoseconds. - Weight::from_parts(287_000, 0) + // Minimum execution time: 222_000 picoseconds. + Weight::from_parts(264_000, 0) } fn seal_weight_left() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 621_000 picoseconds. - Weight::from_parts(690_000, 0) + // Minimum execution time: 661_000 picoseconds. + Weight::from_parts(722_000, 0) } fn seal_ref_time_left() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 231_000 picoseconds. - Weight::from_parts(291_000, 0) + // Minimum execution time: 263_000 picoseconds. + Weight::from_parts(304_000, 0) } fn seal_balance() -> Weight { // Proof Size summary in bytes: // Measured: `102` // Estimated: `0` - // Minimum execution time: 4_325_000 picoseconds. - Weight::from_parts(4_446_000, 0) + // Minimum execution time: 4_549_000 picoseconds. + Weight::from_parts(4_834_000, 0) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) /// Proof: `Revive::AddressSuffix` (`max_values`: None, `max_size`: Some(32), added: 2507, mode: `Measured`) @@ -515,8 +514,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `160` // Estimated: `3625` - // Minimum execution time: 7_967_000 picoseconds. - Weight::from_parts(8_305_000, 3625) + // Minimum execution time: 8_286_000 picoseconds. + Weight::from_parts(8_643_000, 3625) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: `Revive::ImmutableDataOf` (r:1 w:0) @@ -526,10 +525,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `134 + n * (1 ±0)` // Estimated: `3599 + n * (1 ±0)` - // Minimum execution time: 4_458_000 picoseconds. - Weight::from_parts(5_786_777, 3599) - // Standard Error: 6 - .saturating_add(Weight::from_parts(518, 0).saturating_mul(n.into())) + // Minimum execution time: 4_758_000 picoseconds. + Weight::from_parts(6_137_118, 3599) + // Standard Error: 7 + .saturating_add(Weight::from_parts(550, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -540,67 +539,67 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_678_000 picoseconds. - Weight::from_parts(1_876_713, 0) + // Minimum execution time: 1_665_000 picoseconds. + Weight::from_parts(1_850_060, 0) // Standard Error: 1 - .saturating_add(Weight::from_parts(522, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(539, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().writes(1_u64)) } fn seal_value_transferred() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 220_000 picoseconds. - Weight::from_parts(276_000, 0) + // Minimum execution time: 265_000 picoseconds. + Weight::from_parts(308_000, 0) } fn seal_minimum_balance() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 268_000 picoseconds. - Weight::from_parts(294_000, 0) + // Minimum execution time: 239_000 picoseconds. + Weight::from_parts(277_000, 0) } fn seal_return_data_size() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 228_000 picoseconds. - Weight::from_parts(260_000, 0) + // Minimum execution time: 251_000 picoseconds. + Weight::from_parts(280_000, 0) } fn seal_call_data_size() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 226_000 picoseconds. - Weight::from_parts(261_000, 0) + // Minimum execution time: 238_000 picoseconds. + Weight::from_parts(287_000, 0) } fn seal_gas_limit() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 354_000 picoseconds. - Weight::from_parts(397_000, 0) + // Minimum execution time: 372_000 picoseconds. + Weight::from_parts(423_000, 0) } fn seal_gas_price() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 257_000 picoseconds. - Weight::from_parts(288_000, 0) + // Minimum execution time: 227_000 picoseconds. + Weight::from_parts(293_000, 0) } fn seal_base_fee() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 217_000 picoseconds. - Weight::from_parts(261_000, 0) + // Minimum execution time: 244_000 picoseconds. + Weight::from_parts(272_000, 0) } fn seal_block_number() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 236_000 picoseconds. - Weight::from_parts(282_000, 0) + // Minimum execution time: 253_000 picoseconds. + Weight::from_parts(279_000, 0) } /// Storage: `Session::Validators` (r:1 w:0) /// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) @@ -608,8 +607,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 13_312_000 picoseconds. - Weight::from_parts(13_500_000, 1485) + // Minimum execution time: 13_181_000 picoseconds. + Weight::from_parts(13_532_000, 1485) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `System::BlockHash` (r:1 w:0) @@ -618,60 +617,60 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 2_163_000 picoseconds. - Weight::from_parts(2_289_000, 3465) + // Minimum execution time: 2_295_000 picoseconds. + Weight::from_parts(2_370_000, 3465) .saturating_add(T::DbWeight::get().reads(1_u64)) } fn seal_now() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 241_000 picoseconds. - Weight::from_parts(276_000, 0) + // Minimum execution time: 262_000 picoseconds. + Weight::from_parts(285_000, 0) } fn seal_weight_to_fee() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_170_000 picoseconds. - Weight::from_parts(1_273_000, 0) + // Minimum execution time: 1_220_000 picoseconds. + Weight::from_parts(1_317_000, 0) } /// The range of component `n` is `[0, 262140]`. fn seal_copy_to_contract(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 364_000 picoseconds. - Weight::from_parts(620_980, 0) + // Minimum execution time: 383_000 picoseconds. + Weight::from_parts(637_157, 0) // Standard Error: 0 - .saturating_add(Weight::from_parts(199, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(201, 0).saturating_mul(n.into())) } fn seal_call_data_load() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 224_000 picoseconds. - Weight::from_parts(270_000, 0) + // Minimum execution time: 234_000 picoseconds. + Weight::from_parts(266_000, 0) } /// The range of component `n` is `[0, 262144]`. fn seal_call_data_copy(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 210_000 picoseconds. - Weight::from_parts(299_715, 0) + // Minimum execution time: 231_000 picoseconds. + Weight::from_parts(315_183, 0) // Standard Error: 0 - .saturating_add(Weight::from_parts(112, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(113, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262140]`. fn seal_return(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 251_000 picoseconds. - Weight::from_parts(573_814, 0) + // Minimum execution time: 264_000 picoseconds. + Weight::from_parts(465_692, 0) // Standard Error: 0 - .saturating_add(Weight::from_parts(199, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(201, 0).saturating_mul(n.into())) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) /// Proof: `Revive::AddressSuffix` (`max_values`: None, `max_size`: Some(32), added: 2507, mode: `Measured`) @@ -687,8 +686,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `215` // Estimated: `3680` - // Minimum execution time: 13_613_000 picoseconds. - Weight::from_parts(14_070_000, 3680) + // Minimum execution time: 14_167_000 picoseconds. + Weight::from_parts(14_488_000, 3680) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -698,12 +697,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_879_000 picoseconds. - Weight::from_parts(3_833_138, 0) - // Standard Error: 2_100 - .saturating_add(Weight::from_parts(184_685, 0).saturating_mul(t.into())) - // Standard Error: 23 - .saturating_add(Weight::from_parts(996, 0).saturating_mul(n.into())) + // Minimum execution time: 3_745_000 picoseconds. + Weight::from_parts(3_752_672, 0) + // Standard Error: 2_630 + .saturating_add(Weight::from_parts(215_379, 0).saturating_mul(t.into())) + // Standard Error: 28 + .saturating_add(Weight::from_parts(999, 0).saturating_mul(n.into())) } /// Storage: `Skipped::Metadata` (r:0 w:0) /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -711,8 +710,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `552` // Estimated: `552` - // Minimum execution time: 5_320_000 picoseconds. - Weight::from_parts(5_549_000, 552) + // Minimum execution time: 5_458_000 picoseconds. + Weight::from_parts(5_843_000, 552) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -721,8 +720,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `10562` // Estimated: `10562` - // Minimum execution time: 39_124_000 picoseconds. - Weight::from_parts(40_620_000, 10562) + // Minimum execution time: 39_710_000 picoseconds. + Weight::from_parts(41_492_000, 10562) .saturating_add(T::DbWeight::get().reads(1_u64)) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -731,8 +730,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `552` // Estimated: `552` - // Minimum execution time: 6_282_000 picoseconds. - Weight::from_parts(6_517_000, 552) + // Minimum execution time: 6_503_000 picoseconds. + Weight::from_parts(6_788_000, 552) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -742,8 +741,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `10562` // Estimated: `10562` - // Minimum execution time: 41_648_000 picoseconds. - Weight::from_parts(42_980_000, 10562) + // Minimum execution time: 41_564_000 picoseconds. + Weight::from_parts(42_945_000, 10562) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -755,12 +754,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `152 + o * (1 ±0)` // Estimated: `151 + o * (1 ±0)` - // Minimum execution time: 5_966_000 picoseconds. - Weight::from_parts(6_859_141, 151) - // Standard Error: 64 - .saturating_add(Weight::from_parts(552, 0).saturating_mul(n.into())) - // Standard Error: 64 - .saturating_add(Weight::from_parts(1_050, 0).saturating_mul(o.into())) + // Minimum execution time: 6_228_000 picoseconds. + Weight::from_parts(7_403_163, 151) + // Standard Error: 78 + .saturating_add(Weight::from_parts(359, 0).saturating_mul(n.into())) + // Standard Error: 78 + .saturating_add(Weight::from_parts(919, 0).saturating_mul(o.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(o.into())) @@ -772,10 +771,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 5_587_000 picoseconds. - Weight::from_parts(6_834_090, 151) - // Standard Error: 106 - .saturating_add(Weight::from_parts(1_377, 0).saturating_mul(n.into())) + // Minimum execution time: 5_834_000 picoseconds. + Weight::from_parts(7_142_600, 151) + // Standard Error: 124 + .saturating_add(Weight::from_parts(1_559, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -787,10 +786,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 5_331_000 picoseconds. - Weight::from_parts(6_626_552, 151) - // Standard Error: 110 - .saturating_add(Weight::from_parts(1_967, 0).saturating_mul(n.into())) + // Minimum execution time: 5_640_000 picoseconds. + Weight::from_parts(7_020_908, 151) + // Standard Error: 113 + .saturating_add(Weight::from_parts(1_856, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -801,10 +800,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 4_969_000 picoseconds. - Weight::from_parts(6_139_466, 151) - // Standard Error: 105 - .saturating_add(Weight::from_parts(1_494, 0).saturating_mul(n.into())) + // Minimum execution time: 5_162_000 picoseconds. + Weight::from_parts(6_328_321, 151) + // Standard Error: 117 + .saturating_add(Weight::from_parts(1_450, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -815,10 +814,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 6_191_000 picoseconds. - Weight::from_parts(7_474_719, 151) - // Standard Error: 116 - .saturating_add(Weight::from_parts(1_822, 0).saturating_mul(n.into())) + // Minimum execution time: 6_266_000 picoseconds. + Weight::from_parts(7_758_145, 151) + // Standard Error: 124 + .saturating_add(Weight::from_parts(2_268, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -827,36 +826,36 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_351_000 picoseconds. - Weight::from_parts(1_443_000, 0) + // Minimum execution time: 1_403_000 picoseconds. + Weight::from_parts(1_515_000, 0) } fn set_transient_storage_full() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_637_000 picoseconds. - Weight::from_parts(1_728_000, 0) + // Minimum execution time: 1_736_000 picoseconds. + Weight::from_parts(1_844_000, 0) } fn get_transient_storage_empty() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_339_000 picoseconds. - Weight::from_parts(1_430_000, 0) + // Minimum execution time: 1_382_000 picoseconds. + Weight::from_parts(1_485_000, 0) } fn get_transient_storage_full() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_469_000 picoseconds. - Weight::from_parts(1_567_000, 0) + // Minimum execution time: 1_548_000 picoseconds. + Weight::from_parts(1_610_000, 0) } fn rollback_transient_storage() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_008_000 picoseconds. - Weight::from_parts(1_065_000, 0) + // Minimum execution time: 1_018_000 picoseconds. + Weight::from_parts(1_076_000, 0) } /// The range of component `n` is `[0, 416]`. /// The range of component `o` is `[0, 416]`. @@ -864,50 +863,50 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_022_000 picoseconds. - Weight::from_parts(2_200_070, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(250, 0).saturating_mul(n.into())) - // Standard Error: 11 - .saturating_add(Weight::from_parts(371, 0).saturating_mul(o.into())) + // Minimum execution time: 2_051_000 picoseconds. + Weight::from_parts(2_307_119, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(211, 0).saturating_mul(n.into())) + // Standard Error: 13 + .saturating_add(Weight::from_parts(287, 0).saturating_mul(o.into())) } /// The range of component `n` is `[0, 416]`. fn seal_clear_transient_storage(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_839_000 picoseconds. - Weight::from_parts(2_183_763, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(304, 0).saturating_mul(n.into())) + // Minimum execution time: 1_844_000 picoseconds. + Weight::from_parts(2_187_216, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(325, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 416]`. fn seal_get_transient_storage(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_732_000 picoseconds. - Weight::from_parts(1_944_259, 0) + // Minimum execution time: 1_739_000 picoseconds. + Weight::from_parts(1_948_795, 0) // Standard Error: 14 - .saturating_add(Weight::from_parts(191, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(234, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 416]`. fn seal_contains_transient_storage(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_565_000 picoseconds. - Weight::from_parts(1_763_064, 0) - // Standard Error: 12 - .saturating_add(Weight::from_parts(189, 0).saturating_mul(n.into())) + // Minimum execution time: 1_593_000 picoseconds. + Weight::from_parts(1_780_040, 0) + // Standard Error: 15 + .saturating_add(Weight::from_parts(197, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 416]`. fn seal_take_transient_storage(_n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_244_000 picoseconds. - Weight::from_parts(2_448_527, 0) + // Minimum execution time: 2_292_000 picoseconds. + Weight::from_parts(2_515_910, 0) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) /// Proof: `Revive::AddressSuffix` (`max_values`: None, `max_size`: Some(32), added: 2507, mode: `Measured`) @@ -921,16 +920,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) /// The range of component `t` is `[0, 1]`. /// The range of component `i` is `[0, 262144]`. - fn seal_call(t: u32, i: u32, ) -> Weight { + fn seal_call(t: u32, _i: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `1165 + t * (242 ±0)` // Estimated: `4630 + t * (2436 ±0)` - // Minimum execution time: 29_678_000 picoseconds. - Weight::from_parts(30_598_515, 4630) - // Standard Error: 34_776 - .saturating_add(Weight::from_parts(6_829_306, 0).saturating_mul(t.into())) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1, 0).saturating_mul(i.into())) + // Minimum execution time: 30_071_000 picoseconds. + Weight::from_parts(31_203_349, 4630) + // Standard Error: 63_646 + .saturating_add(Weight::from_parts(7_097_249, 0).saturating_mul(t.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(T::DbWeight::get().writes(1_u64)) @@ -946,8 +943,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `1108` // Estimated: `4573` - // Minimum execution time: 23_406_000 picoseconds. - Weight::from_parts(23_881_000, 4573) + // Minimum execution time: 23_440_000 picoseconds. + Weight::from_parts(24_296_000, 4573) .saturating_add(T::DbWeight::get().reads(3_u64)) } /// Storage: `Revive::CodeInfoOf` (r:1 w:1) @@ -963,10 +960,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `1130` // Estimated: `4608` - // Minimum execution time: 110_397_000 picoseconds. - Weight::from_parts(99_251_165, 4608) - // Standard Error: 10 - .saturating_add(Weight::from_parts(4_028, 0).saturating_mul(i.into())) + // Minimum execution time: 105_570_000 picoseconds. + Weight::from_parts(93_244_583, 4608) + // Standard Error: 11 + .saturating_add(Weight::from_parts(4_070, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -975,64 +972,64 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 597_000 picoseconds. - Weight::from_parts(3_011_837, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_324, 0).saturating_mul(n.into())) + // Minimum execution time: 633_000 picoseconds. + Weight::from_parts(2_028_267, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_346, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262144]`. fn seal_hash_keccak_256(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 977_000 picoseconds. - Weight::from_parts(1_780_841, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_571, 0).saturating_mul(n.into())) + // Minimum execution time: 1_026_000 picoseconds. + Weight::from_parts(1_828_261, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(3_566, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262144]`. fn seal_hash_blake2_256(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 620_000 picoseconds. - Weight::from_parts(2_641_338, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_459, 0).saturating_mul(n.into())) + // Minimum execution time: 652_000 picoseconds. + Weight::from_parts(1_883_702, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_469, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262144]`. fn seal_hash_blake2_128(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 582_000 picoseconds. - Weight::from_parts(2_564_984, 0) + // Minimum execution time: 619_000 picoseconds. + Weight::from_parts(2_402_538, 0) // Standard Error: 2 - .saturating_add(Weight::from_parts(1_456, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_464, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 261889]`. fn seal_sr25519_verify(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 47_424_000 picoseconds. - Weight::from_parts(31_409_241, 0) + // Minimum execution time: 42_251_000 picoseconds. + Weight::from_parts(30_574_101, 0) // Standard Error: 10 - .saturating_add(Weight::from_parts(5_162, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(5_043, 0).saturating_mul(n.into())) } fn seal_ecdsa_recover() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 45_744_000 picoseconds. - Weight::from_parts(47_340_000, 0) + // Minimum execution time: 48_588_000 picoseconds. + Weight::from_parts(49_800_000, 0) } fn seal_ecdsa_to_eth_address() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_258_000 picoseconds. - Weight::from_parts(12_400_000, 0) + // Minimum execution time: 12_393_000 picoseconds. + Weight::from_parts(12_656_000, 0) } /// Storage: `Revive::CodeInfoOf` (r:1 w:1) /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) @@ -1040,20 +1037,30 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> { // Proof Size summary in bytes: // Measured: `196` // Estimated: `3661` - // Minimum execution time: 9_637_000 picoseconds. - Weight::from_parts(9_922_000, 3661) + // Minimum execution time: 10_003_000 picoseconds. + Weight::from_parts(10_329_000, 3661) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. + /// The range of component `r` is `[0, 10000]`. fn instr(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_505_000 picoseconds. - Weight::from_parts(9_608_207, 0) - // Standard Error: 152 - .saturating_add(Weight::from_parts(73_332, 0).saturating_mul(r.into())) + // Minimum execution time: 11_475_000 picoseconds. + Weight::from_parts(45_314_927, 0) + // Standard Error: 458 + .saturating_add(Weight::from_parts(126_444, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 100000]`. + fn instr_empty_loop(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_711_000 picoseconds. + Weight::from_parts(8_586_335, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(73_090, 0).saturating_mul(r.into())) } } @@ -1065,8 +1072,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 680_000 picoseconds. - Weight::from_parts(730_000, 1485) + // Minimum execution time: 726_000 picoseconds. + Weight::from_parts(771_000, 1485) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -1076,10 +1083,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `230 + k * (69 ±0)` // Estimated: `222 + k * (70 ±0)` - // Minimum execution time: 10_324_000 picoseconds. - Weight::from_parts(10_472_000, 222) - // Standard Error: 854 - .saturating_add(Weight::from_parts(1_167_150, 0).saturating_mul(k.into())) + // Minimum execution time: 10_616_000 picoseconds. + Weight::from_parts(10_903_000, 222) + // Standard Error: 966 + .saturating_add(Weight::from_parts(1_172_694, 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)) @@ -1103,10 +1110,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `524 + c * (1 ±0)` // Estimated: `6458 + c * (1 ±0)` - // Minimum execution time: 72_250_000 picoseconds. - Weight::from_parts(100_842_693, 6458) - // Standard Error: 11 - .saturating_add(Weight::from_parts(1_613, 0).saturating_mul(c.into())) + // Minimum execution time: 69_463_000 picoseconds. + Weight::from_parts(95_173_875, 6458) + // Standard Error: 14 + .saturating_add(Weight::from_parts(1_798, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) @@ -1124,14 +1131,12 @@ impl WeightInfo for () { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) /// The range of component `b` is `[0, 1]`. - fn basic_block_compilation(b: u32, ) -> Weight { + fn basic_block_compilation(_b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `3892` // Estimated: `9832` - // Minimum execution time: 111_430_000 picoseconds. - Weight::from_parts(114_484_140, 9832) - // Standard Error: 357_686 - .saturating_add(Weight::from_parts(1_100_959, 0).saturating_mul(b.into())) + // Minimum execution time: 106_781_000 picoseconds. + Weight::from_parts(110_275_234, 9832) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1155,12 +1160,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `93` // Estimated: `6033` - // Minimum execution time: 1_495_851_000 picoseconds. - Weight::from_parts(167_205_376, 6033) - // Standard Error: 33 - .saturating_add(Weight::from_parts(18_445, 0).saturating_mul(c.into())) - // Standard Error: 13 - .saturating_add(Weight::from_parts(5_065, 0).saturating_mul(i.into())) + // Minimum execution time: 1_493_236_000 picoseconds. + Weight::from_parts(130_892_279, 6033) + // Standard Error: 44 + .saturating_add(Weight::from_parts(19_685, 0).saturating_mul(c.into())) + // Standard Error: 17 + .saturating_add(Weight::from_parts(5_186, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(6_u64)) } @@ -1183,10 +1188,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `987` // Estimated: `4452` - // Minimum execution time: 141_540_000 picoseconds. - Weight::from_parts(82_798_725, 4452) - // Standard Error: 22 - .saturating_add(Weight::from_parts(5_204, 0).saturating_mul(i.into())) + // Minimum execution time: 135_005_000 picoseconds. + Weight::from_parts(72_934_362, 4452) + // Standard Error: 25 + .saturating_add(Weight::from_parts(5_282, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -1206,8 +1211,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1194` // Estimated: `7134` - // Minimum execution time: 74_415_000 picoseconds. - Weight::from_parts(76_377_000, 7134) + // Minimum execution time: 72_372_000 picoseconds. + Weight::from_parts(73_359_000, 7134) .saturating_add(RocksDbWeight::get().reads(7_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1222,10 +1227,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 41_185_000 picoseconds. - Weight::from_parts(22_463_545, 3465) - // Standard Error: 16 - .saturating_add(Weight::from_parts(14_230, 0).saturating_mul(c.into())) + // Minimum execution time: 38_319_000 picoseconds. + Weight::from_parts(19_271_971, 3465) + // Standard Error: 20 + .saturating_add(Weight::from_parts(14_786, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1239,8 +1244,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `181` // Estimated: `3646` - // Minimum execution time: 35_342_000 picoseconds. - Weight::from_parts(36_075_000, 3646) + // Minimum execution time: 34_399_000 picoseconds. + Weight::from_parts(35_029_000, 3646) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1252,8 +1257,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `424` // Estimated: `6364` - // Minimum execution time: 18_635_000 picoseconds. - Weight::from_parts(19_182_000, 6364) + // Minimum execution time: 19_108_000 picoseconds. + Weight::from_parts(19_626_000, 6364) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1265,8 +1270,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 37_493_000 picoseconds. - Weight::from_parts(38_114_000, 3465) + // Minimum execution time: 35_959_000 picoseconds. + Weight::from_parts(36_316_000, 3465) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1278,8 +1283,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `56` // Estimated: `3521` - // Minimum execution time: 30_497_000 picoseconds. - Weight::from_parts(31_088_000, 3521) + // Minimum execution time: 29_677_000 picoseconds. + Weight::from_parts(30_167_000, 3521) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -1291,8 +1296,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 6_094_000 picoseconds. - Weight::from_parts(6_307_000, 3465) + // Minimum execution time: 6_105_000 picoseconds. + Weight::from_parts(6_359_000, 3465) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// The range of component `r` is `[0, 1600]`. @@ -1300,24 +1305,24 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_077_000 picoseconds. - Weight::from_parts(8_045_135, 0) - // Standard Error: 193 - .saturating_add(Weight::from_parts(166_159, 0).saturating_mul(r.into())) + // Minimum execution time: 6_095_000 picoseconds. + Weight::from_parts(6_725_498, 0) + // Standard Error: 257 + .saturating_add(Weight::from_parts(167_338, 0).saturating_mul(r.into())) } fn seal_caller() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 239_000 picoseconds. - Weight::from_parts(273_000, 0) + // Minimum execution time: 252_000 picoseconds. + Weight::from_parts(300_000, 0) } fn seal_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 210_000 picoseconds. - Weight::from_parts(272_000, 0) + // Minimum execution time: 260_000 picoseconds. + Weight::from_parts(308_000, 0) } /// Storage: `Revive::ContractInfoOf` (r:1 w:0) /// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(242), added: 2717, mode: `Measured`) @@ -1325,8 +1330,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `202` // Estimated: `3667` - // Minimum execution time: 6_204_000 picoseconds. - Weight::from_parts(6_407_000, 3667) + // Minimum execution time: 6_409_000 picoseconds. + Weight::from_parts(6_639_000, 3667) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) @@ -1335,8 +1340,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `144` // Estimated: `3609` - // Minimum execution time: 5_817_000 picoseconds. - Weight::from_parts(5_941_000, 3609) + // Minimum execution time: 5_975_000 picoseconds. + Weight::from_parts(6_218_000, 3609) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Revive::ContractInfoOf` (r:1 w:0) @@ -1345,16 +1350,16 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `298` // Estimated: `3763` - // Minimum execution time: 7_013_000 picoseconds. - Weight::from_parts(7_247_000, 3763) + // Minimum execution time: 7_359_000 picoseconds. + Weight::from_parts(7_605_000, 3763) .saturating_add(RocksDbWeight::get().reads(1_u64)) } fn seal_own_code_hash() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 229_000 picoseconds. - Weight::from_parts(281_000, 0) + // Minimum execution time: 262_000 picoseconds. + Weight::from_parts(293_000, 0) } /// Storage: `Revive::ContractInfoOf` (r:1 w:0) /// Proof: `Revive::ContractInfoOf` (`max_values`: None, `max_size`: Some(242), added: 2717, mode: `Measured`) @@ -1364,51 +1369,51 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `368` // Estimated: `3833` - // Minimum execution time: 10_253_000 picoseconds. - Weight::from_parts(10_637_000, 3833) + // Minimum execution time: 10_585_000 picoseconds. + Weight::from_parts(10_890_000, 3833) .saturating_add(RocksDbWeight::get().reads(2_u64)) } fn seal_caller_is_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 286_000 picoseconds. - Weight::from_parts(318_000, 0) + // Minimum execution time: 300_000 picoseconds. + Weight::from_parts(342_000, 0) } fn seal_caller_is_root() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 257_000 picoseconds. - Weight::from_parts(290_000, 0) + // Minimum execution time: 255_000 picoseconds. + Weight::from_parts(272_000, 0) } fn seal_address() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 223_000 picoseconds. - Weight::from_parts(287_000, 0) + // Minimum execution time: 222_000 picoseconds. + Weight::from_parts(264_000, 0) } fn seal_weight_left() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 621_000 picoseconds. - Weight::from_parts(690_000, 0) + // Minimum execution time: 661_000 picoseconds. + Weight::from_parts(722_000, 0) } fn seal_ref_time_left() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 231_000 picoseconds. - Weight::from_parts(291_000, 0) + // Minimum execution time: 263_000 picoseconds. + Weight::from_parts(304_000, 0) } fn seal_balance() -> Weight { // Proof Size summary in bytes: // Measured: `102` // Estimated: `0` - // Minimum execution time: 4_325_000 picoseconds. - Weight::from_parts(4_446_000, 0) + // Minimum execution time: 4_549_000 picoseconds. + Weight::from_parts(4_834_000, 0) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) /// Proof: `Revive::AddressSuffix` (`max_values`: None, `max_size`: Some(32), added: 2507, mode: `Measured`) @@ -1418,8 +1423,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `160` // Estimated: `3625` - // Minimum execution time: 7_967_000 picoseconds. - Weight::from_parts(8_305_000, 3625) + // Minimum execution time: 8_286_000 picoseconds. + Weight::from_parts(8_643_000, 3625) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: `Revive::ImmutableDataOf` (r:1 w:0) @@ -1429,10 +1434,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `134 + n * (1 ±0)` // Estimated: `3599 + n * (1 ±0)` - // Minimum execution time: 4_458_000 picoseconds. - Weight::from_parts(5_786_777, 3599) - // Standard Error: 6 - .saturating_add(Weight::from_parts(518, 0).saturating_mul(n.into())) + // Minimum execution time: 4_758_000 picoseconds. + Weight::from_parts(6_137_118, 3599) + // Standard Error: 7 + .saturating_add(Weight::from_parts(550, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -1443,67 +1448,67 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_678_000 picoseconds. - Weight::from_parts(1_876_713, 0) + // Minimum execution time: 1_665_000 picoseconds. + Weight::from_parts(1_850_060, 0) // Standard Error: 1 - .saturating_add(Weight::from_parts(522, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(539, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().writes(1_u64)) } fn seal_value_transferred() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 220_000 picoseconds. - Weight::from_parts(276_000, 0) + // Minimum execution time: 265_000 picoseconds. + Weight::from_parts(308_000, 0) } fn seal_minimum_balance() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 268_000 picoseconds. - Weight::from_parts(294_000, 0) + // Minimum execution time: 239_000 picoseconds. + Weight::from_parts(277_000, 0) } fn seal_return_data_size() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 228_000 picoseconds. - Weight::from_parts(260_000, 0) + // Minimum execution time: 251_000 picoseconds. + Weight::from_parts(280_000, 0) } fn seal_call_data_size() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 226_000 picoseconds. - Weight::from_parts(261_000, 0) + // Minimum execution time: 238_000 picoseconds. + Weight::from_parts(287_000, 0) } fn seal_gas_limit() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 354_000 picoseconds. - Weight::from_parts(397_000, 0) + // Minimum execution time: 372_000 picoseconds. + Weight::from_parts(423_000, 0) } fn seal_gas_price() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 257_000 picoseconds. - Weight::from_parts(288_000, 0) + // Minimum execution time: 227_000 picoseconds. + Weight::from_parts(293_000, 0) } fn seal_base_fee() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 217_000 picoseconds. - Weight::from_parts(261_000, 0) + // Minimum execution time: 244_000 picoseconds. + Weight::from_parts(272_000, 0) } fn seal_block_number() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 236_000 picoseconds. - Weight::from_parts(282_000, 0) + // Minimum execution time: 253_000 picoseconds. + Weight::from_parts(279_000, 0) } /// Storage: `Session::Validators` (r:1 w:0) /// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) @@ -1511,8 +1516,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 13_312_000 picoseconds. - Weight::from_parts(13_500_000, 1485) + // Minimum execution time: 13_181_000 picoseconds. + Weight::from_parts(13_532_000, 1485) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `System::BlockHash` (r:1 w:0) @@ -1521,60 +1526,60 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 2_163_000 picoseconds. - Weight::from_parts(2_289_000, 3465) + // Minimum execution time: 2_295_000 picoseconds. + Weight::from_parts(2_370_000, 3465) .saturating_add(RocksDbWeight::get().reads(1_u64)) } fn seal_now() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 241_000 picoseconds. - Weight::from_parts(276_000, 0) + // Minimum execution time: 262_000 picoseconds. + Weight::from_parts(285_000, 0) } fn seal_weight_to_fee() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_170_000 picoseconds. - Weight::from_parts(1_273_000, 0) + // Minimum execution time: 1_220_000 picoseconds. + Weight::from_parts(1_317_000, 0) } /// The range of component `n` is `[0, 262140]`. fn seal_copy_to_contract(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 364_000 picoseconds. - Weight::from_parts(620_980, 0) + // Minimum execution time: 383_000 picoseconds. + Weight::from_parts(637_157, 0) // Standard Error: 0 - .saturating_add(Weight::from_parts(199, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(201, 0).saturating_mul(n.into())) } fn seal_call_data_load() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 224_000 picoseconds. - Weight::from_parts(270_000, 0) + // Minimum execution time: 234_000 picoseconds. + Weight::from_parts(266_000, 0) } /// The range of component `n` is `[0, 262144]`. fn seal_call_data_copy(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 210_000 picoseconds. - Weight::from_parts(299_715, 0) + // Minimum execution time: 231_000 picoseconds. + Weight::from_parts(315_183, 0) // Standard Error: 0 - .saturating_add(Weight::from_parts(112, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(113, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262140]`. fn seal_return(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 251_000 picoseconds. - Weight::from_parts(573_814, 0) + // Minimum execution time: 264_000 picoseconds. + Weight::from_parts(465_692, 0) // Standard Error: 0 - .saturating_add(Weight::from_parts(199, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(201, 0).saturating_mul(n.into())) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) /// Proof: `Revive::AddressSuffix` (`max_values`: None, `max_size`: Some(32), added: 2507, mode: `Measured`) @@ -1590,8 +1595,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `215` // Estimated: `3680` - // Minimum execution time: 13_613_000 picoseconds. - Weight::from_parts(14_070_000, 3680) + // Minimum execution time: 14_167_000 picoseconds. + Weight::from_parts(14_488_000, 3680) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } @@ -1601,12 +1606,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_879_000 picoseconds. - Weight::from_parts(3_833_138, 0) - // Standard Error: 2_100 - .saturating_add(Weight::from_parts(184_685, 0).saturating_mul(t.into())) - // Standard Error: 23 - .saturating_add(Weight::from_parts(996, 0).saturating_mul(n.into())) + // Minimum execution time: 3_745_000 picoseconds. + Weight::from_parts(3_752_672, 0) + // Standard Error: 2_630 + .saturating_add(Weight::from_parts(215_379, 0).saturating_mul(t.into())) + // Standard Error: 28 + .saturating_add(Weight::from_parts(999, 0).saturating_mul(n.into())) } /// Storage: `Skipped::Metadata` (r:0 w:0) /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -1614,8 +1619,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `552` // Estimated: `552` - // Minimum execution time: 5_320_000 picoseconds. - Weight::from_parts(5_549_000, 552) + // Minimum execution time: 5_458_000 picoseconds. + Weight::from_parts(5_843_000, 552) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -1624,8 +1629,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `10562` // Estimated: `10562` - // Minimum execution time: 39_124_000 picoseconds. - Weight::from_parts(40_620_000, 10562) + // Minimum execution time: 39_710_000 picoseconds. + Weight::from_parts(41_492_000, 10562) .saturating_add(RocksDbWeight::get().reads(1_u64)) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -1634,8 +1639,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `552` // Estimated: `552` - // Minimum execution time: 6_282_000 picoseconds. - Weight::from_parts(6_517_000, 552) + // Minimum execution time: 6_503_000 picoseconds. + Weight::from_parts(6_788_000, 552) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1645,8 +1650,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `10562` // Estimated: `10562` - // Minimum execution time: 41_648_000 picoseconds. - Weight::from_parts(42_980_000, 10562) + // Minimum execution time: 41_564_000 picoseconds. + Weight::from_parts(42_945_000, 10562) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -1658,12 +1663,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `152 + o * (1 ±0)` // Estimated: `151 + o * (1 ±0)` - // Minimum execution time: 5_966_000 picoseconds. - Weight::from_parts(6_859_141, 151) - // Standard Error: 64 - .saturating_add(Weight::from_parts(552, 0).saturating_mul(n.into())) - // Standard Error: 64 - .saturating_add(Weight::from_parts(1_050, 0).saturating_mul(o.into())) + // Minimum execution time: 6_228_000 picoseconds. + Weight::from_parts(7_403_163, 151) + // Standard Error: 78 + .saturating_add(Weight::from_parts(359, 0).saturating_mul(n.into())) + // Standard Error: 78 + .saturating_add(Weight::from_parts(919, 0).saturating_mul(o.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(o.into())) @@ -1675,10 +1680,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 5_587_000 picoseconds. - Weight::from_parts(6_834_090, 151) - // Standard Error: 106 - .saturating_add(Weight::from_parts(1_377, 0).saturating_mul(n.into())) + // Minimum execution time: 5_834_000 picoseconds. + Weight::from_parts(7_142_600, 151) + // Standard Error: 124 + .saturating_add(Weight::from_parts(1_559, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1690,10 +1695,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 5_331_000 picoseconds. - Weight::from_parts(6_626_552, 151) - // Standard Error: 110 - .saturating_add(Weight::from_parts(1_967, 0).saturating_mul(n.into())) + // Minimum execution time: 5_640_000 picoseconds. + Weight::from_parts(7_020_908, 151) + // Standard Error: 113 + .saturating_add(Weight::from_parts(1_856, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -1704,10 +1709,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 4_969_000 picoseconds. - Weight::from_parts(6_139_466, 151) - // Standard Error: 105 - .saturating_add(Weight::from_parts(1_494, 0).saturating_mul(n.into())) + // Minimum execution time: 5_162_000 picoseconds. + Weight::from_parts(6_328_321, 151) + // Standard Error: 117 + .saturating_add(Weight::from_parts(1_450, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } @@ -1718,10 +1723,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `152 + n * (1 ±0)` // Estimated: `151 + n * (1 ±0)` - // Minimum execution time: 6_191_000 picoseconds. - Weight::from_parts(7_474_719, 151) - // Standard Error: 116 - .saturating_add(Weight::from_parts(1_822, 0).saturating_mul(n.into())) + // Minimum execution time: 6_266_000 picoseconds. + Weight::from_parts(7_758_145, 151) + // Standard Error: 124 + .saturating_add(Weight::from_parts(2_268, 0).saturating_mul(n.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) @@ -1730,36 +1735,36 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_351_000 picoseconds. - Weight::from_parts(1_443_000, 0) + // Minimum execution time: 1_403_000 picoseconds. + Weight::from_parts(1_515_000, 0) } fn set_transient_storage_full() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_637_000 picoseconds. - Weight::from_parts(1_728_000, 0) + // Minimum execution time: 1_736_000 picoseconds. + Weight::from_parts(1_844_000, 0) } fn get_transient_storage_empty() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_339_000 picoseconds. - Weight::from_parts(1_430_000, 0) + // Minimum execution time: 1_382_000 picoseconds. + Weight::from_parts(1_485_000, 0) } fn get_transient_storage_full() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_469_000 picoseconds. - Weight::from_parts(1_567_000, 0) + // Minimum execution time: 1_548_000 picoseconds. + Weight::from_parts(1_610_000, 0) } fn rollback_transient_storage() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_008_000 picoseconds. - Weight::from_parts(1_065_000, 0) + // Minimum execution time: 1_018_000 picoseconds. + Weight::from_parts(1_076_000, 0) } /// The range of component `n` is `[0, 416]`. /// The range of component `o` is `[0, 416]`. @@ -1767,50 +1772,50 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_022_000 picoseconds. - Weight::from_parts(2_200_070, 0) - // Standard Error: 11 - .saturating_add(Weight::from_parts(250, 0).saturating_mul(n.into())) - // Standard Error: 11 - .saturating_add(Weight::from_parts(371, 0).saturating_mul(o.into())) + // Minimum execution time: 2_051_000 picoseconds. + Weight::from_parts(2_307_119, 0) + // Standard Error: 13 + .saturating_add(Weight::from_parts(211, 0).saturating_mul(n.into())) + // Standard Error: 13 + .saturating_add(Weight::from_parts(287, 0).saturating_mul(o.into())) } /// The range of component `n` is `[0, 416]`. fn seal_clear_transient_storage(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_839_000 picoseconds. - Weight::from_parts(2_183_763, 0) - // Standard Error: 16 - .saturating_add(Weight::from_parts(304, 0).saturating_mul(n.into())) + // Minimum execution time: 1_844_000 picoseconds. + Weight::from_parts(2_187_216, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(325, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 416]`. fn seal_get_transient_storage(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_732_000 picoseconds. - Weight::from_parts(1_944_259, 0) + // Minimum execution time: 1_739_000 picoseconds. + Weight::from_parts(1_948_795, 0) // Standard Error: 14 - .saturating_add(Weight::from_parts(191, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(234, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 416]`. fn seal_contains_transient_storage(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_565_000 picoseconds. - Weight::from_parts(1_763_064, 0) - // Standard Error: 12 - .saturating_add(Weight::from_parts(189, 0).saturating_mul(n.into())) + // Minimum execution time: 1_593_000 picoseconds. + Weight::from_parts(1_780_040, 0) + // Standard Error: 15 + .saturating_add(Weight::from_parts(197, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 416]`. fn seal_take_transient_storage(_n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_244_000 picoseconds. - Weight::from_parts(2_448_527, 0) + // Minimum execution time: 2_292_000 picoseconds. + Weight::from_parts(2_515_910, 0) } /// Storage: `Revive::AddressSuffix` (r:1 w:0) /// Proof: `Revive::AddressSuffix` (`max_values`: None, `max_size`: Some(32), added: 2507, mode: `Measured`) @@ -1824,16 +1829,14 @@ impl WeightInfo for () { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) /// The range of component `t` is `[0, 1]`. /// The range of component `i` is `[0, 262144]`. - fn seal_call(t: u32, i: u32, ) -> Weight { + fn seal_call(t: u32, _i: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `1165 + t * (242 ±0)` // Estimated: `4630 + t * (2436 ±0)` - // Minimum execution time: 29_678_000 picoseconds. - Weight::from_parts(30_598_515, 4630) - // Standard Error: 34_776 - .saturating_add(Weight::from_parts(6_829_306, 0).saturating_mul(t.into())) - // Standard Error: 0 - .saturating_add(Weight::from_parts(1, 0).saturating_mul(i.into())) + // Minimum execution time: 30_071_000 picoseconds. + Weight::from_parts(31_203_349, 4630) + // Standard Error: 63_646 + .saturating_add(Weight::from_parts(7_097_249, 0).saturating_mul(t.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(t.into()))) .saturating_add(RocksDbWeight::get().writes(1_u64)) @@ -1849,8 +1852,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1108` // Estimated: `4573` - // Minimum execution time: 23_406_000 picoseconds. - Weight::from_parts(23_881_000, 4573) + // Minimum execution time: 23_440_000 picoseconds. + Weight::from_parts(24_296_000, 4573) .saturating_add(RocksDbWeight::get().reads(3_u64)) } /// Storage: `Revive::CodeInfoOf` (r:1 w:1) @@ -1866,10 +1869,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `1130` // Estimated: `4608` - // Minimum execution time: 110_397_000 picoseconds. - Weight::from_parts(99_251_165, 4608) - // Standard Error: 10 - .saturating_add(Weight::from_parts(4_028, 0).saturating_mul(i.into())) + // Minimum execution time: 105_570_000 picoseconds. + Weight::from_parts(93_244_583, 4608) + // Standard Error: 11 + .saturating_add(Weight::from_parts(4_070, 0).saturating_mul(i.into())) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -1878,64 +1881,64 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 597_000 picoseconds. - Weight::from_parts(3_011_837, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_324, 0).saturating_mul(n.into())) + // Minimum execution time: 633_000 picoseconds. + Weight::from_parts(2_028_267, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_346, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262144]`. fn seal_hash_keccak_256(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 977_000 picoseconds. - Weight::from_parts(1_780_841, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(3_571, 0).saturating_mul(n.into())) + // Minimum execution time: 1_026_000 picoseconds. + Weight::from_parts(1_828_261, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(3_566, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262144]`. fn seal_hash_blake2_256(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 620_000 picoseconds. - Weight::from_parts(2_641_338, 0) - // Standard Error: 2 - .saturating_add(Weight::from_parts(1_459, 0).saturating_mul(n.into())) + // Minimum execution time: 652_000 picoseconds. + Weight::from_parts(1_883_702, 0) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_469, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 262144]`. fn seal_hash_blake2_128(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 582_000 picoseconds. - Weight::from_parts(2_564_984, 0) + // Minimum execution time: 619_000 picoseconds. + Weight::from_parts(2_402_538, 0) // Standard Error: 2 - .saturating_add(Weight::from_parts(1_456, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(1_464, 0).saturating_mul(n.into())) } /// The range of component `n` is `[0, 261889]`. fn seal_sr25519_verify(n: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 47_424_000 picoseconds. - Weight::from_parts(31_409_241, 0) + // Minimum execution time: 42_251_000 picoseconds. + Weight::from_parts(30_574_101, 0) // Standard Error: 10 - .saturating_add(Weight::from_parts(5_162, 0).saturating_mul(n.into())) + .saturating_add(Weight::from_parts(5_043, 0).saturating_mul(n.into())) } fn seal_ecdsa_recover() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 45_744_000 picoseconds. - Weight::from_parts(47_340_000, 0) + // Minimum execution time: 48_588_000 picoseconds. + Weight::from_parts(49_800_000, 0) } fn seal_ecdsa_to_eth_address() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_258_000 picoseconds. - Weight::from_parts(12_400_000, 0) + // Minimum execution time: 12_393_000 picoseconds. + Weight::from_parts(12_656_000, 0) } /// Storage: `Revive::CodeInfoOf` (r:1 w:1) /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) @@ -1943,19 +1946,29 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `196` // Estimated: `3661` - // Minimum execution time: 9_637_000 picoseconds. - Weight::from_parts(9_922_000, 3661) + // Minimum execution time: 10_003_000 picoseconds. + Weight::from_parts(10_329_000, 3661) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } - /// The range of component `r` is `[0, 5000]`. + /// The range of component `r` is `[0, 10000]`. fn instr(r: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 7_505_000 picoseconds. - Weight::from_parts(9_608_207, 0) - // Standard Error: 152 - .saturating_add(Weight::from_parts(73_332, 0).saturating_mul(r.into())) + // Minimum execution time: 11_475_000 picoseconds. + Weight::from_parts(45_314_927, 0) + // Standard Error: 458 + .saturating_add(Weight::from_parts(126_444, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 100000]`. + fn instr_empty_loop(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_711_000 picoseconds. + Weight::from_parts(8_586_335, 0) + // Standard Error: 18 + .saturating_add(Weight::from_parts(73_090, 0).saturating_mul(r.into())) } }