Staking: Add deprecate_controller_batch AdminOrigin call (#2589)

Partially Addresses #2500

Adds a `deprecate_controller_batch` call to the staking pallet that is
callable by `Root` and `StakingAdmin`. To be used for controller account
deprecation and removed thereafter. Adds
`MaxControllersDeprecationBatch` pallet constant that defines max
possible deprecations per call.

- [x] Add `deprecate_controller_batch` call, and
`MaxControllersInDeprecationBatch` constant.
- [x] Add tests, benchmark, weights. Tests that weight is only consumed
if unique pair.
- [x] Adds `StakingAdmin` origin to staking's `AdminOrigin` type in
westend runtime.
- [x] Determined that worst case 5,900 deprecations does fit into
`maxBlock` `proofSize` and `refTime` in both normal and operational
thresholds, meaning we can deprecate all controllers for each network in
one call.

## Block Weights

By querying `consts.system.blockWeights` we can see that the
`deprecate_controller_batch` weights fit within the `normal` threshold
on Polkadot.

#### `controller_deprecation_batch` where i = 5900:
#### Ref time: 69,933,325,300
#### Proof size: 21,040,390

### Polkadot 

```
// consts.query.blockWeights

maxBlock: {
        refTime: 2,000,000,000,000
        proofSize: 18,446,744,073,709,551,615
}
normal: {
 maxExtrinsic: {
	refTime: 1,479,873,955,000
	proofSize: 13,650,590,614,545,068,195
 }
 maxTotal: {
	refTime: 1,500,000,000,000
	proofSize: 13,835,058,055,282,163,711
 }
}
```

### Kusama

```
// consts.query.blockWeights

  maxBlock: {
    refTime: 2,000,000,000,000
    proofSize: 18,446,744,073,709,551,615
  }
    normal: {
      maxExtrinsic: {
        refTime: 1,479,875,294,000
        proofSize: 13,650,590,614,545,068,195
      }
      maxTotal: {
        refTime: 1,500,000,000,000
        proofSize: 13,835,058,055,282,163,711
      }
}
```

---------

Co-authored-by: command-bot <>
Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
This commit is contained in:
Ross Bulat
2023-12-12 13:23:02 +07:00
committed by GitHub
parent c2d45e7e47
commit 048a9c2744
19 changed files with 624 additions and 285 deletions
+3 -1
View File
@@ -672,6 +672,7 @@ parameter_types! {
pub const MaxNominators: u32 = 64;
pub const OffendingValidatorsThreshold: Perbill = Perbill::from_percent(17);
pub const MaxNominations: u32 = <NposCompactSolution16 as frame_election_provider_support::NposSolution>::LIMIT as u32;
pub const MaxControllersInDeprecationBatch: u32 = 751;
}
impl pallet_staking::Config for Runtime {
@@ -686,7 +687,7 @@ impl pallet_staking::Config for Runtime {
type SessionsPerEra = SessionsPerEra;
type BondingDuration = BondingDuration;
type SlashDeferDuration = SlashDeferDuration;
type AdminOrigin = EnsureRoot<AccountId>;
type AdminOrigin = EitherOf<EnsureRoot<AccountId>, StakingAdmin>;
type SessionInterface = Self;
type EraPayout = pallet_staking::ConvertCurve<RewardCurve>;
type MaxExposurePageSize = MaxExposurePageSize;
@@ -699,6 +700,7 @@ impl pallet_staking::Config for Runtime {
type NominationsQuota = pallet_staking::FixedNominationsQuota<{ MaxNominations::get() }>;
type MaxUnlockingChunks = frame_support::traits::ConstU32<32>;
type HistoryDepth = frame_support::traits::ConstU32<84>;
type MaxControllersInDeprecationBatch = MaxControllersInDeprecationBatch;
type BenchmarkingConfig = runtime_common::StakingBenchmarkingConfig;
type EventListeners = NominationPools;
type WeightInfo = weights::pallet_staking::WeightInfo<Runtime>;
@@ -17,9 +17,9 @@
//! Autogenerated weights for `pallet_staking`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2023-11-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! DATE: 2023-12-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `runner-yprdrvc7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! HOSTNAME: `runner-itmxxexx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
// Executed Command:
@@ -62,8 +62,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `894`
// Estimated: `4764`
// Minimum execution time: 38_052_000 picoseconds.
Weight::from_parts(39_303_000, 0)
// Minimum execution time: 38_316_000 picoseconds.
Weight::from_parts(40_022_000, 0)
.saturating_add(Weight::from_parts(0, 4764))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(4))
@@ -84,8 +84,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1921`
// Estimated: `8877`
// Minimum execution time: 81_690_000 picoseconds.
Weight::from_parts(83_889_000, 0)
// Minimum execution time: 81_027_000 picoseconds.
Weight::from_parts(83_964_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(7))
@@ -112,8 +112,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2128`
// Estimated: `8877`
// Minimum execution time: 84_409_000 picoseconds.
Weight::from_parts(87_330_000, 0)
// Minimum execution time: 85_585_000 picoseconds.
Weight::from_parts(87_256_000, 0)
.saturating_add(Weight::from_parts(0, 8877))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().writes(7))
@@ -133,11 +133,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1075`
// Estimated: `4764`
// Minimum execution time: 39_770_000 picoseconds.
Weight::from_parts(40_828_632, 0)
// Minimum execution time: 39_520_000 picoseconds.
Weight::from_parts(41_551_548, 0)
.saturating_add(Weight::from_parts(0, 4764))
// Standard Error: 824
.saturating_add(Weight::from_parts(51_107, 0).saturating_mul(s.into()))
// Standard Error: 1_094
.saturating_add(Weight::from_parts(50_426, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(5))
.saturating_add(T::DbWeight::get().writes(2))
}
@@ -174,11 +174,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2127 + s * (4 ±0)`
// Estimated: `6248 + s * (4 ±0)`
// Minimum execution time: 82_500_000 picoseconds.
Weight::from_parts(90_099_121, 0)
// Minimum execution time: 82_915_000 picoseconds.
Weight::from_parts(89_597_160, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 3_280
.saturating_add(Weight::from_parts(1_273_212, 0).saturating_mul(s.into()))
// Standard Error: 3_146
.saturating_add(Weight::from_parts(1_228_061, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(13))
.saturating_add(T::DbWeight::get().writes(11))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -210,8 +210,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1301`
// Estimated: `4556`
// Minimum execution time: 48_236_000 picoseconds.
Weight::from_parts(49_518_000, 0)
// Minimum execution time: 48_070_000 picoseconds.
Weight::from_parts(49_226_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(11))
.saturating_add(T::DbWeight::get().writes(5))
@@ -225,11 +225,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1243 + k * (569 ±0)`
// Estimated: `4556 + k * (3033 ±0)`
// Minimum execution time: 28_280_000 picoseconds.
Weight::from_parts(29_182_740, 0)
// Minimum execution time: 29_140_000 picoseconds.
Weight::from_parts(30_225_579, 0)
.saturating_add(Weight::from_parts(0, 4556))
// Standard Error: 6_102
.saturating_add(Weight::from_parts(6_412_107, 0).saturating_mul(k.into()))
// Standard Error: 5_394
.saturating_add(Weight::from_parts(6_401_367, 0).saturating_mul(k.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
@@ -262,11 +262,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1797 + n * (102 ±0)`
// Estimated: `6248 + n * (2520 ±0)`
// Minimum execution time: 59_846_000 picoseconds.
Weight::from_parts(58_029_857, 0)
// Minimum execution time: 59_287_000 picoseconds.
Weight::from_parts(58_285_052, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 15_967
.saturating_add(Weight::from_parts(3_898_764, 0).saturating_mul(n.into()))
// Standard Error: 14_556
.saturating_add(Weight::from_parts(3_863_008, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(6))
@@ -290,8 +290,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1581`
// Estimated: `6248`
// Minimum execution time: 51_223_000 picoseconds.
Weight::from_parts(52_310_000, 0)
// Minimum execution time: 51_035_000 picoseconds.
Weight::from_parts(52_163_000, 0)
.saturating_add(Weight::from_parts(0, 6248))
.saturating_add(T::DbWeight::get().reads(8))
.saturating_add(T::DbWeight::get().writes(6))
@@ -306,8 +306,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `865`
// Estimated: `4556`
// Minimum execution time: 15_762_000 picoseconds.
Weight::from_parts(16_381_000, 0)
// Minimum execution time: 15_809_000 picoseconds.
Weight::from_parts(16_451_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@@ -322,8 +322,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `932`
// Estimated: `4556`
// Minimum execution time: 21_904_000 picoseconds.
Weight::from_parts(22_373_000, 0)
// Minimum execution time: 21_695_000 picoseconds.
Weight::from_parts(22_351_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(3))
.saturating_add(T::DbWeight::get().writes(1))
@@ -336,8 +336,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `865`
// Estimated: `4556`
// Minimum execution time: 18_869_000 picoseconds.
Weight::from_parts(19_422_000, 0)
// Minimum execution time: 18_548_000 picoseconds.
Weight::from_parts(19_205_000, 0)
.saturating_add(Weight::from_parts(0, 4556))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(3))
@@ -348,8 +348,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 2_205_000 picoseconds.
Weight::from_parts(2_320_000, 0)
// Minimum execution time: 2_193_000 picoseconds.
Weight::from_parts(2_408_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@@ -359,8 +359,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 7_179_000 picoseconds.
Weight::from_parts(7_843_000, 0)
// Minimum execution time: 7_475_000 picoseconds.
Weight::from_parts(7_874_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@@ -370,8 +370,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 7_206_000 picoseconds.
Weight::from_parts(7_829_000, 0)
// Minimum execution time: 7_393_000 picoseconds.
Weight::from_parts(7_643_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@@ -381,8 +381,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 7_414_000 picoseconds.
Weight::from_parts(7_770_000, 0)
// Minimum execution time: 7_474_000 picoseconds.
Weight::from_parts(7_814_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
@@ -393,13 +393,33 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 2_256_000 picoseconds.
Weight::from_parts(2_645_840, 0)
// Minimum execution time: 2_358_000 picoseconds.
Weight::from_parts(2_589_423, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 37
.saturating_add(Weight::from_parts(10_207, 0).saturating_mul(v.into()))
// Standard Error: 81
.saturating_add(Weight::from_parts(13_612, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `Staking::Ledger` (r:751 w:1502)
/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
/// Storage: `Staking::Payee` (r:751 w:0)
/// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
/// Storage: `Staking::Bonded` (r:0 w:751)
/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
/// The range of component `i` is `[0, 751]`.
fn deprecate_controller_batch(i: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `668 + i * (148 ±0)`
// Estimated: `990 + i * (3566 ±0)`
// Minimum execution time: 1_934_000 picoseconds.
Weight::from_parts(2_070_000, 0)
.saturating_add(Weight::from_parts(0, 990))
// Standard Error: 19_129
.saturating_add(Weight::from_parts(13_231_580, 0).saturating_mul(i.into()))
.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(i.into())))
.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(i.into())))
.saturating_add(Weight::from_parts(0, 3566).saturating_mul(i.into()))
}
/// Storage: `Staking::SlashingSpans` (r:1 w:1)
/// Proof: `Staking::SlashingSpans` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Staking::Bonded` (r:1 w:1)
@@ -433,11 +453,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2127 + s * (4 ±0)`
// Estimated: `6248 + s * (4 ±0)`
// Minimum execution time: 81_032_000 picoseconds.
Weight::from_parts(88_297_596, 0)
// Minimum execution time: 80_290_000 picoseconds.
Weight::from_parts(87_901_664, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 3_070
.saturating_add(Weight::from_parts(1_207_207, 0).saturating_mul(s.into()))
// Standard Error: 2_960
.saturating_add(Weight::from_parts(1_195_050, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(13))
.saturating_add(T::DbWeight::get().writes(12))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -450,11 +470,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `66639`
// Estimated: `70104`
// Minimum execution time: 131_456_000 picoseconds.
Weight::from_parts(935_254_517, 0)
// Minimum execution time: 132_682_000 picoseconds.
Weight::from_parts(932_504_297, 0)
.saturating_add(Weight::from_parts(0, 70104))
// Standard Error: 57_806
.saturating_add(Weight::from_parts(4_823_189, 0).saturating_mul(s.into()))
// Standard Error: 57_593
.saturating_add(Weight::from_parts(4_829_705, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
@@ -490,12 +510,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
fn payout_stakers_alive_staked(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `8249 + n * (396 ±0)`
// Estimated: `10779 + n * (3774 ±0)`
// Minimum execution time: 129_233_000 picoseconds.
Weight::from_parts(165_096_042, 0)
// Estimated: `10779 + n * (3774 ±3)`
// Minimum execution time: 129_091_000 picoseconds.
Weight::from_parts(166_186_167, 0)
.saturating_add(Weight::from_parts(0, 10779))
// Standard Error: 29_598
.saturating_add(Weight::from_parts(40_716_425, 0).saturating_mul(n.into()))
// Standard Error: 36_242
.saturating_add(Weight::from_parts(40_467_481, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(14))
.saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(n.into())))
.saturating_add(T::DbWeight::get().writes(4))
@@ -519,11 +539,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `1922 + l * (5 ±0)`
// Estimated: `8877`
// Minimum execution time: 77_223_000 picoseconds.
Weight::from_parts(80_026_259, 0)
// Minimum execution time: 77_461_000 picoseconds.
Weight::from_parts(80_118_021, 0)
.saturating_add(Weight::from_parts(0, 8877))
// Standard Error: 4_493
.saturating_add(Weight::from_parts(52_909, 0).saturating_mul(l.into()))
// Standard Error: 4_343
.saturating_add(Weight::from_parts(59_113, 0).saturating_mul(l.into()))
.saturating_add(T::DbWeight::get().reads(9))
.saturating_add(T::DbWeight::get().writes(7))
}
@@ -558,11 +578,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `2127 + s * (4 ±0)`
// Estimated: `6248 + s * (4 ±0)`
// Minimum execution time: 89_871_000 picoseconds.
Weight::from_parts(92_313_331, 0)
// Minimum execution time: 89_366_000 picoseconds.
Weight::from_parts(91_964_557, 0)
.saturating_add(Weight::from_parts(0, 6248))
// Standard Error: 3_321
.saturating_add(Weight::from_parts(1_243_347, 0).saturating_mul(s.into()))
// Standard Error: 2_799
.saturating_add(Weight::from_parts(1_206_123, 0).saturating_mul(s.into()))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().writes(11))
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -607,14 +627,14 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
fn new_era(v: u32, n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0 + n * (716 ±0) + v * (3594 ±0)`
// Estimated: `456136 + n * (3566 ±0) + v * (3566 ±0)`
// Minimum execution time: 518_819_000 picoseconds.
Weight::from_parts(522_108_000, 0)
// Estimated: `456136 + n * (3566 ±4) + v * (3566 ±40)`
// Minimum execution time: 520_430_000 picoseconds.
Weight::from_parts(527_125_000, 0)
.saturating_add(Weight::from_parts(0, 456136))
// Standard Error: 1_987_848
.saturating_add(Weight::from_parts(64_855_377, 0).saturating_mul(v.into()))
// Standard Error: 198_078
.saturating_add(Weight::from_parts(18_343_485, 0).saturating_mul(n.into()))
// Standard Error: 1_974_092
.saturating_add(Weight::from_parts(64_885_491, 0).saturating_mul(v.into()))
// Standard Error: 196_707
.saturating_add(Weight::from_parts(18_100_326, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(184))
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
@@ -645,13 +665,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `3108 + n * (907 ±0) + v * (391 ±0)`
// Estimated: `456136 + n * (3566 ±0) + v * (3566 ±0)`
// Minimum execution time: 34_976_277_000 picoseconds.
Weight::from_parts(35_245_501_000, 0)
// Minimum execution time: 33_917_323_000 picoseconds.
Weight::from_parts(34_173_565_000, 0)
.saturating_add(Weight::from_parts(0, 456136))
// Standard Error: 386_461
.saturating_add(Weight::from_parts(5_145_210, 0).saturating_mul(v.into()))
// Standard Error: 386_461
.saturating_add(Weight::from_parts(3_762_623, 0).saturating_mul(n.into()))
// Standard Error: 367_135
.saturating_add(Weight::from_parts(4_696_840, 0).saturating_mul(v.into()))
// Standard Error: 367_135
.saturating_add(Weight::from_parts(3_889_075, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(179))
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
@@ -668,11 +688,11 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `946 + v * (50 ±0)`
// Estimated: `3510 + v * (2520 ±0)`
// Minimum execution time: 2_577_411_000 picoseconds.
Weight::from_parts(86_073_486, 0)
// Minimum execution time: 2_447_197_000 picoseconds.
Weight::from_parts(13_003_614, 0)
.saturating_add(Weight::from_parts(0, 3510))
// Standard Error: 8_363
.saturating_add(Weight::from_parts(5_074_828, 0).saturating_mul(v.into()))
// Standard Error: 9_738
.saturating_add(Weight::from_parts(4_953_442, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
.saturating_add(Weight::from_parts(0, 2520).saturating_mul(v.into()))
@@ -693,8 +713,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 3_539_000 picoseconds.
Weight::from_parts(3_903_000, 0)
// Minimum execution time: 3_714_000 picoseconds.
Weight::from_parts(3_956_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(6))
}
@@ -714,11 +734,13 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 3_244_000 picoseconds.
Weight::from_parts(3_450_000, 0)
// Minimum execution time: 3_361_000 picoseconds.
Weight::from_parts(3_632_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(6))
}
/// Storage: `Staking::Bonded` (r:1 w:0)
/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
/// Storage: `Staking::Ledger` (r:1 w:0)
/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
/// Storage: `Staking::Nominators` (r:1 w:1)
@@ -741,12 +763,12 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
fn chill_other() -> Weight {
// Proof Size summary in bytes:
// Measured: `1704`
// Measured: `1870`
// Estimated: `6248`
// Minimum execution time: 62_606_000 picoseconds.
Weight::from_parts(64_678_000, 0)
// Minimum execution time: 65_329_000 picoseconds.
Weight::from_parts(67_247_000, 0)
.saturating_add(Weight::from_parts(0, 6248))
.saturating_add(T::DbWeight::get().reads(11))
.saturating_add(T::DbWeight::get().reads(12))
.saturating_add(T::DbWeight::get().writes(6))
}
/// Storage: `Staking::MinCommission` (r:1 w:0)
@@ -757,8 +779,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `658`
// Estimated: `3510`
// Minimum execution time: 11_490_000 picoseconds.
Weight::from_parts(11_867_000, 0)
// Minimum execution time: 11_760_000 picoseconds.
Weight::from_parts(12_095_000, 0)
.saturating_add(Weight::from_parts(0, 3510))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
@@ -769,8 +791,8 @@ impl<T: frame_system::Config> pallet_staking::WeightInfo for WeightInfo<T> {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 2_125_000 picoseconds.
Weight::from_parts(2_337_000, 0)
// Minimum execution time: 2_256_000 picoseconds.
Weight::from_parts(2_378_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}