// Copyright 2017-2022 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 .
//! Autogenerated weights for `pallet_nomination_pools`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-09-08, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm4`, 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
// benchmark
// pallet
// --chain=kusama-dev
// --steps=50
// --repeat=20
// --pallet=pallet_nomination_pools
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --header=./file_header.txt
// --output=./runtime/kusama/src/weights/
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
use frame_support::{traits::Get, weights::{Weight}};
use sp_std::marker::PhantomData;
/// Weight functions for `pallet_nomination_pools`.
pub struct WeightInfo(PhantomData);
impl pallet_nomination_pools::WeightInfo for WeightInfo {
// Storage: NominationPools MinJoinBond (r:1 w:0)
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: System Account (r:2 w:1)
// Storage: NominationPools MaxPoolMembersPerPool (r:1 w:0)
// Storage: NominationPools MaxPoolMembers (r:1 w:0)
// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
// Storage: Staking Bonded (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: VoterList ListNodes (r:3 w:3)
// Storage: VoterList ListBags (r:2 w:2)
fn join() -> Weight {
Weight::from_ref_time(141_186_000 as u64)
.saturating_add(T::DbWeight::get().reads(17 as u64))
.saturating_add(T::DbWeight::get().writes(12 as u64))
}
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: System Account (r:3 w:2)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: VoterList ListNodes (r:3 w:3)
// Storage: VoterList ListBags (r:2 w:2)
fn bond_extra_transfer() -> Weight {
Weight::from_ref_time(136_315_000 as u64)
.saturating_add(T::DbWeight::get().reads(14 as u64))
.saturating_add(T::DbWeight::get().writes(12 as u64))
}
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: System Account (r:3 w:3)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: VoterList ListNodes (r:2 w:2)
// Storage: VoterList ListBags (r:2 w:2)
fn bond_extra_reward() -> Weight {
Weight::from_ref_time(140_720_000 as u64)
.saturating_add(T::DbWeight::get().reads(13 as u64))
.saturating_add(T::DbWeight::get().writes(12 as u64))
}
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: System Account (r:1 w:1)
fn claim_payout() -> Weight {
Weight::from_ref_time(54_588_000 as u64)
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(4 as u64))
}
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: System Account (r:2 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
// Storage: Staking MinNominatorBond (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: VoterList ListNodes (r:3 w:3)
// Storage: Staking Bonded (r:1 w:0)
// Storage: VoterList ListBags (r:2 w:2)
// Storage: NominationPools SubPoolsStorage (r:1 w:1)
// Storage: NominationPools CounterForSubPoolsStorage (r:1 w:1)
fn unbond() -> Weight {
Weight::from_ref_time(139_268_000 as u64)
.saturating_add(T::DbWeight::get().reads(18 as u64))
.saturating_add(T::DbWeight::get().writes(13 as u64))
}
// Storage: NominationPools BondedPools (r:1 w:0)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
/// The range of component `s` is `[0, 100]`.
fn pool_withdraw_unbonded(s: u32, ) -> Weight {
Weight::from_ref_time(51_661_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(17_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(4 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: NominationPools SubPoolsStorage (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Balances Locks (r:1 w:1)
// Storage: System Account (r:1 w:1)
// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
/// The range of component `s` is `[0, 100]`.
fn withdraw_unbonded_update(s: u32, ) -> Weight {
Weight::from_ref_time(92_492_000 as u64)
// Standard Error: 1_000
.saturating_add(Weight::from_ref_time(28_000 as u64).saturating_mul(s as u64))
.saturating_add(T::DbWeight::get().reads(8 as u64))
.saturating_add(T::DbWeight::get().writes(7 as u64))
}
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: NominationPools SubPoolsStorage (r:1 w:1)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking SlashingSpans (r:1 w:0)
// Storage: Staking Validators (r:1 w:0)
// Storage: Staking Nominators (r:1 w:0)
// Storage: System Account (r:2 w:2)
// Storage: Balances Locks (r:1 w:1)
// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
// Storage: NominationPools ReversePoolIdLookup (r:1 w:1)
// Storage: NominationPools CounterForReversePoolIdLookup (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: NominationPools CounterForRewardPools (r:1 w:1)
// Storage: NominationPools CounterForSubPoolsStorage (r:1 w:1)
// Storage: NominationPools Metadata (r:1 w:1)
// Storage: NominationPools CounterForBondedPools (r:1 w:1)
// Storage: Staking Payee (r:0 w:1)
/// The range of component `s` is `[0, 100]`.
fn withdraw_unbonded_kill(_s: u32, ) -> Weight {
Weight::from_ref_time(146_714_000 as u64)
.saturating_add(T::DbWeight::get().reads(20 as u64))
.saturating_add(T::DbWeight::get().writes(17 as u64))
}
// Storage: Staking MinNominatorBond (r:1 w:0)
// Storage: NominationPools MinCreateBond (r:1 w:0)
// Storage: NominationPools MinJoinBond (r:1 w:0)
// Storage: NominationPools MaxPools (r:1 w:0)
// Storage: NominationPools CounterForBondedPools (r:1 w:1)
// Storage: NominationPools PoolMembers (r:1 w:1)
// Storage: NominationPools LastPoolId (r:1 w:1)
// Storage: NominationPools MaxPoolMembersPerPool (r:1 w:0)
// Storage: NominationPools MaxPoolMembers (r:1 w:0)
// Storage: NominationPools CounterForPoolMembers (r:1 w:1)
// Storage: System Account (r:2 w:2)
// Storage: Staking Ledger (r:1 w:1)
// Storage: Staking Bonded (r:1 w:1)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking HistoryDepth (r:1 w:0)
// Storage: Balances Locks (r:1 w:1)
// Storage: NominationPools RewardPools (r:1 w:1)
// Storage: NominationPools CounterForRewardPools (r:1 w:1)
// Storage: NominationPools ReversePoolIdLookup (r:1 w:1)
// Storage: NominationPools CounterForReversePoolIdLookup (r:1 w:1)
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: Staking Payee (r:0 w:1)
fn create() -> Weight {
Weight::from_ref_time(130_529_000 as u64)
.saturating_add(T::DbWeight::get().reads(22 as u64))
.saturating_add(T::DbWeight::get().writes(15 as u64))
}
// Storage: NominationPools BondedPools (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
// Storage: Staking MinNominatorBond (r:1 w:0)
// Storage: Staking Nominators (r:1 w:1)
// Storage: Staking MaxNominatorsCount (r:1 w:0)
// Storage: Staking Validators (r:2 w:0)
// Storage: Staking CurrentEra (r:1 w:0)
// Storage: Staking Bonded (r:1 w:0)
// Storage: VoterList ListNodes (r:1 w:1)
// Storage: VoterList ListBags (r:1 w:1)
// Storage: VoterList CounterForListNodes (r:1 w:1)
// Storage: Staking CounterForNominators (r:1 w:1)
/// The range of component `n` is `[1, 24]`.
fn nominate(n: u32, ) -> Weight {
Weight::from_ref_time(60_380_000 as u64)
// Standard Error: 4_000
.saturating_add(Weight::from_ref_time(1_053_000 as u64).saturating_mul(n as u64))
.saturating_add(T::DbWeight::get().reads(12 as u64))
.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(n as u64)))
.saturating_add(T::DbWeight::get().writes(5 as u64))
}
// Storage: NominationPools BondedPools (r:1 w:1)
// Storage: Staking Ledger (r:1 w:0)
fn set_state() -> Weight {
Weight::from_ref_time(34_144_000 as u64)
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: NominationPools BondedPools (r:1 w:0)
// Storage: NominationPools Metadata (r:1 w:1)
// Storage: NominationPools CounterForMetadata (r:1 w:1)
/// The range of component `n` is `[1, 256]`.
fn set_metadata(n: u32, ) -> Weight {
Weight::from_ref_time(16_813_000 as u64)
// Standard Error: 0
.saturating_add(Weight::from_ref_time(1_000 as u64).saturating_mul(n as u64))
.saturating_add(T::DbWeight::get().reads(3 as u64))
.saturating_add(T::DbWeight::get().writes(2 as u64))
}
// Storage: NominationPools MinJoinBond (r:0 w:1)
// Storage: NominationPools MaxPoolMembers (r:0 w:1)
// Storage: NominationPools MaxPoolMembersPerPool (r:0 w:1)
// Storage: NominationPools MinCreateBond (r:0 w:1)
// Storage: NominationPools MaxPools (r:0 w:1)
fn set_configs() -> Weight {
Weight::from_ref_time(7_602_000 as u64)
.saturating_add(T::DbWeight::get().writes(5 as u64))
}
// Storage: NominationPools BondedPools (r:1 w:1)
fn update_roles() -> Weight {
Weight::from_ref_time(25_674_000 as u64)
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
// Storage: NominationPools BondedPools (r:1 w:0)
// Storage: Staking Ledger (r:1 w:0)
// 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:1 w:1)
// Storage: VoterList ListBags (r:1 w:1)
// Storage: VoterList CounterForListNodes (r:1 w:1)
fn chill() -> Weight {
Weight::from_ref_time(59_990_000 as u64)
.saturating_add(T::DbWeight::get().reads(8 as u64))
.saturating_add(T::DbWeight::get().writes(5 as u64))
}
}