From 1052ffd633cfc5b19c808a2880fafea60ca171a0 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Fri, 13 Jan 2023 15:07:29 -0300 Subject: [PATCH 01/20] update stuff --- Cargo.lock | 1 + runtime/common/Cargo.toml | 4 + runtime/common/src/lib.rs | 2 + runtime/common/src/try_runtime.rs | 105 ++++++++++++++++++ runtime/kusama/src/lib.rs | 34 +++++- .../kusama/src/weights/pallet_fast_unstake.rs | 88 +++++++++------ runtime/polkadot/src/lib.rs | 32 +++++- .../src/weights/pallet_fast_unstake.rs | 91 ++++++++------- .../src/weights/pallet_fast_unstake.rs | 88 +++++++++------ 9 files changed, 329 insertions(+), 116 deletions(-) create mode 100644 runtime/common/src/try_runtime.rs diff --git a/Cargo.lock b/Cargo.lock index 7bd0f3bf3d56..94b350005045 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7276,6 +7276,7 @@ dependencies = [ "pallet-balances", "pallet-beefy-mmr", "pallet-election-provider-multi-phase", + "pallet-fast-unstake", "pallet-session", "pallet-staking", "pallet-staking-reward-fn", diff --git a/runtime/common/Cargo.toml b/runtime/common/Cargo.toml index 2fbc67eb974d..89e783521a4c 100644 --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -28,6 +28,7 @@ sp-npos-elections = { git = "https://github.com/paritytech/substrate", branch = pallet-authorship = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } +pallet-fast-unstake = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } pallet-session = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } frame-support = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } pallet-staking = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } @@ -84,6 +85,7 @@ std = [ "pallet-balances/std", "pallet-beefy-mmr/std", "pallet-session/std", + "pallet-fast-unstake/std", "pallet-staking/std", "pallet-staking-reward-fn/std", "pallet-timestamp/std", @@ -111,6 +113,7 @@ runtime-benchmarks = [ "runtime-parachains/runtime-benchmarks", "pallet-babe/runtime-benchmarks", "pallet-bags-list/runtime-benchmarks", + "pallet-fast-unstake/runtime-benchmarks" ] try-runtime = [ "runtime-parachains/try-runtime", @@ -122,4 +125,5 @@ try-runtime = [ "pallet-vesting/try-runtime", "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", + "pallet-fast-unstake/try-runtime", ] diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs index 7d7a789d828c..7ffb8060fcc3 100644 --- a/runtime/common/src/lib.rs +++ b/runtime/common/src/lib.rs @@ -31,6 +31,8 @@ pub mod slot_range; pub mod slots; pub mod traits; pub mod xcm_sender; +#[cfg(feature = "try-runtime")] +pub mod try_runtime; #[cfg(test)] mod integration_tests; diff --git a/runtime/common/src/try_runtime.rs b/runtime/common/src/try_runtime.rs new file mode 100644 index 000000000000..b21b591b1935 --- /dev/null +++ b/runtime/common/src/try_runtime.rs @@ -0,0 +1,105 @@ +// Copyright 2023 Parity Technologies (UK) Ltd. +// This file is part of Polkadot. + +// Polkadot is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Polkadot is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Polkadot. If not, see . + +//! common try-runtime only tests for runtimes. + +/// register all inactive nominators for fast-unstake, and progress until they have all been +/// processed. +pub fn migrate_all_inactive_nominators() +where + ::RuntimeEvent: TryInto>, +{ + use frame_support::{ + dispatch::RawOrigin, + traits::{Get, Hooks}, + }; + use pallet_fast_unstake::{Pallet as FastUnstake, *}; + use pallet_staking::*; + use sp_std::{collections::btree_set::BTreeSet, prelude::*}; + + let mut unstaked_ok = 0; + let mut unstaked_err = 0; + let mut unstaked_slashed = 0; + + let all_stakers = Ledger::::iter().map(|(ctrl, l)| (ctrl, l.stash)).collect::>(); + let mut all_exposed = BTreeSet::new(); + ErasStakers::::iter().for_each(|(_, val, expo)| { + all_exposed.insert(val); + expo.others.iter().for_each(|ie| { + all_exposed.insert(ie.who.clone()); + }) + }); + + let eligible = all_stakers + .iter() + .filter_map(|(ctrl, stash)| if all_exposed.contains(stash) { None } else { Some(ctrl) }) + .collect::>(); + + log::info!( + target: "runtime::test", + "registering {} out of {} stakers for fast-unstake", + eligible.len(), + all_stakers.len() + ); + for ctrl in eligible { + if let Err(why) = + FastUnstake::::register_fast_unstake(RawOrigin::Signed(ctrl.clone()).into()) + { + log::warn!(target: "runtime::test", "failed to register {:?} due to {:?}", ctrl, why); + } + } + + log::info!(target: "runtime::test", "registered {} successfully, starting at {:?}.", Queue::::count(), frame_system::Pallet::::block_number()); + while Queue::::count() != 0 || Head::::get().is_some() { + // assume half of the block weight is available. + let now = frame_system::Pallet::::block_number(); + let weight = ::BlockWeights::get().max_block; + let consumed = FastUnstake::::on_idle(now, weight); + log::debug!(target: "runtime::test", "consumed {:?} ({})", consumed, consumed.ref_time() as f32 / weight.ref_time() as f32); + + frame_system::Pallet::::read_events_no_consensus() + .into_iter() + .map(|r| r.event) + .filter_map(|e| { + let maybe_fast_unstake_event: Option> = + e.try_into().ok(); + maybe_fast_unstake_event + }) + .for_each(|e: pallet_fast_unstake::Event| match e { + pallet_fast_unstake::Event::::Unstaked { result, .. } => + if result.is_ok() { + unstaked_ok += 1; + } else { + unstaked_err += 1 + }, + pallet_fast_unstake::Event::::Slashed { .. } => unstaked_slashed += 1, + pallet_fast_unstake::Event::::InternalError => unreachable!(), + _ => {}, + }); + + if now % 100u32.into() == sp_runtime::traits::Zero::zero() { + log::info!( + target: "runtime::test", + "status: ok {}, err {}, slash {}", + unstaked_ok, + unstaked_err, + unstaked_slashed, + ); + } + + frame_system::Pallet::::reset_events(); + } +} diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 8cf3e95f79bb..8c7d1a8edfde 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2211,7 +2211,7 @@ mod multiplier_tests { #[cfg(all(test, feature = "try-runtime"))] mod remote_tests { use super::*; - use frame_try_runtime::runtime_decl_for_TryRuntime::TryRuntime; + use frame_try_runtime::{runtime_decl_for_TryRuntime::TryRuntime, UpgradeCheckSelect}; use remote_externalities::{ Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport, }; @@ -2239,6 +2239,36 @@ mod remote_tests { .build() .await .unwrap(); - ext.execute_with(|| Runtime::on_runtime_upgrade(true)); + ext.execute_with(|| Runtime::on_runtime_upgrade(UpgradeCheckSelect::All)); + } + + #[tokio::test] + async fn try_fast_unstake_all() { + sp_tracing::try_init_simple(); + let transport: Transport = + var("WS").unwrap_or("wss://kusama-rpc.polkadot.io:443".to_string()).into(); + let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); + let mut ext = Builder::::default() + .mode(if let Some(state_snapshot) = maybe_state_snapshot { + Mode::OfflineOrElseOnline( + OfflineConfig { state_snapshot: state_snapshot.clone() }, + OnlineConfig { + transport, + state_snapshot: Some(state_snapshot), + ..Default::default() + }, + ) + } else { + Mode::Online(OnlineConfig { transport, ..Default::default() }) + }) + .build() + .await + .unwrap(); + ext.execute_with(|| { + println!("{}", as pallet_fast_unstake::WeightInfo>::on_idle_check(1, 1000, 1)); + return; + pallet_fast_unstake::ErasToCheckPerBlock::::put(1); + runtime_common::try_runtime::migrate_all_inactive_nominators::() + }); } } diff --git a/runtime/kusama/src/weights/pallet_fast_unstake.rs b/runtime/kusama/src/weights/pallet_fast_unstake.rs index 4f1ce8aee992..763a0dc81eda 100644 --- a/runtime/kusama/src/weights/pallet_fast_unstake.rs +++ b/runtime/kusama/src/weights/pallet_fast_unstake.rs @@ -46,40 +46,54 @@ pub struct WeightInfo(PhantomData); impl pallet_fast_unstake::WeightInfo for WeightInfo { // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) - // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) + // Storage: FastUnstake CounterForQueue (r:1 w:0) + // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking SlashingSpans (r:64 w:0) - // Storage: Staking Bonded (r:64 w:64) - // Storage: Staking Validators (r:64 w:0) - // Storage: Staking Nominators (r:64 w:0) - // Storage: System Account (r:64 w:64) - // Storage: Balances Locks (r:64 w:64) - // Storage: Staking Ledger (r:0 w:64) - // Storage: Staking Payee (r:0 w:64) - fn on_idle_unstake() -> Weight { - // Minimum execution time: 2_141_174 nanoseconds. - Weight::from_ref_time(2_204_649_000 as u64) - .saturating_add(T::DbWeight::get().reads(389 as u64)) - .saturating_add(T::DbWeight::get().writes(321 as u64)) + // Storage: Staking SlashingSpans (r:1 w:0) + // Storage: Staking Bonded (r:1 w:1) + // Storage: Staking Validators (r:1 w:0) + // Storage: Staking Nominators (r:1 w:0) + // Storage: System Account (r:1 w:1) + // Storage: Balances Locks (r:1 w:1) + // Storage: Staking Ledger (r:0 w:1) + // Storage: Staking Payee (r:0 w:1) + /// The range of component `b` is `[1, 128]`. + fn on_idle_unstake(b: u32, ) -> Weight { + // Minimum execution time: 151_187 nanoseconds. + Weight::from_ref_time(153_409_799) + // Standard Error: 35_307 + .saturating_add(Weight::from_ref_time(37_991_009).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(b.into()))) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) - // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) - // Storage: FastUnstake Queue (r:65 w:64) // Storage: FastUnstake CounterForQueue (r:1 w:1) + // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) + // Storage: FastUnstake Queue (r:129 w:128) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking ErasStakers (r:56 w:0) - /// The range of component `x` is `[28, 3584]`. - fn on_idle_check(x: u32, ) -> Weight { - // Minimum execution time: 21_964_474 nanoseconds. - Weight::from_ref_time(22_227_783_000 as u64) - // Standard Error: 498_921 - .saturating_add(Weight::from_ref_time(624_289_713 as u64).saturating_mul(x as u64)) - .saturating_add(T::DbWeight::get().reads(85 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(x as u64))) - .saturating_add(T::DbWeight::get().writes(66 as u64)) + // Storage: Staking ErasStakers (r:17 w:0) + /// The range of component `u` is `[1, 16]`. + /// The range of component `v` is `[1, 16]`. + /// The range of component `b` is `[1, 128]`. + fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { + // Minimum execution time: 4_083_434 nanoseconds. + Weight::from_ref_time(4_165_170_000) + // Standard Error: 421_577_225 + .saturating_add(Weight::from_ref_time(6_093_010_328).saturating_mul(u.into())) + // Standard Error: 421_577_225 + .saturating_add(Weight::from_ref_time(5_499_874_353).saturating_mul(v.into())) + // Standard Error: 52_298_358 + .saturating_add(Weight::from_ref_time(826_187_901).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(152)) + .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(u.into()))) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(v.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:1) @@ -96,10 +110,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 124_637 nanoseconds. - Weight::from_ref_time(126_193_000 as u64) - .saturating_add(T::DbWeight::get().reads(15 as u64)) - .saturating_add(T::DbWeight::get().writes(10 as u64)) + // Minimum execution time: 205_435 nanoseconds. + Weight::from_ref_time(209_365_000) + .saturating_add(T::DbWeight::get().reads(15)) + .saturating_add(T::DbWeight::get().writes(10)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:0) @@ -107,15 +121,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 50_711 nanoseconds. - Weight::from_ref_time(51_537_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + // Minimum execution time: 120_393 nanoseconds. + Weight::from_ref_time(122_553_000) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_008 nanoseconds. - Weight::from_ref_time(4_153_000 as u64) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + // Minimum execution time: 4_807 nanoseconds. + Weight::from_ref_time(5_157_000) + .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index dc32a91c7ace..90c1387a7bca 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -2419,7 +2419,7 @@ mod multiplier_tests { #[cfg(all(test, feature = "try-runtime"))] mod remote_tests { use super::*; - use frame_try_runtime::runtime_decl_for_TryRuntime::TryRuntime; + use frame_try_runtime::{runtime_decl_for_TryRuntime::TryRuntime, UpgradeCheckSelect}; use remote_externalities::{ Builder, Mode, OfflineConfig, OnlineConfig, SnapshotConfig, Transport, }; @@ -2447,6 +2447,34 @@ mod remote_tests { .build() .await .unwrap(); - ext.execute_with(|| Runtime::on_runtime_upgrade(true)); + ext.execute_with(|| Runtime::on_runtime_upgrade(UpgradeCheckSelect::All)); + } + + #[tokio::test] + async fn try_fast_unstake_all() { + sp_tracing::try_init_simple(); + let transport: Transport = + var("WS").unwrap_or("wss://rpc.polkadot.io:443".to_string()).into(); + let maybe_state_snapshot: Option = var("SNAP").map(|s| s.into()).ok(); + let mut ext = Builder::::default() + .mode(if let Some(state_snapshot) = maybe_state_snapshot { + Mode::OfflineOrElseOnline( + OfflineConfig { state_snapshot: state_snapshot.clone() }, + OnlineConfig { + transport, + state_snapshot: Some(state_snapshot), + ..Default::default() + }, + ) + } else { + Mode::Online(OnlineConfig { transport, ..Default::default() }) + }) + .build() + .await + .unwrap(); + ext.execute_with(|| { + pallet_fast_unstake::ErasToCheckPerBlock::::put(1); + runtime_common::try_runtime::migrate_all_inactive_nominators::() + }); } } diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index 6f1b4cb0d878..eeea2238a01b 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -46,40 +46,54 @@ pub struct WeightInfo(PhantomData); impl pallet_fast_unstake::WeightInfo for WeightInfo { // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) - // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) + // Storage: FastUnstake CounterForQueue (r:1 w:0) + // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking SlashingSpans (r:64 w:0) - // Storage: Staking Bonded (r:64 w:64) - // Storage: Staking Validators (r:64 w:0) - // Storage: Staking Nominators (r:64 w:0) - // Storage: System Account (r:64 w:64) - // Storage: Balances Locks (r:64 w:64) - // Storage: Staking Ledger (r:0 w:64) - // Storage: Staking Payee (r:0 w:64) - fn on_idle_unstake() -> Weight { - // Minimum execution time: 2_143_088 nanoseconds. - Weight::from_ref_time(2_180_693_000 as u64) - .saturating_add(T::DbWeight::get().reads(389 as u64)) - .saturating_add(T::DbWeight::get().writes(321 as u64)) + // Storage: Staking SlashingSpans (r:1 w:0) + // Storage: Staking Bonded (r:1 w:1) + // Storage: Staking Validators (r:1 w:0) + // Storage: Staking Nominators (r:1 w:0) + // Storage: System Account (r:1 w:1) + // Storage: Balances Locks (r:1 w:1) + // Storage: Staking Ledger (r:0 w:1) + // Storage: Staking Payee (r:0 w:1) + /// The range of component `b` is `[1, 128]`. + fn on_idle_unstake(b: u32, ) -> Weight { + // Minimum execution time: 151_187 nanoseconds. + Weight::from_ref_time(153_409_799) + // Standard Error: 35_307 + .saturating_add(Weight::from_ref_time(37_991_009).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(b.into()))) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) - // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) - // Storage: FastUnstake Queue (r:65 w:64) // Storage: FastUnstake CounterForQueue (r:1 w:1) + // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) + // Storage: FastUnstake Queue (r:129 w:128) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking ErasStakers (r:56 w:0) - /// The range of component `x` is `[28, 3584]`. - fn on_idle_check(x: u32, ) -> Weight { - // Minimum execution time: 28_585_887 nanoseconds. - Weight::from_ref_time(28_897_826_000 as u64) - // Standard Error: 697_438 - .saturating_add(Weight::from_ref_time(864_448_829 as u64).saturating_mul(x as u64)) - .saturating_add(T::DbWeight::get().reads(85 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(x as u64))) - .saturating_add(T::DbWeight::get().writes(66 as u64)) + // Storage: Staking ErasStakers (r:17 w:0) + /// The range of component `u` is `[1, 16]`. + /// The range of component `v` is `[1, 16]`. + /// The range of component `b` is `[1, 128]`. + fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { + // Minimum execution time: 4_083_434 nanoseconds. + Weight::from_ref_time(4_165_170_000) + // Standard Error: 421_577_225 + .saturating_add(Weight::from_ref_time(6_093_010_328).saturating_mul(u.into())) + // Standard Error: 421_577_225 + .saturating_add(Weight::from_ref_time(5_499_874_353).saturating_mul(v.into())) + // Standard Error: 52_298_358 + .saturating_add(Weight::from_ref_time(826_187_901).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(152)) + .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(u.into()))) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(v.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:1) @@ -89,16 +103,17 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Validators (r:1 w:0) // Storage: Staking Nominators (r:1 w:1) // Storage: Staking CounterForNominators (r:1 w:1) - // Storage: VoterList ListNodes (r:3 w:3) + // Storage: VoterList ListNodes (r:2 w:2) + // Storage: VoterList ListBags (r:1 w:1) // Storage: VoterList CounterForListNodes (r:1 w:1) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 125_199 nanoseconds. - Weight::from_ref_time(127_131_000 as u64) - .saturating_add(T::DbWeight::get().reads(15 as u64)) - .saturating_add(T::DbWeight::get().writes(10 as u64)) + // Minimum execution time: 205_435 nanoseconds. + Weight::from_ref_time(209_365_000) + .saturating_add(T::DbWeight::get().reads(15)) + .saturating_add(T::DbWeight::get().writes(10)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:0) @@ -106,15 +121,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 50_373 nanoseconds. - Weight::from_ref_time(51_451_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + // Minimum execution time: 120_393 nanoseconds. + Weight::from_ref_time(122_553_000) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_124 nanoseconds. - Weight::from_ref_time(4_273_000 as u64) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + // Minimum execution time: 4_807 nanoseconds. + Weight::from_ref_time(5_157_000) + .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/westend/src/weights/pallet_fast_unstake.rs b/runtime/westend/src/weights/pallet_fast_unstake.rs index 521ea577c18e..758062b73eac 100644 --- a/runtime/westend/src/weights/pallet_fast_unstake.rs +++ b/runtime/westend/src/weights/pallet_fast_unstake.rs @@ -46,40 +46,54 @@ pub struct WeightInfo(PhantomData); impl pallet_fast_unstake::WeightInfo for WeightInfo { // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) - // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) + // Storage: FastUnstake CounterForQueue (r:1 w:0) + // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking SlashingSpans (r:64 w:0) - // Storage: Staking Bonded (r:64 w:64) - // Storage: Staking Validators (r:64 w:0) - // Storage: Staking Nominators (r:64 w:0) - // Storage: System Account (r:64 w:64) - // Storage: Balances Locks (r:64 w:64) - // Storage: Staking Ledger (r:0 w:64) - // Storage: Staking Payee (r:0 w:64) - fn on_idle_unstake() -> Weight { - // Minimum execution time: 2_151_083 nanoseconds. - Weight::from_ref_time(2_165_150_000 as u64) - .saturating_add(T::DbWeight::get().reads(389 as u64)) - .saturating_add(T::DbWeight::get().writes(321 as u64)) + // Storage: Staking SlashingSpans (r:1 w:0) + // Storage: Staking Bonded (r:1 w:1) + // Storage: Staking Validators (r:1 w:0) + // Storage: Staking Nominators (r:1 w:0) + // Storage: System Account (r:1 w:1) + // Storage: Balances Locks (r:1 w:1) + // Storage: Staking Ledger (r:0 w:1) + // Storage: Staking Payee (r:0 w:1) + /// The range of component `b` is `[1, 128]`. + fn on_idle_unstake(b: u32, ) -> Weight { + // Minimum execution time: 151_187 nanoseconds. + Weight::from_ref_time(153_409_799) + // Standard Error: 35_307 + .saturating_add(Weight::from_ref_time(37_991_009).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(b.into()))) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) - // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) - // Storage: FastUnstake Queue (r:65 w:64) // Storage: FastUnstake CounterForQueue (r:1 w:1) + // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) + // Storage: FastUnstake Queue (r:129 w:128) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking ErasStakers (r:4 w:0) - /// The range of component `x` is `[2, 256]`. - fn on_idle_check(x: u32, ) -> Weight { - // Minimum execution time: 2_339_481 nanoseconds. - Weight::from_ref_time(2_362_834_000 as u64) - // Standard Error: 472_765 - .saturating_add(Weight::from_ref_time(804_985_586 as u64).saturating_mul(x as u64)) - .saturating_add(T::DbWeight::get().reads(72 as u64)) - .saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(x as u64))) - .saturating_add(T::DbWeight::get().writes(66 as u64)) + // Storage: Staking ErasStakers (r:17 w:0) + /// The range of component `u` is `[1, 16]`. + /// The range of component `v` is `[1, 16]`. + /// The range of component `b` is `[1, 128]`. + fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { + // Minimum execution time: 4_083_434 nanoseconds. + Weight::from_ref_time(4_165_170_000) + // Standard Error: 421_577_225 + .saturating_add(Weight::from_ref_time(6_093_010_328).saturating_mul(u.into())) + // Standard Error: 421_577_225 + .saturating_add(Weight::from_ref_time(5_499_874_353).saturating_mul(v.into())) + // Standard Error: 52_298_358 + .saturating_add(Weight::from_ref_time(826_187_901).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(152)) + .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(u.into()))) + .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(v.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:1) @@ -96,10 +110,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 125_665 nanoseconds. - Weight::from_ref_time(128_301_000 as u64) - .saturating_add(T::DbWeight::get().reads(15 as u64)) - .saturating_add(T::DbWeight::get().writes(10 as u64)) + // Minimum execution time: 205_435 nanoseconds. + Weight::from_ref_time(209_365_000) + .saturating_add(T::DbWeight::get().reads(15)) + .saturating_add(T::DbWeight::get().writes(10)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:0) @@ -107,15 +121,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 50_138 nanoseconds. - Weight::from_ref_time(51_813_000 as u64) - .saturating_add(T::DbWeight::get().reads(5 as u64)) - .saturating_add(T::DbWeight::get().writes(2 as u64)) + // Minimum execution time: 120_393 nanoseconds. + Weight::from_ref_time(122_553_000) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_661 nanoseconds. - Weight::from_ref_time(4_778_000 as u64) - .saturating_add(T::DbWeight::get().writes(1 as u64)) + // Minimum execution time: 4_807 nanoseconds. + Weight::from_ref_time(5_157_000) + .saturating_add(T::DbWeight::get().writes(1)) } } From e0e7b98214e010215b7e298a7835b56f6bd829fe Mon Sep 17 00:00:00 2001 From: kianenigma Date: Fri, 13 Jan 2023 15:07:43 -0300 Subject: [PATCH 02/20] remove --- runtime/kusama/src/lib.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 8c7d1a8edfde..e39615f5c02d 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2265,8 +2265,6 @@ mod remote_tests { .await .unwrap(); ext.execute_with(|| { - println!("{}", as pallet_fast_unstake::WeightInfo>::on_idle_check(1, 1000, 1)); - return; pallet_fast_unstake::ErasToCheckPerBlock::::put(1); runtime_common::try_runtime::migrate_all_inactive_nominators::() }); From 467c28263d06173adc29f502507ec4396a2f3e85 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Fri, 13 Jan 2023 15:26:05 -0300 Subject: [PATCH 03/20] update --- runtime/kusama/src/lib.rs | 14 ++++++++++++++ runtime/polkadot/src/lib.rs | 16 ++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index e39615f5c02d..76e8b4fb7fbb 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2127,6 +2127,20 @@ mod multiplier_tests { }) } + #[test] + fn fast_unstake_estimate() { + use pallet_fast_unstake::WeightInfo; + let block_time = BlockWeights::get().max_block.ref_time() as f32; + let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( + 1, + 1000, + ::BatchSize::get(), + ) + .ref_time() as f32; + dbg!(block_time, on_idle, on_idle / block_time); + assert!(on_idle / block_time <= 0.25f32) + } + #[test] #[ignore] fn multiplier_growth_simulator() { diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 90c1387a7bca..497e5c5c08b7 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -2335,6 +2335,22 @@ mod multiplier_tests { }) } + #[test] + fn fast_unstake_estimate() { + use pallet_fast_unstake::WeightInfo; + let block_time = BlockWeights::get().max_block.ref_time() as f32; + let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( + 1, + 300, + ::BatchSize::get(), + ) + .ref_time() as f32; + println!("ratio of block weight for full batch fast-unstake {}" + block_time, on_idle, on_idle / block_time + ); + assert!(on_idle / block_time <= 0.25f32) + } + #[test] #[ignore] fn multiplier_growth_simulator() { From 69f01c5ab0684c801c95782203c55f995b2ff6e3 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Fri, 13 Jan 2023 16:17:47 -0300 Subject: [PATCH 04/20] update --- runtime/kusama/src/lib.rs | 4 +- .../kusama/src/weights/pallet_fast_unstake.rs | 48 +++++++++---------- runtime/polkadot/src/lib.rs | 4 +- .../src/weights/pallet_fast_unstake.rs | 48 +++++++++---------- .../src/weights/pallet_fast_unstake.rs | 48 +++++++++---------- 5 files changed, 75 insertions(+), 77 deletions(-) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 76e8b4fb7fbb..f6a5352e53a3 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2137,8 +2137,8 @@ mod multiplier_tests { ::BatchSize::get(), ) .ref_time() as f32; - dbg!(block_time, on_idle, on_idle / block_time); - assert!(on_idle / block_time <= 0.25f32) + println!("ratio of block weight for full batch fast-unstake {}", on_idle / block_time); + assert!(on_idle / block_time <= 0.5f32) } #[test] diff --git a/runtime/kusama/src/weights/pallet_fast_unstake.rs b/runtime/kusama/src/weights/pallet_fast_unstake.rs index 763a0dc81eda..a2c2209b8493 100644 --- a/runtime/kusama/src/weights/pallet_fast_unstake.rs +++ b/runtime/kusama/src/weights/pallet_fast_unstake.rs @@ -58,12 +58,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: Staking Ledger (r:0 w:1) // Storage: Staking Payee (r:0 w:1) - /// The range of component `b` is `[1, 128]`. + /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 151_187 nanoseconds. - Weight::from_ref_time(153_409_799) - // Standard Error: 35_307 - .saturating_add(Weight::from_ref_time(37_991_009).saturating_mul(b.into())) + // Minimum execution time: 103_705 nanoseconds. + Weight::from_ref_time(72_740_820) + // Standard Error: 47_638 + .saturating_add(Weight::from_ref_time(37_481_933).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -74,24 +74,24 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - // Storage: FastUnstake Queue (r:129 w:128) + // Storage: FastUnstake Queue (r:33 w:32) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:17 w:0) /// The range of component `u` is `[1, 16]`. /// The range of component `v` is `[1, 16]`. - /// The range of component `b` is `[1, 128]`. + /// The range of component `b` is `[1, 32]`. fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { - // Minimum execution time: 4_083_434 nanoseconds. - Weight::from_ref_time(4_165_170_000) - // Standard Error: 421_577_225 - .saturating_add(Weight::from_ref_time(6_093_010_328).saturating_mul(u.into())) - // Standard Error: 421_577_225 - .saturating_add(Weight::from_ref_time(5_499_874_353).saturating_mul(v.into())) - // Standard Error: 52_298_358 - .saturating_add(Weight::from_ref_time(826_187_901).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(152)) - .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(v.into()))) + // Minimum execution time: 2_369_328 nanoseconds. + Weight::from_ref_time(2_393_649_000) + // Standard Error: 56_317_470 + .saturating_add(Weight::from_ref_time(823_803_904).saturating_mul(u.into())) + // Standard Error: 56_317_470 + .saturating_add(Weight::from_ref_time(661_524_469).saturating_mul(v.into())) + // Standard Error: 28_041_442 + .saturating_add(Weight::from_ref_time(407_246_561).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(56)) + .saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(u.into()))) + .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) } @@ -110,8 +110,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 205_435 nanoseconds. - Weight::from_ref_time(209_365_000) + // Minimum execution time: 147_281 nanoseconds. + Weight::from_ref_time(148_635_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -121,15 +121,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 120_393 nanoseconds. - Weight::from_ref_time(122_553_000) + // Minimum execution time: 67_125 nanoseconds. + Weight::from_ref_time(67_858_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_807 nanoseconds. - Weight::from_ref_time(5_157_000) + // Minimum execution time: 4_845 nanoseconds. + Weight::from_ref_time(4_969_000) .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 497e5c5c08b7..1280a222091d 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -2345,9 +2345,7 @@ mod multiplier_tests { ::BatchSize::get(), ) .ref_time() as f32; - println!("ratio of block weight for full batch fast-unstake {}" - block_time, on_idle, on_idle / block_time - ); + println!("ratio of block weight for full batch fast-unstake {}", on_idle / block_time); assert!(on_idle / block_time <= 0.25f32) } diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index eeea2238a01b..e4c9c9695b7a 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -58,12 +58,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: Staking Ledger (r:0 w:1) // Storage: Staking Payee (r:0 w:1) - /// The range of component `b` is `[1, 128]`. + /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 151_187 nanoseconds. - Weight::from_ref_time(153_409_799) - // Standard Error: 35_307 - .saturating_add(Weight::from_ref_time(37_991_009).saturating_mul(b.into())) + // Minimum execution time: 103_705 nanoseconds. + Weight::from_ref_time(72_740_820) + // Standard Error: 47_638 + .saturating_add(Weight::from_ref_time(37_481_933).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -74,24 +74,24 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - // Storage: FastUnstake Queue (r:129 w:128) + // Storage: FastUnstake Queue (r:33 w:32) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:17 w:0) /// The range of component `u` is `[1, 16]`. /// The range of component `v` is `[1, 16]`. - /// The range of component `b` is `[1, 128]`. + /// The range of component `b` is `[1, 32]`. fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { - // Minimum execution time: 4_083_434 nanoseconds. - Weight::from_ref_time(4_165_170_000) - // Standard Error: 421_577_225 - .saturating_add(Weight::from_ref_time(6_093_010_328).saturating_mul(u.into())) - // Standard Error: 421_577_225 - .saturating_add(Weight::from_ref_time(5_499_874_353).saturating_mul(v.into())) - // Standard Error: 52_298_358 - .saturating_add(Weight::from_ref_time(826_187_901).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(152)) - .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(v.into()))) + // Minimum execution time: 2_369_328 nanoseconds. + Weight::from_ref_time(2_393_649_000) + // Standard Error: 56_317_470 + .saturating_add(Weight::from_ref_time(823_803_904).saturating_mul(u.into())) + // Standard Error: 56_317_470 + .saturating_add(Weight::from_ref_time(661_524_469).saturating_mul(v.into())) + // Standard Error: 28_041_442 + .saturating_add(Weight::from_ref_time(407_246_561).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(56)) + .saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(u.into()))) + .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) } @@ -110,8 +110,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 205_435 nanoseconds. - Weight::from_ref_time(209_365_000) + // Minimum execution time: 147_281 nanoseconds. + Weight::from_ref_time(148_635_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -121,15 +121,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 120_393 nanoseconds. - Weight::from_ref_time(122_553_000) + // Minimum execution time: 67_125 nanoseconds. + Weight::from_ref_time(67_858_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_807 nanoseconds. - Weight::from_ref_time(5_157_000) + // Minimum execution time: 4_845 nanoseconds. + Weight::from_ref_time(4_969_000) .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/westend/src/weights/pallet_fast_unstake.rs b/runtime/westend/src/weights/pallet_fast_unstake.rs index 758062b73eac..9a9a7c6aae79 100644 --- a/runtime/westend/src/weights/pallet_fast_unstake.rs +++ b/runtime/westend/src/weights/pallet_fast_unstake.rs @@ -58,12 +58,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: Staking Ledger (r:0 w:1) // Storage: Staking Payee (r:0 w:1) - /// The range of component `b` is `[1, 128]`. + /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 151_187 nanoseconds. - Weight::from_ref_time(153_409_799) - // Standard Error: 35_307 - .saturating_add(Weight::from_ref_time(37_991_009).saturating_mul(b.into())) + // Minimum execution time: 103_705 nanoseconds. + Weight::from_ref_time(72_740_820) + // Standard Error: 47_638 + .saturating_add(Weight::from_ref_time(37_481_933).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -74,24 +74,24 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - // Storage: FastUnstake Queue (r:129 w:128) + // Storage: FastUnstake Queue (r:33 w:32) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:17 w:0) /// The range of component `u` is `[1, 16]`. /// The range of component `v` is `[1, 16]`. - /// The range of component `b` is `[1, 128]`. + /// The range of component `b` is `[1, 32]`. fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { - // Minimum execution time: 4_083_434 nanoseconds. - Weight::from_ref_time(4_165_170_000) - // Standard Error: 421_577_225 - .saturating_add(Weight::from_ref_time(6_093_010_328).saturating_mul(u.into())) - // Standard Error: 421_577_225 - .saturating_add(Weight::from_ref_time(5_499_874_353).saturating_mul(v.into())) - // Standard Error: 52_298_358 - .saturating_add(Weight::from_ref_time(826_187_901).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(152)) - .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(v.into()))) + // Minimum execution time: 2_369_328 nanoseconds. + Weight::from_ref_time(2_393_649_000) + // Standard Error: 56_317_470 + .saturating_add(Weight::from_ref_time(823_803_904).saturating_mul(u.into())) + // Standard Error: 56_317_470 + .saturating_add(Weight::from_ref_time(661_524_469).saturating_mul(v.into())) + // Standard Error: 28_041_442 + .saturating_add(Weight::from_ref_time(407_246_561).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(56)) + .saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(u.into()))) + .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) } @@ -110,8 +110,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 205_435 nanoseconds. - Weight::from_ref_time(209_365_000) + // Minimum execution time: 147_281 nanoseconds. + Weight::from_ref_time(148_635_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -121,15 +121,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 120_393 nanoseconds. - Weight::from_ref_time(122_553_000) + // Minimum execution time: 67_125 nanoseconds. + Weight::from_ref_time(67_858_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_807 nanoseconds. - Weight::from_ref_time(5_157_000) + // Minimum execution time: 4_845 nanoseconds. + Weight::from_ref_time(4_969_000) .saturating_add(T::DbWeight::get().writes(1)) } } From c7cc367f96876644a1e06511d94ec930a2dbc87e Mon Sep 17 00:00:00 2001 From: kianenigma Date: Sat, 14 Jan 2023 13:54:19 -0300 Subject: [PATCH 05/20] update weights --- .../kusama/src/weights/pallet_fast_unstake.rs | 50 ++++++++----------- .../src/weights/pallet_fast_unstake.rs | 50 ++++++++----------- .../src/weights/pallet_fast_unstake.rs | 50 ++++++++----------- 3 files changed, 66 insertions(+), 84 deletions(-) diff --git a/runtime/kusama/src/weights/pallet_fast_unstake.rs b/runtime/kusama/src/weights/pallet_fast_unstake.rs index a2c2209b8493..24caf8898c7a 100644 --- a/runtime/kusama/src/weights/pallet_fast_unstake.rs +++ b/runtime/kusama/src/weights/pallet_fast_unstake.rs @@ -60,10 +60,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 103_705 nanoseconds. - Weight::from_ref_time(72_740_820) - // Standard Error: 47_638 - .saturating_add(Weight::from_ref_time(37_481_933).saturating_mul(b.into())) + // Minimum execution time: 104_891 nanoseconds. + Weight::from_ref_time(81_179_276) + // Standard Error: 69_111 + .saturating_add(Weight::from_ref_time(37_598_449).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -72,28 +72,22 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) - // Storage: FastUnstake CounterForQueue (r:1 w:1) + // Storage: FastUnstake CounterForQueue (r:1 w:0) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - // Storage: FastUnstake Queue (r:33 w:32) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:17 w:0) - /// The range of component `u` is `[1, 16]`. - /// The range of component `v` is `[1, 16]`. + /// The range of component `x` is `[16, 256]`. /// The range of component `b` is `[1, 32]`. - fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_369_328 nanoseconds. - Weight::from_ref_time(2_393_649_000) - // Standard Error: 56_317_470 - .saturating_add(Weight::from_ref_time(823_803_904).saturating_mul(u.into())) - // Standard Error: 56_317_470 - .saturating_add(Weight::from_ref_time(661_524_469).saturating_mul(v.into())) - // Standard Error: 28_041_442 - .saturating_add(Weight::from_ref_time(407_246_561).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(56)) - .saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(v.into()))) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) + fn on_idle_check(x: u32, b: u32, ) -> Weight { + // Minimum execution time: 2_366_234 nanoseconds. + Weight::from_ref_time(2_389_275_000) + // Standard Error: 2_667_329 + .saturating_add(Weight::from_ref_time(77_884_068).saturating_mul(x.into())) + // Standard Error: 21_532_980 + .saturating_add(Weight::from_ref_time(638_582_459).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + .saturating_add(T::DbWeight::get().writes(1)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:1) @@ -110,8 +104,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 147_281 nanoseconds. - Weight::from_ref_time(148_635_000) + // Minimum execution time: 146_745 nanoseconds. + Weight::from_ref_time(148_464_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -121,15 +115,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 67_125 nanoseconds. - Weight::from_ref_time(67_858_000) + // Minimum execution time: 67_591 nanoseconds. + Weight::from_ref_time(68_455_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_845 nanoseconds. - Weight::from_ref_time(4_969_000) + // Minimum execution time: 4_553 nanoseconds. + Weight::from_ref_time(4_813_000) .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index e4c9c9695b7a..29d7904e948a 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -60,10 +60,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 103_705 nanoseconds. - Weight::from_ref_time(72_740_820) - // Standard Error: 47_638 - .saturating_add(Weight::from_ref_time(37_481_933).saturating_mul(b.into())) + // Minimum execution time: 104_891 nanoseconds. + Weight::from_ref_time(81_179_276) + // Standard Error: 69_111 + .saturating_add(Weight::from_ref_time(37_598_449).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -72,28 +72,22 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) - // Storage: FastUnstake CounterForQueue (r:1 w:1) + // Storage: FastUnstake CounterForQueue (r:1 w:0) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - // Storage: FastUnstake Queue (r:33 w:32) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:17 w:0) - /// The range of component `u` is `[1, 16]`. - /// The range of component `v` is `[1, 16]`. + /// The range of component `x` is `[16, 256]`. /// The range of component `b` is `[1, 32]`. - fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_369_328 nanoseconds. - Weight::from_ref_time(2_393_649_000) - // Standard Error: 56_317_470 - .saturating_add(Weight::from_ref_time(823_803_904).saturating_mul(u.into())) - // Standard Error: 56_317_470 - .saturating_add(Weight::from_ref_time(661_524_469).saturating_mul(v.into())) - // Standard Error: 28_041_442 - .saturating_add(Weight::from_ref_time(407_246_561).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(56)) - .saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(v.into()))) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) + fn on_idle_check(x: u32, b: u32, ) -> Weight { + // Minimum execution time: 2_366_234 nanoseconds. + Weight::from_ref_time(2_389_275_000) + // Standard Error: 2_667_329 + .saturating_add(Weight::from_ref_time(77_884_068).saturating_mul(x.into())) + // Standard Error: 21_532_980 + .saturating_add(Weight::from_ref_time(638_582_459).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + .saturating_add(T::DbWeight::get().writes(1)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:1) @@ -110,8 +104,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 147_281 nanoseconds. - Weight::from_ref_time(148_635_000) + // Minimum execution time: 146_745 nanoseconds. + Weight::from_ref_time(148_464_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -121,15 +115,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 67_125 nanoseconds. - Weight::from_ref_time(67_858_000) + // Minimum execution time: 67_591 nanoseconds. + Weight::from_ref_time(68_455_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_845 nanoseconds. - Weight::from_ref_time(4_969_000) + // Minimum execution time: 4_553 nanoseconds. + Weight::from_ref_time(4_813_000) .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/westend/src/weights/pallet_fast_unstake.rs b/runtime/westend/src/weights/pallet_fast_unstake.rs index 9a9a7c6aae79..874aec67f463 100644 --- a/runtime/westend/src/weights/pallet_fast_unstake.rs +++ b/runtime/westend/src/weights/pallet_fast_unstake.rs @@ -60,10 +60,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 103_705 nanoseconds. - Weight::from_ref_time(72_740_820) - // Standard Error: 47_638 - .saturating_add(Weight::from_ref_time(37_481_933).saturating_mul(b.into())) + // Minimum execution time: 104_891 nanoseconds. + Weight::from_ref_time(81_179_276) + // Standard Error: 69_111 + .saturating_add(Weight::from_ref_time(37_598_449).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -72,28 +72,22 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking ValidatorCount (r:1 w:0) // Storage: FastUnstake Head (r:1 w:1) - // Storage: FastUnstake CounterForQueue (r:1 w:1) + // Storage: FastUnstake CounterForQueue (r:1 w:0) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - // Storage: FastUnstake Queue (r:33 w:32) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:17 w:0) - /// The range of component `u` is `[1, 16]`. - /// The range of component `v` is `[1, 16]`. + /// The range of component `x` is `[16, 256]`. /// The range of component `b` is `[1, 32]`. - fn on_idle_check(u: u32, v: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_369_328 nanoseconds. - Weight::from_ref_time(2_393_649_000) - // Standard Error: 56_317_470 - .saturating_add(Weight::from_ref_time(823_803_904).saturating_mul(u.into())) - // Standard Error: 56_317_470 - .saturating_add(Weight::from_ref_time(661_524_469).saturating_mul(v.into())) - // Standard Error: 28_041_442 - .saturating_add(Weight::from_ref_time(407_246_561).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(56)) - .saturating_add(T::DbWeight::get().reads((9_u64).saturating_mul(u.into()))) - .saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(v.into()))) - .saturating_add(T::DbWeight::get().writes(2)) - .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(b.into()))) + fn on_idle_check(x: u32, b: u32, ) -> Weight { + // Minimum execution time: 2_366_234 nanoseconds. + Weight::from_ref_time(2_389_275_000) + // Standard Error: 2_667_329 + .saturating_add(Weight::from_ref_time(77_884_068).saturating_mul(x.into())) + // Standard Error: 21_532_980 + .saturating_add(Weight::from_ref_time(638_582_459).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + .saturating_add(T::DbWeight::get().writes(1)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:1) @@ -110,8 +104,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 147_281 nanoseconds. - Weight::from_ref_time(148_635_000) + // Minimum execution time: 146_745 nanoseconds. + Weight::from_ref_time(148_464_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -121,15 +115,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 67_125 nanoseconds. - Weight::from_ref_time(67_858_000) + // Minimum execution time: 67_591 nanoseconds. + Weight::from_ref_time(68_455_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_845 nanoseconds. - Weight::from_ref_time(4_969_000) + // Minimum execution time: 4_553 nanoseconds. + Weight::from_ref_time(4_813_000) .saturating_add(T::DbWeight::get().writes(1)) } } From 292221b3c26ab465e9db607e28431d02856f367e Mon Sep 17 00:00:00 2001 From: kianenigma Date: Sat, 14 Jan 2023 13:56:13 -0300 Subject: [PATCH 06/20] fix tests --- runtime/kusama/src/lib.rs | 3 +-- runtime/polkadot/src/lib.rs | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index f6a5352e53a3..8dab5b13777b 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2132,8 +2132,7 @@ mod multiplier_tests { use pallet_fast_unstake::WeightInfo; let block_time = BlockWeights::get().max_block.ref_time() as f32; let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( - 1, - 1000, + 1 * 1000, ::BatchSize::get(), ) .ref_time() as f32; diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 1280a222091d..5c74a9a8362a 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -2340,8 +2340,7 @@ mod multiplier_tests { use pallet_fast_unstake::WeightInfo; let block_time = BlockWeights::get().max_block.ref_time() as f32; let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( - 1, - 300, + 1 * 300, ::BatchSize::get(), ) .ref_time() as f32; From aee9758f1362eabcbc08e9d483b4e5b342190802 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Sat, 14 Jan 2023 21:25:23 -0300 Subject: [PATCH 07/20] update weights --- runtime/kusama/src/lib.rs | 5 ++- .../kusama/src/weights/pallet_fast_unstake.rs | 42 +++++++++---------- runtime/polkadot/src/lib.rs | 7 +++- .../src/weights/pallet_fast_unstake.rs | 42 +++++++++---------- runtime/westend/src/lib.rs | 5 ++- .../src/weights/pallet_fast_unstake.rs | 42 +++++++++---------- 6 files changed, 76 insertions(+), 67 deletions(-) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 8dab5b13777b..797ecc60aeac 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -608,8 +608,11 @@ impl pallet_fast_unstake::Config for Runtime { EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; - type WeightInfo = weights::pallet_fast_unstake::WeightInfo; type Staking = Staking; + type MaxErasToCheckPerBlock = ConstU32<1>; + #[cfg(feature = "runtime-benchmarks")] + type MaxBackersPerValidator = MaxNominatorRewardedPerValidator; + type WeightInfo = weights::pallet_fast_unstake::WeightInfo; } parameter_types! { diff --git a/runtime/kusama/src/weights/pallet_fast_unstake.rs b/runtime/kusama/src/weights/pallet_fast_unstake.rs index 24caf8898c7a..2e478d80e85a 100644 --- a/runtime/kusama/src/weights/pallet_fast_unstake.rs +++ b/runtime/kusama/src/weights/pallet_fast_unstake.rs @@ -60,10 +60,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 104_891 nanoseconds. - Weight::from_ref_time(81_179_276) - // Standard Error: 69_111 - .saturating_add(Weight::from_ref_time(37_598_449).saturating_mul(b.into())) + // Minimum execution time: 106_411 nanoseconds. + Weight::from_ref_time(77_651_621) + // Standard Error: 33_723 + .saturating_add(Weight::from_ref_time(37_782_150).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -75,18 +75,18 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake CounterForQueue (r:1 w:0) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking ErasStakers (r:17 w:0) - /// The range of component `x` is `[16, 256]`. + // Storage: Staking ErasStakers (r:2 w:0) + /// The range of component `v` is `[1, 1000]`. /// The range of component `b` is `[1, 32]`. - fn on_idle_check(x: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_366_234 nanoseconds. - Weight::from_ref_time(2_389_275_000) - // Standard Error: 2_667_329 - .saturating_add(Weight::from_ref_time(77_884_068).saturating_mul(x.into())) - // Standard Error: 21_532_980 - .saturating_add(Weight::from_ref_time(638_582_459).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + fn on_idle_check(v: u32, b: u32, ) -> Weight { + // Minimum execution time: 852_650 nanoseconds. + Weight::from_ref_time(856_265_000) + // Standard Error: 8_198_820 + .saturating_add(Weight::from_ref_time(271_792_952).saturating_mul(v.into())) + // Standard Error: 256_629_920 + .saturating_add(Weight::from_ref_time(7_991_342_711).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) @@ -104,8 +104,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 146_745 nanoseconds. - Weight::from_ref_time(148_464_000) + // Minimum execution time: 154_157 nanoseconds. + Weight::from_ref_time(155_617_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -115,15 +115,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 67_591 nanoseconds. - Weight::from_ref_time(68_455_000) + // Minimum execution time: 72_434 nanoseconds. + Weight::from_ref_time(75_710_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_553 nanoseconds. - Weight::from_ref_time(4_813_000) + // Minimum execution time: 5_328 nanoseconds. + Weight::from_ref_time(5_522_000) .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 5c74a9a8362a..218b6d7a5431 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -625,8 +625,11 @@ impl pallet_fast_unstake::Config for Runtime { EnsureRoot, pallet_collective::EnsureProportionAtLeast, >; - type WeightInfo = weights::pallet_fast_unstake::WeightInfo; type Staking = Staking; + type MaxErasToCheckPerBlock = ConstU32<1>; + #[cfg(feature = "runtime-benchmarks")] + type MaxBackersPerValidator = MaxNominatorRewardedPerValidator; + type WeightInfo = weights::pallet_fast_unstake::WeightInfo; } parameter_types! { @@ -2340,7 +2343,7 @@ mod multiplier_tests { use pallet_fast_unstake::WeightInfo; let block_time = BlockWeights::get().max_block.ref_time() as f32; let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( - 1 * 300, + 1 * 300, ::BatchSize::get(), ) .ref_time() as f32; diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index 29d7904e948a..cd6bc12c1fb5 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -60,10 +60,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 104_891 nanoseconds. - Weight::from_ref_time(81_179_276) - // Standard Error: 69_111 - .saturating_add(Weight::from_ref_time(37_598_449).saturating_mul(b.into())) + // Minimum execution time: 106_411 nanoseconds. + Weight::from_ref_time(77_651_621) + // Standard Error: 33_723 + .saturating_add(Weight::from_ref_time(37_782_150).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -75,18 +75,18 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake CounterForQueue (r:1 w:0) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking ErasStakers (r:17 w:0) - /// The range of component `x` is `[16, 256]`. + // Storage: Staking ErasStakers (r:2 w:0) + /// The range of component `v` is `[1, 1000]`. /// The range of component `b` is `[1, 32]`. - fn on_idle_check(x: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_366_234 nanoseconds. - Weight::from_ref_time(2_389_275_000) - // Standard Error: 2_667_329 - .saturating_add(Weight::from_ref_time(77_884_068).saturating_mul(x.into())) - // Standard Error: 21_532_980 - .saturating_add(Weight::from_ref_time(638_582_459).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + fn on_idle_check(v: u32, b: u32, ) -> Weight { + // Minimum execution time: 852_650 nanoseconds. + Weight::from_ref_time(856_265_000) + // Standard Error: 8_198_820 + .saturating_add(Weight::from_ref_time(271_792_952).saturating_mul(v.into())) + // Standard Error: 256_629_920 + .saturating_add(Weight::from_ref_time(7_991_342_711).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) @@ -104,8 +104,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 146_745 nanoseconds. - Weight::from_ref_time(148_464_000) + // Minimum execution time: 154_157 nanoseconds. + Weight::from_ref_time(155_617_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -115,15 +115,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 67_591 nanoseconds. - Weight::from_ref_time(68_455_000) + // Minimum execution time: 72_434 nanoseconds. + Weight::from_ref_time(75_710_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_553 nanoseconds. - Weight::from_ref_time(4_813_000) + // Minimum execution time: 5_328 nanoseconds. + Weight::from_ref_time(5_522_000) .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index b10f76a2700d..215686d58dd9 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -532,8 +532,11 @@ impl pallet_fast_unstake::Config for Runtime { type BatchSize = frame_support::traits::ConstU32<64>; type Deposit = frame_support::traits::ConstU128<{ UNITS }>; type ControlOrigin = EnsureRoot; - type WeightInfo = weights::pallet_fast_unstake::WeightInfo; type Staking = Staking; + type MaxErasToCheckPerBlock = ConstU32<2>; + #[cfg(feature = "runtime-benchmarks")] + type MaxBackersPerValidator = MaxNominatorRewardedPerValidator; + type WeightInfo = weights::pallet_fast_unstake::WeightInfo; } parameter_types! { diff --git a/runtime/westend/src/weights/pallet_fast_unstake.rs b/runtime/westend/src/weights/pallet_fast_unstake.rs index 874aec67f463..18d76985a47e 100644 --- a/runtime/westend/src/weights/pallet_fast_unstake.rs +++ b/runtime/westend/src/weights/pallet_fast_unstake.rs @@ -60,10 +60,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 32]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 104_891 nanoseconds. - Weight::from_ref_time(81_179_276) - // Standard Error: 69_111 - .saturating_add(Weight::from_ref_time(37_598_449).saturating_mul(b.into())) + // Minimum execution time: 106_411 nanoseconds. + Weight::from_ref_time(77_651_621) + // Standard Error: 33_723 + .saturating_add(Weight::from_ref_time(37_782_150).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -75,18 +75,18 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake CounterForQueue (r:1 w:0) // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) - // Storage: Staking ErasStakers (r:17 w:0) - /// The range of component `x` is `[16, 256]`. + // Storage: Staking ErasStakers (r:2 w:0) + /// The range of component `v` is `[1, 1000]`. /// The range of component `b` is `[1, 32]`. - fn on_idle_check(x: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_366_234 nanoseconds. - Weight::from_ref_time(2_389_275_000) - // Standard Error: 2_667_329 - .saturating_add(Weight::from_ref_time(77_884_068).saturating_mul(x.into())) - // Standard Error: 21_532_980 - .saturating_add(Weight::from_ref_time(638_582_459).saturating_mul(b.into())) - .saturating_add(T::DbWeight::get().reads(8)) - .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into()))) + fn on_idle_check(v: u32, b: u32, ) -> Weight { + // Minimum execution time: 852_650 nanoseconds. + Weight::from_ref_time(856_265_000) + // Standard Error: 8_198_820 + .saturating_add(Weight::from_ref_time(271_792_952).saturating_mul(v.into())) + // Standard Error: 256_629_920 + .saturating_add(Weight::from_ref_time(7_991_342_711).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) @@ -104,8 +104,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 146_745 nanoseconds. - Weight::from_ref_time(148_464_000) + // Minimum execution time: 154_157 nanoseconds. + Weight::from_ref_time(155_617_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -115,15 +115,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 67_591 nanoseconds. - Weight::from_ref_time(68_455_000) + // Minimum execution time: 72_434 nanoseconds. + Weight::from_ref_time(75_710_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_553 nanoseconds. - Weight::from_ref_time(4_813_000) + // Minimum execution time: 5_328 nanoseconds. + Weight::from_ref_time(5_522_000) .saturating_add(T::DbWeight::get().writes(1)) } } From 0c9d768337fdb16028ccb0584ad436072dafd85a Mon Sep 17 00:00:00 2001 From: kianenigma Date: Sat, 14 Jan 2023 21:51:42 -0300 Subject: [PATCH 08/20] fix a few small things --- runtime/kusama/src/lib.rs | 2 +- runtime/polkadot/src/lib.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index 797ecc60aeac..a0fbc7ddb8d4 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2135,7 +2135,7 @@ mod multiplier_tests { use pallet_fast_unstake::WeightInfo; let block_time = BlockWeights::get().max_block.ref_time() as f32; let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( - 1 * 1000, + 1000, ::BatchSize::get(), ) .ref_time() as f32; diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 218b6d7a5431..b86950de8c69 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -2343,12 +2343,12 @@ mod multiplier_tests { use pallet_fast_unstake::WeightInfo; let block_time = BlockWeights::get().max_block.ref_time() as f32; let on_idle = weights::pallet_fast_unstake::WeightInfo::::on_idle_check( - 1 * 300, + 300, ::BatchSize::get(), ) .ref_time() as f32; println!("ratio of block weight for full batch fast-unstake {}", on_idle / block_time); - assert!(on_idle / block_time <= 0.25f32) + assert!(on_idle / block_time <= 0.5f32) } #[test] From 4891dbf8d850279fe338017110e34506c96cd7d3 Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sun, 15 Jan 2023 02:30:34 +0000 Subject: [PATCH 09/20] ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake --- .../src/weights/pallet_fast_unstake.rs | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index cd6bc12c1fb5..2814a9d42e46 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -16,21 +16,23 @@ //! Autogenerated weights for `pallet_fast_unstake` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-16, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! HOSTNAME: `bm4`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! DATE: 2023-01-15, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 1024 // Executed Command: -// ./target/production/polkadot +// /home/benchbot/cargo_target_dir/production/polkadot // benchmark // pallet -// --chain=polkadot-dev // --steps=50 // --repeat=20 -// --pallet=pallet_fast_unstake // --extrinsic=* // --execution=wasm // --wasm-execution=compiled +// --heap-pages=4096 +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json +// --pallet=pallet-fast-unstake +// --chain=polkadot-dev // --header=./file_header.txt // --output=./runtime/polkadot/src/weights/ @@ -58,12 +60,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: Staking Ledger (r:0 w:1) // Storage: Staking Payee (r:0 w:1) - /// The range of component `b` is `[1, 32]`. + /// The range of component `b` is `[1, 64]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 106_411 nanoseconds. - Weight::from_ref_time(77_651_621) - // Standard Error: 33_723 - .saturating_add(Weight::from_ref_time(37_782_150).saturating_mul(b.into())) + // Minimum execution time: 89_039 nanoseconds. + Weight::from_ref_time(79_243_959) + // Standard Error: 32_697 + .saturating_add(Weight::from_ref_time(34_051_186).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -77,14 +79,14 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:2 w:0) /// The range of component `v` is `[1, 1000]`. - /// The range of component `b` is `[1, 32]`. + /// The range of component `b` is `[1, 64]`. fn on_idle_check(v: u32, b: u32, ) -> Weight { - // Minimum execution time: 852_650 nanoseconds. - Weight::from_ref_time(856_265_000) - // Standard Error: 8_198_820 - .saturating_add(Weight::from_ref_time(271_792_952).saturating_mul(v.into())) - // Standard Error: 256_629_920 - .saturating_add(Weight::from_ref_time(7_991_342_711).saturating_mul(b.into())) + // Minimum execution time: 2_465_044 nanoseconds. + Weight::from_ref_time(2_485_296_000) + // Standard Error: 25_747_369 + .saturating_add(Weight::from_ref_time(831_370_194).saturating_mul(v.into())) + // Standard Error: 402_494_104 + .saturating_add(Weight::from_ref_time(12_667_790_065).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -97,15 +99,14 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Validators (r:1 w:0) // Storage: Staking Nominators (r:1 w:1) // Storage: Staking CounterForNominators (r:1 w:1) - // Storage: VoterList ListNodes (r:2 w:2) - // Storage: VoterList ListBags (r:1 w:1) + // Storage: VoterList ListNodes (r:3 w:3) // Storage: VoterList CounterForListNodes (r:1 w:1) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 154_157 nanoseconds. - Weight::from_ref_time(155_617_000) + // Minimum execution time: 125_984 nanoseconds. + Weight::from_ref_time(128_076_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -115,15 +116,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 72_434 nanoseconds. - Weight::from_ref_time(75_710_000) + // Minimum execution time: 50_089 nanoseconds. + Weight::from_ref_time(51_829_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 5_328 nanoseconds. - Weight::from_ref_time(5_522_000) + // Minimum execution time: 4_241 nanoseconds. + Weight::from_ref_time(4_418_000) .saturating_add(T::DbWeight::get().writes(1)) } } From 133e26c75f3fc9b1d80e64046c482da99ebcbd2d Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sun, 15 Jan 2023 14:24:15 +0000 Subject: [PATCH 10/20] ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake --- .../src/weights/pallet_fast_unstake.rs | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index 2814a9d42e46..5a3b02627f57 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -62,10 +62,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 64]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 89_039 nanoseconds. - Weight::from_ref_time(79_243_959) - // Standard Error: 32_697 - .saturating_add(Weight::from_ref_time(34_051_186).saturating_mul(b.into())) + // Minimum execution time: 89_186 nanoseconds. + Weight::from_ref_time(81_064_737) + // Standard Error: 35_660 + .saturating_add(Weight::from_ref_time(33_538_270).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,12 +81,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo /// The range of component `v` is `[1, 1000]`. /// The range of component `b` is `[1, 64]`. fn on_idle_check(v: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_465_044 nanoseconds. - Weight::from_ref_time(2_485_296_000) - // Standard Error: 25_747_369 - .saturating_add(Weight::from_ref_time(831_370_194).saturating_mul(v.into())) - // Standard Error: 402_494_104 - .saturating_add(Weight::from_ref_time(12_667_790_065).saturating_mul(b.into())) + // Minimum execution time: 2_466_451 nanoseconds. + Weight::from_ref_time(2_482_162_000) + // Standard Error: 25_800_482 + .saturating_add(Weight::from_ref_time(833_589_133).saturating_mul(v.into())) + // Standard Error: 403_324_394 + .saturating_add(Weight::from_ref_time(12_683_971_547).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -105,8 +105,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 125_984 nanoseconds. - Weight::from_ref_time(128_076_000) + // Minimum execution time: 125_878 nanoseconds. + Weight::from_ref_time(129_289_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -116,15 +116,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 50_089 nanoseconds. - Weight::from_ref_time(51_829_000) + // Minimum execution time: 51_516 nanoseconds. + Weight::from_ref_time(52_357_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_241 nanoseconds. - Weight::from_ref_time(4_418_000) + // Minimum execution time: 4_145 nanoseconds. + Weight::from_ref_time(4_410_000) .saturating_add(T::DbWeight::get().writes(1)) } } From 9a4972c77a4f4d552f7973590842d3c4e1cfe9cb Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sun, 15 Jan 2023 15:41:42 +0000 Subject: [PATCH 11/20] ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev pallet-fast-unstake --- .../kusama/src/weights/pallet_fast_unstake.rs | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/runtime/kusama/src/weights/pallet_fast_unstake.rs b/runtime/kusama/src/weights/pallet_fast_unstake.rs index 2e478d80e85a..014902cd0419 100644 --- a/runtime/kusama/src/weights/pallet_fast_unstake.rs +++ b/runtime/kusama/src/weights/pallet_fast_unstake.rs @@ -16,21 +16,23 @@ //! Autogenerated weights for `pallet_fast_unstake` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2022-11-16, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! DATE: 2023-01-15, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024 // Executed Command: -// ./target/production/polkadot +// /home/benchbot/cargo_target_dir/production/polkadot // benchmark // pallet -// --chain=kusama-dev // --steps=50 // --repeat=20 -// --pallet=pallet_fast_unstake // --extrinsic=* // --execution=wasm // --wasm-execution=compiled +// --heap-pages=4096 +// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json +// --pallet=pallet-fast-unstake +// --chain=kusama-dev // --header=./file_header.txt // --output=./runtime/kusama/src/weights/ @@ -58,12 +60,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: Staking Ledger (r:0 w:1) // Storage: Staking Payee (r:0 w:1) - /// The range of component `b` is `[1, 32]`. + /// The range of component `b` is `[1, 64]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 106_411 nanoseconds. - Weight::from_ref_time(77_651_621) - // Standard Error: 33_723 - .saturating_add(Weight::from_ref_time(37_782_150).saturating_mul(b.into())) + // Minimum execution time: 77_225 nanoseconds. + Weight::from_ref_time(45_851_915) + // Standard Error: 27_205 + .saturating_add(Weight::from_ref_time(34_256_381).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -76,15 +78,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:2 w:0) - /// The range of component `v` is `[1, 1000]`. - /// The range of component `b` is `[1, 32]`. + /// The range of component `v` is `[1, 256]`. + /// The range of component `b` is `[1, 64]`. fn on_idle_check(v: u32, b: u32, ) -> Weight { - // Minimum execution time: 852_650 nanoseconds. - Weight::from_ref_time(856_265_000) - // Standard Error: 8_198_820 - .saturating_add(Weight::from_ref_time(271_792_952).saturating_mul(v.into())) - // Standard Error: 256_629_920 - .saturating_add(Weight::from_ref_time(7_991_342_711).saturating_mul(b.into())) + // Minimum execution time: 1_671_682 nanoseconds. + Weight::from_ref_time(1_683_909_000) + // Standard Error: 16_637_473 + .saturating_add(Weight::from_ref_time(533_652_266).saturating_mul(v.into())) + // Standard Error: 66_568_424 + .saturating_add(Weight::from_ref_time(2_085_678_765).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -97,17 +99,17 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Validators (r:1 w:0) // Storage: Staking Nominators (r:1 w:1) // Storage: Staking CounterForNominators (r:1 w:1) - // Storage: VoterList ListNodes (r:2 w:2) + // Storage: VoterList ListNodes (r:1 w:1) // Storage: VoterList ListBags (r:1 w:1) // Storage: VoterList CounterForListNodes (r:1 w:1) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 154_157 nanoseconds. - Weight::from_ref_time(155_617_000) - .saturating_add(T::DbWeight::get().reads(15)) - .saturating_add(T::DbWeight::get().writes(10)) + // Minimum execution time: 106_509 nanoseconds. + Weight::from_ref_time(107_537_000) + .saturating_add(T::DbWeight::get().reads(14)) + .saturating_add(T::DbWeight::get().writes(9)) } // Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) // Storage: Staking Ledger (r:1 w:0) @@ -115,15 +117,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 72_434 nanoseconds. - Weight::from_ref_time(75_710_000) + // Minimum execution time: 43_328 nanoseconds. + Weight::from_ref_time(43_904_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 5_328 nanoseconds. - Weight::from_ref_time(5_522_000) + // Minimum execution time: 4_153 nanoseconds. + Weight::from_ref_time(4_337_000) .saturating_add(T::DbWeight::get().writes(1)) } } From b5945efc841723d85ad6ac5e23750f16c363d926 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Sun, 15 Jan 2023 17:04:09 -0300 Subject: [PATCH 12/20] reduce batch size --- runtime/polkadot/src/lib.rs | 2 +- runtime/westend/src/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 11619060bcd4..a7d0b4ea3d36 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -619,7 +619,7 @@ impl pallet_staking::Config for Runtime { impl pallet_fast_unstake::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; - type BatchSize = frame_support::traits::ConstU32<64>; + type BatchSize = frame_support::traits::ConstU32<16>; type Deposit = frame_support::traits::ConstU128<{ UNITS }>; type ControlOrigin = EitherOfDiverse< EnsureRoot, diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index f56e06777345..8a3a75512a64 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -533,7 +533,7 @@ impl pallet_fast_unstake::Config for Runtime { type Deposit = frame_support::traits::ConstU128<{ UNITS }>; type ControlOrigin = EnsureRoot; type Staking = Staking; - type MaxErasToCheckPerBlock = ConstU32<2>; + type MaxErasToCheckPerBlock = ConstU32<1>; #[cfg(feature = "runtime-benchmarks")] type MaxBackersPerValidator = MaxNominatorRewardedPerValidator; type WeightInfo = weights::pallet_fast_unstake::WeightInfo; From 64274659b96108cc843c5550ae4dcd30c92127ba Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Sun, 15 Jan 2023 21:03:01 +0000 Subject: [PATCH 13/20] ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake --- .../src/weights/pallet_fast_unstake.rs | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index 5a3b02627f57..19cdc7d53be2 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -60,12 +60,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: Staking Ledger (r:0 w:1) // Storage: Staking Payee (r:0 w:1) - /// The range of component `b` is `[1, 64]`. + /// The range of component `b` is `[1, 16]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 89_186 nanoseconds. - Weight::from_ref_time(81_064_737) - // Standard Error: 35_660 - .saturating_add(Weight::from_ref_time(33_538_270).saturating_mul(b.into())) + // Minimum execution time: 76_468 nanoseconds. + Weight::from_ref_time(47_557_097) + // Standard Error: 32_963 + .saturating_add(Weight::from_ref_time(33_837_395).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -78,15 +78,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Staking ErasStakers (r:2 w:0) - /// The range of component `v` is `[1, 1000]`. - /// The range of component `b` is `[1, 64]`. + /// The range of component `v` is `[1, 256]`. + /// The range of component `b` is `[1, 16]`. fn on_idle_check(v: u32, b: u32, ) -> Weight { - // Minimum execution time: 2_466_451 nanoseconds. - Weight::from_ref_time(2_482_162_000) - // Standard Error: 25_800_482 - .saturating_add(Weight::from_ref_time(833_589_133).saturating_mul(v.into())) - // Standard Error: 403_324_394 - .saturating_add(Weight::from_ref_time(12_683_971_547).saturating_mul(b.into())) + // Minimum execution time: 665_245 nanoseconds. + Weight::from_ref_time(668_032_000) + // Standard Error: 6_419_133 + .saturating_add(Weight::from_ref_time(213_945_440).saturating_mul(v.into())) + // Standard Error: 103_007_811 + .saturating_add(Weight::from_ref_time(3_200_709_428).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -99,14 +99,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Validators (r:1 w:0) // Storage: Staking Nominators (r:1 w:1) // Storage: Staking CounterForNominators (r:1 w:1) - // Storage: VoterList ListNodes (r:3 w:3) + // Storage: VoterList ListNodes (r:2 w:2) + // Storage: VoterList ListBags (r:1 w:1) // Storage: VoterList CounterForListNodes (r:1 w:1) // Storage: Staking CurrentEra (r:1 w:0) // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 125_878 nanoseconds. - Weight::from_ref_time(129_289_000) + // Minimum execution time: 109_570 nanoseconds. + Weight::from_ref_time(110_644_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -116,15 +117,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 51_516 nanoseconds. - Weight::from_ref_time(52_357_000) + // Minimum execution time: 43_608 nanoseconds. + Weight::from_ref_time(44_278_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_145 nanoseconds. - Weight::from_ref_time(4_410_000) + // Minimum execution time: 4_091 nanoseconds. + Weight::from_ref_time(4_285_000) .saturating_add(T::DbWeight::get().writes(1)) } } From f7afb5dab13567a205c27f6755e4f525ca5a781a Mon Sep 17 00:00:00 2001 From: kianenigma Date: Wed, 25 Jan 2023 13:37:24 -0300 Subject: [PATCH 14/20] update --- runtime/common/src/lib.rs | 2 +- runtime/common/src/try_runtime.rs | 32 ++++++++++++++++--------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/runtime/common/src/lib.rs b/runtime/common/src/lib.rs index ad55515cc784..5952d11961a3 100644 --- a/runtime/common/src/lib.rs +++ b/runtime/common/src/lib.rs @@ -30,9 +30,9 @@ pub mod purchase; pub mod slot_range; pub mod slots; pub mod traits; -pub mod xcm_sender; #[cfg(feature = "try-runtime")] pub mod try_runtime; +pub mod xcm_sender; #[cfg(test)] mod integration_tests; diff --git a/runtime/common/src/try_runtime.rs b/runtime/common/src/try_runtime.rs index b21b591b1935..93597ee0f39b 100644 --- a/runtime/common/src/try_runtime.rs +++ b/runtime/common/src/try_runtime.rs @@ -14,7 +14,15 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -//! common try-runtime only tests for runtimes. +//! Common try-runtime only tests for runtimes. + +use frame_support::{ + dispatch::RawOrigin, + traits::{Get, Hooks}, +}; +use pallet_fast_unstake::{Pallet as FastUnstake, *}; +use pallet_staking::*; +use sp_std::{collections::btree_set::BTreeSet, prelude::*}; /// register all inactive nominators for fast-unstake, and progress until they have all been /// processed. @@ -22,14 +30,6 @@ pub fn migrate_all_inactive_nominators::RuntimeEvent: TryInto>, { - use frame_support::{ - dispatch::RawOrigin, - traits::{Get, Hooks}, - }; - use pallet_fast_unstake::{Pallet as FastUnstake, *}; - use pallet_staking::*; - use sp_std::{collections::btree_set::BTreeSet, prelude::*}; - let mut unstaked_ok = 0; let mut unstaked_err = 0; let mut unstaked_slashed = 0; @@ -38,14 +38,12 @@ where let mut all_exposed = BTreeSet::new(); ErasStakers::::iter().for_each(|(_, val, expo)| { all_exposed.insert(val); - expo.others.iter().for_each(|ie| { - all_exposed.insert(ie.who.clone()); - }) + all_exposed.extend(expo.others.iter().map(|ie| ie.who.clone())) }); let eligible = all_stakers .iter() - .filter_map(|(ctrl, stash)| if all_exposed.contains(stash) { None } else { Some(ctrl) }) + .filter_map(|(ctrl, stash)| all_exposed.then_some(ctrl)) .collect::>(); log::info!( @@ -62,9 +60,13 @@ where } } - log::info!(target: "runtime::test", "registered {} successfully, starting at {:?}.", Queue::::count(), frame_system::Pallet::::block_number()); + log::info!( + target: "runtime::test", + "registered {} successfully, starting at {:?}.", + Queue::::count(), + frame_system::Pallet::::block_number(), + ); while Queue::::count() != 0 || Head::::get().is_some() { - // assume half of the block weight is available. let now = frame_system::Pallet::::block_number(); let weight = ::BlockWeights::get().max_block; let consumed = FastUnstake::::on_idle(now, weight); From b5131369d0b4992d27a1d15fa35e45222fc8a7e3 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Wed, 25 Jan 2023 13:43:37 -0300 Subject: [PATCH 15/20] fix --- runtime/common/src/try_runtime.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/common/src/try_runtime.rs b/runtime/common/src/try_runtime.rs index 93597ee0f39b..508a2a069116 100644 --- a/runtime/common/src/try_runtime.rs +++ b/runtime/common/src/try_runtime.rs @@ -43,7 +43,7 @@ where let eligible = all_stakers .iter() - .filter_map(|(ctrl, stash)| all_exposed.then_some(ctrl)) + .filter_map(|(ctrl, stash)| all_exposed.contains(stash).then_some(ctrl)) .collect::>(); log::info!( From 8861212fd7f689d042a64152bc0bd34e020993c2 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Wed, 25 Jan 2023 14:03:21 -0300 Subject: [PATCH 16/20] fix --- runtime/rococo/src/lib.rs | 2 +- runtime/westend/src/lib.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index 9e2479110eab..5f81b1b52614 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -2127,6 +2127,6 @@ mod remote_tests { .build() .await .unwrap(); - ext.execute_with(|| Runtime::on_runtime_upgrade(true)); + ext.execute_with(|| Runtime::on_runtime_upgrade(frame_try_runtime::UpgradeCheckSelect::All)); } } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index abf915ce2c07..f9f0f8b2c661 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -1881,7 +1881,7 @@ mod remote_tests { .build() .await .unwrap(); - ext.execute_with(|| Runtime::on_runtime_upgrade(true)); + ext.execute_with(|| Runtime::on_runtime_upgrade(frame_try_runtime::UpgradeCheckSelect::All)); } } From 4d0abd760dacc1a4c0303f4df527b6ed70d6c9c6 Mon Sep 17 00:00:00 2001 From: command-bot <> Date: Wed, 25 Jan 2023 18:00:45 +0000 Subject: [PATCH 17/20] ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake --- .../src/weights/pallet_fast_unstake.rs | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/runtime/polkadot/src/weights/pallet_fast_unstake.rs b/runtime/polkadot/src/weights/pallet_fast_unstake.rs index 19cdc7d53be2..34aa2fd984cc 100644 --- a/runtime/polkadot/src/weights/pallet_fast_unstake.rs +++ b/runtime/polkadot/src/weights/pallet_fast_unstake.rs @@ -16,12 +16,12 @@ //! Autogenerated weights for `pallet_fast_unstake` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-01-15, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz` +//! DATE: 2023-01-25, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! HOSTNAME: `runner-b3zmxxc-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 1024 // Executed Command: -// /home/benchbot/cargo_target_dir/production/polkadot +// target/production/polkadot // benchmark // pallet // --steps=50 @@ -30,7 +30,7 @@ // --execution=wasm // --wasm-execution=compiled // --heap-pages=4096 -// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/polkadot/.git/.artifacts/bench.json +// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json // --pallet=pallet-fast-unstake // --chain=polkadot-dev // --header=./file_header.txt @@ -62,10 +62,10 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Staking Payee (r:0 w:1) /// The range of component `b` is `[1, 16]`. fn on_idle_unstake(b: u32, ) -> Weight { - // Minimum execution time: 76_468 nanoseconds. - Weight::from_ref_time(47_557_097) - // Standard Error: 32_963 - .saturating_add(Weight::from_ref_time(33_837_395).saturating_mul(b.into())) + // Minimum execution time: 83_164 nanoseconds. + Weight::from_ref_time(49_648_955) + // Standard Error: 32_056 + .saturating_add(Weight::from_ref_time(39_756_465).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,12 +81,12 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo /// The range of component `v` is `[1, 256]`. /// The range of component `b` is `[1, 16]`. fn on_idle_check(v: u32, b: u32, ) -> Weight { - // Minimum execution time: 665_245 nanoseconds. - Weight::from_ref_time(668_032_000) - // Standard Error: 6_419_133 - .saturating_add(Weight::from_ref_time(213_945_440).saturating_mul(v.into())) - // Standard Error: 103_007_811 - .saturating_add(Weight::from_ref_time(3_200_709_428).saturating_mul(b.into())) + // Minimum execution time: 717_323 nanoseconds. + Weight::from_ref_time(720_850_000) + // Standard Error: 6_820_833 + .saturating_add(Weight::from_ref_time(227_516_069).saturating_mul(v.into())) + // Standard Error: 109_453_890 + .saturating_add(Weight::from_ref_time(3_407_382_031).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -106,8 +106,8 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: Balances Locks (r:1 w:1) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn register_fast_unstake() -> Weight { - // Minimum execution time: 109_570 nanoseconds. - Weight::from_ref_time(110_644_000) + // Minimum execution time: 117_697 nanoseconds. + Weight::from_ref_time(121_765_000) .saturating_add(T::DbWeight::get().reads(15)) .saturating_add(T::DbWeight::get().writes(10)) } @@ -117,15 +117,15 @@ impl pallet_fast_unstake::WeightInfo for WeightInfo // Storage: FastUnstake Head (r:1 w:0) // Storage: FastUnstake CounterForQueue (r:1 w:1) fn deregister() -> Weight { - // Minimum execution time: 43_608 nanoseconds. - Weight::from_ref_time(44_278_000) + // Minimum execution time: 43_159 nanoseconds. + Weight::from_ref_time(44_550_000) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) } // Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) fn control() -> Weight { - // Minimum execution time: 4_091 nanoseconds. - Weight::from_ref_time(4_285_000) + // Minimum execution time: 3_898 nanoseconds. + Weight::from_ref_time(4_344_000) .saturating_add(T::DbWeight::get().writes(1)) } } From 729f7bd952291628afbc56594093758de3a3f98a Mon Sep 17 00:00:00 2001 From: parity-processbot <> Date: Thu, 26 Jan 2023 00:02:12 +0000 Subject: [PATCH 18/20] update lockfile for {"substrate"} --- Cargo.lock | 407 ++++++++++++++++++++++++++++------------------------- 1 file changed, 219 insertions(+), 188 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bcc4be6c513b..21f42862322f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -455,7 +455,7 @@ dependencies = [ [[package]] name = "beefy-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "async-trait", @@ -489,7 +489,7 @@ dependencies = [ [[package]] name = "beefy-gadget-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "beefy-gadget", "futures", @@ -508,7 +508,7 @@ dependencies = [ [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "sp-api", "sp-beefy", @@ -1635,6 +1635,17 @@ dependencies = [ "syn", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "derive_builder" version = "0.11.2" @@ -2280,7 +2291,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", ] @@ -2304,7 +2315,7 @@ checksum = "85dcb89d2b10c5f6133de2efd8c11959ce9dbb46a2f7a4cab208c4eeda6ce1ab" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -2327,7 +2338,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "Inflector", "array-bytes", @@ -2374,7 +2385,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2385,7 +2396,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2402,7 +2413,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -2431,7 +2442,7 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "log", @@ -2447,7 +2458,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "bitflags", "frame-metadata", @@ -2473,16 +2484,18 @@ dependencies = [ "sp-std", "sp-tracing", "sp-weights", + "static_assertions", "tt-call", ] [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", "frame-support-procedural-tools", "itertools", "proc-macro2", @@ -2493,7 +2506,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2505,7 +2518,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro2", "quote", @@ -2515,8 +2528,9 @@ dependencies = [ [[package]] name = "frame-support-test" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ + "frame-benchmarking", "frame-support", "frame-support-test-pallet", "frame-system", @@ -2538,7 +2552,7 @@ dependencies = [ [[package]] name = "frame-support-test-pallet" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -2549,7 +2563,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "log", @@ -2567,7 +2581,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -2582,7 +2596,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "sp-api", @@ -2591,7 +2605,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "parity-scale-codec", @@ -2762,7 +2776,7 @@ dependencies = [ [[package]] name = "generate-bags" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "chrono", "frame-election-provider-support", @@ -4515,7 +4529,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "log", @@ -4534,7 +4548,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "anyhow", "jsonrpsee", @@ -5099,7 +5113,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5114,7 +5128,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5130,7 +5144,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5145,7 +5159,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5169,7 +5183,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5189,7 +5203,7 @@ dependencies = [ [[package]] name = "pallet-bags-list-remote-tests" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-election-provider-support", "frame-remote-externalities", @@ -5208,7 +5222,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5223,7 +5237,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5239,7 +5253,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "beefy-merkle-tree", @@ -5262,7 +5276,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5280,7 +5294,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5299,7 +5313,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5316,7 +5330,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5333,7 +5347,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5351,7 +5365,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5374,7 +5388,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5387,7 +5401,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5405,7 +5419,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5423,7 +5437,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5446,7 +5460,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5462,7 +5476,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5482,7 +5496,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5499,7 +5513,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5516,7 +5530,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5533,7 +5547,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5549,7 +5563,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5565,7 +5579,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5582,7 +5596,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5602,7 +5616,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "1.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "sp-api", @@ -5612,7 +5626,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5629,7 +5643,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5653,7 +5667,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5670,7 +5684,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5685,7 +5699,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5703,7 +5717,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5718,7 +5732,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "assert_matches", "frame-benchmarking", @@ -5737,7 +5751,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5754,7 +5768,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5775,7 +5789,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5791,7 +5805,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5805,7 +5819,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5828,7 +5842,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5839,7 +5853,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "log", "sp-arithmetic", @@ -5848,7 +5862,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5865,7 +5879,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5879,7 +5893,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5897,7 +5911,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5916,7 +5930,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-support", "frame-system", @@ -5932,7 +5946,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -5948,7 +5962,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5960,7 +5974,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5977,7 +5991,7 @@ dependencies = [ [[package]] name = "pallet-uniques" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -5992,7 +6006,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -6008,7 +6022,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -6023,7 +6037,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-benchmarking", "frame-support", @@ -8915,7 +8929,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "log", "sp-core", @@ -8926,7 +8940,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -8953,7 +8967,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "futures-timer", @@ -8976,7 +8990,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -8992,7 +9006,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "memmap2", "sc-chain-spec-derive", @@ -9007,7 +9021,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9018,7 +9032,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "chrono", @@ -9058,7 +9072,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "fnv", "futures", @@ -9084,7 +9098,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "hash-db", "kvdb", @@ -9110,7 +9124,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -9135,7 +9149,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "fork-tree", @@ -9173,7 +9187,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "jsonrpsee", @@ -9195,7 +9209,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "fork-tree", "parity-scale-codec", @@ -9208,7 +9222,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -9231,7 +9245,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "lru 0.8.1", "parity-scale-codec", @@ -9255,7 +9269,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", @@ -9268,7 +9282,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "log", "sc-allocator", @@ -9281,7 +9295,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "cfg-if", "libc", @@ -9298,7 +9312,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ahash 0.7.6", "array-bytes", @@ -9338,7 +9352,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "finality-grandpa", "futures", @@ -9358,7 +9372,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ansi_term", "futures", @@ -9373,7 +9387,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "async-trait", @@ -9388,7 +9402,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "async-trait", @@ -9430,7 +9444,7 @@ dependencies = [ [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "cid", "futures", @@ -9449,7 +9463,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "bitflags", @@ -9475,7 +9489,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ahash 0.7.6", "futures", @@ -9493,7 +9507,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "futures", @@ -9514,7 +9528,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "async-trait", @@ -9546,7 +9560,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "futures", @@ -9565,7 +9579,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "bytes", @@ -9595,7 +9609,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "libp2p", @@ -9608,7 +9622,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -9617,7 +9631,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "jsonrpsee", @@ -9647,7 +9661,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9666,7 +9680,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "http", "jsonrpsee", @@ -9681,7 +9695,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "futures", @@ -9707,7 +9721,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "directories", @@ -9738,6 +9752,7 @@ dependencies = [ "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", + "sc-storage-monitor", "sc-sysinfo", "sc-telemetry", "sc-tracing", @@ -9772,7 +9787,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "log", "parity-scale-codec", @@ -9780,10 +9795,26 @@ dependencies = [ "sp-core", ] +[[package]] +name = "sc-storage-monitor" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" +dependencies = [ + "clap 4.0.15", + "futures", + "log", + "nix 0.26.2", + "sc-client-db", + "sc-utils", + "sp-core", + "thiserror", + "tokio", +] + [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -9802,7 +9833,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "libc", @@ -9821,7 +9852,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "chrono", "futures", @@ -9840,7 +9871,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ansi_term", "atty", @@ -9871,7 +9902,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -9882,7 +9913,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -9909,7 +9940,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -9923,7 +9954,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "backtrace", "futures", @@ -10430,7 +10461,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "hash-db", "log", @@ -10448,7 +10479,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "blake2", "proc-macro-crate", @@ -10460,7 +10491,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10473,7 +10504,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "integer-sqrt", "num-traits", @@ -10487,7 +10518,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10500,7 +10531,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "parity-scale-codec", @@ -10512,7 +10543,7 @@ dependencies = [ [[package]] name = "sp-beefy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10529,7 +10560,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "sp-api", @@ -10541,7 +10572,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "log", @@ -10559,7 +10590,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -10577,7 +10608,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "merlin", @@ -10600,7 +10631,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10612,7 +10643,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10625,7 +10656,7 @@ dependencies = [ [[package]] name = "sp-core" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "base58", @@ -10667,7 +10698,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "blake2", "byteorder", @@ -10681,7 +10712,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro2", "quote", @@ -10692,7 +10723,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -10701,7 +10732,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro2", "quote", @@ -10711,7 +10742,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "environmental", "parity-scale-codec", @@ -10722,7 +10753,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "finality-grandpa", "log", @@ -10740,7 +10771,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -10754,7 +10785,7 @@ dependencies = [ [[package]] name = "sp-io" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "bytes", "ed25519", @@ -10779,7 +10810,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "lazy_static", "sp-core", @@ -10790,7 +10821,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures", @@ -10807,7 +10838,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "thiserror", "zstd", @@ -10816,7 +10847,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -10834,7 +10865,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10848,7 +10879,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "sp-api", "sp-core", @@ -10858,7 +10889,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "backtrace", "lazy_static", @@ -10868,7 +10899,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "rustc-hash", "serde", @@ -10878,7 +10909,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "either", "hash256-std-hasher", @@ -10900,7 +10931,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -10918,7 +10949,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "Inflector", "proc-macro-crate", @@ -10930,7 +10961,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10944,7 +10975,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -10956,7 +10987,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.13.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "hash-db", "log", @@ -10976,12 +11007,12 @@ dependencies = [ [[package]] name = "sp-std" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" [[package]] name = "sp-storage" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -10994,7 +11025,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "futures-timer", @@ -11009,7 +11040,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "sp-std", @@ -11021,7 +11052,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "sp-api", "sp-runtime", @@ -11030,7 +11061,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "log", @@ -11046,7 +11077,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ahash 0.7.6", "hash-db", @@ -11069,7 +11100,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "impl-serde", "parity-scale-codec", @@ -11086,7 +11117,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -11097,7 +11128,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "7.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "impl-trait-for-tuples", "log", @@ -11110,7 +11141,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "parity-scale-codec", "scale-info", @@ -11343,7 +11374,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "platforms", ] @@ -11351,7 +11382,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -11370,7 +11401,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "hyper", "log", @@ -11382,7 +11413,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "async-trait", "jsonrpsee", @@ -11395,7 +11426,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "jsonrpsee", "log", @@ -11414,7 +11445,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "array-bytes", "async-trait", @@ -11440,7 +11471,7 @@ dependencies = [ [[package]] name = "substrate-test-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "futures", "substrate-test-utils-derive", @@ -11450,7 +11481,7 @@ dependencies = [ [[package]] name = "substrate-test-utils-derive" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -11461,7 +11492,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "ansi_term", "build-helper", @@ -12262,7 +12293,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate?branch=master#355e4a9c87f85637185c0852bda9aeb3db404b6d" +source = "git+https://github.com/paritytech/substrate?branch=master#8b4331c27bba6d9f178b8be093e39153350b9be8" dependencies = [ "clap 4.0.15", "frame-remote-externalities", @@ -12358,7 +12389,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.3", - "rand 0.7.3", + "rand 0.8.5", "static_assertions", ] @@ -12660,9 +12691,9 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +checksum = "84a303793cbc01fb96551badfc7367db6007396bba6bac97936b3c8b6f7fdb41" dependencies = [ "anyhow", "libc", @@ -12676,9 +12707,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" +checksum = "d9c9deb56f8a9f2ec177b3bd642a8205621835944ed5da55f2388ef216aca5a4" dependencies = [ "anyhow", "cxx", @@ -12688,9 +12719,9 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.110.2" +version = "0.111.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" +checksum = "4432e28b542738a9776cedf92e8a99d8991c7b4667ee2c7ccddfb479dd2856a7" dependencies = [ "anyhow", "cc", From 4c3eb7dfc5196525b6b7a8dc65e1e033c5341762 Mon Sep 17 00:00:00 2001 From: kianenigma Date: Thu, 26 Jan 2023 10:23:43 -0300 Subject: [PATCH 19/20] fmt --- runtime/rococo/src/lib.rs | 4 +++- runtime/westend/src/lib.rs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/rococo/src/lib.rs b/runtime/rococo/src/lib.rs index 5f81b1b52614..cd5f71079f1c 100644 --- a/runtime/rococo/src/lib.rs +++ b/runtime/rococo/src/lib.rs @@ -2127,6 +2127,8 @@ mod remote_tests { .build() .await .unwrap(); - ext.execute_with(|| Runtime::on_runtime_upgrade(frame_try_runtime::UpgradeCheckSelect::All)); + ext.execute_with(|| { + Runtime::on_runtime_upgrade(frame_try_runtime::UpgradeCheckSelect::All) + }); } } diff --git a/runtime/westend/src/lib.rs b/runtime/westend/src/lib.rs index f9f0f8b2c661..3cfd0167b50b 100644 --- a/runtime/westend/src/lib.rs +++ b/runtime/westend/src/lib.rs @@ -1881,7 +1881,9 @@ mod remote_tests { .build() .await .unwrap(); - ext.execute_with(|| Runtime::on_runtime_upgrade(frame_try_runtime::UpgradeCheckSelect::All)); + ext.execute_with(|| { + Runtime::on_runtime_upgrade(frame_try_runtime::UpgradeCheckSelect::All) + }); } } From 119d604462eb3d3bad8f5027364ccac3706f4122 Mon Sep 17 00:00:00 2001 From: Oliver Tale-Yazdi Date: Fri, 27 Jan 2023 15:47:38 +0100 Subject: [PATCH 20/20] Env gate migration try_fast_unstake_all Signed-off-by: Oliver Tale-Yazdi --- runtime/kusama/src/lib.rs | 4 ++++ runtime/polkadot/src/lib.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index fb88ca120f76..6bf23b03cf96 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -2284,6 +2284,10 @@ mod remote_tests { #[tokio::test] async fn try_fast_unstake_all() { + if var("RUN_MIGRATION_TESTS").is_err() { + return + } + sp_tracing::try_init_simple(); let transport: Transport = var("WS").unwrap_or("wss://kusama-rpc.polkadot.io:443".to_string()).into(); diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 9c1eb9ce6836..d8556b5bfcd8 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -2480,6 +2480,10 @@ mod remote_tests { #[tokio::test] async fn try_fast_unstake_all() { + if var("RUN_MIGRATION_TESTS").is_err() { + return + } + sp_tracing::try_init_simple(); let transport: Transport = var("WS").unwrap_or("wss://rpc.polkadot.io:443".to_string()).into();