mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 07:37:57 +00:00
Implements a % cap on staking rewards from era inflation (#1660)
This PR implements an (optional) cap of the era inflation that is allocated to staking rewards. The remaining is minted directly into the [`RewardRemainder`](https://github.com/paritytech/polkadot-sdk/blob/fb0fd3e62445eb2dee2b2456a0c8574d1ecdcc73/substrate/frame/staking/src/pallet/mod.rs#L160) account, which is the treasury pot account in Polkadot and Kusama. The staking pallet now has a percent storage item, `MaxStakersRewards`, which defines the max percentage of the era inflation that should be allocated to staking rewards. The remaining era inflation (i.e. `remaining = max_era_payout - staking_payout.min(staking_payout * MaxStakersRewards))` is minted directly into the treasury. The `MaxStakersRewards` can be set by a privileged origin through the `set_staking_configs` extrinsic. **To finish** - [x] run benchmarks for westend-runtime Replaces https://github.com/paritytech/polkadot-sdk/pull/1483 Closes https://github.com/paritytech/polkadot-sdk/issues/403 --------- Co-authored-by: command-bot <>
This commit is contained in:
@@ -855,7 +855,8 @@ benchmarks! {
|
||||
ConfigOp::Set(u32::MAX),
|
||||
ConfigOp::Set(u32::MAX),
|
||||
ConfigOp::Set(Percent::max_value()),
|
||||
ConfigOp::Set(Perbill::max_value())
|
||||
ConfigOp::Set(Perbill::max_value()),
|
||||
ConfigOp::Set(Percent::max_value())
|
||||
) verify {
|
||||
assert_eq!(MinNominatorBond::<T>::get(), BalanceOf::<T>::max_value());
|
||||
assert_eq!(MinValidatorBond::<T>::get(), BalanceOf::<T>::max_value());
|
||||
@@ -863,6 +864,7 @@ benchmarks! {
|
||||
assert_eq!(MaxValidatorsCount::<T>::get(), Some(u32::MAX));
|
||||
assert_eq!(ChillThreshold::<T>::get(), Some(Percent::from_percent(100)));
|
||||
assert_eq!(MinCommission::<T>::get(), Perbill::from_percent(100));
|
||||
assert_eq!(MaxStakedRewards::<T>::get(), Some(Percent::from_percent(100)));
|
||||
}
|
||||
|
||||
set_staking_configs_all_remove {
|
||||
@@ -873,6 +875,7 @@ benchmarks! {
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove
|
||||
) verify {
|
||||
assert!(!MinNominatorBond::<T>::exists());
|
||||
@@ -881,6 +884,7 @@ benchmarks! {
|
||||
assert!(!MaxValidatorsCount::<T>::exists());
|
||||
assert!(!ChillThreshold::<T>::exists());
|
||||
assert!(!MinCommission::<T>::exists());
|
||||
assert!(!MaxStakedRewards::<T>::exists());
|
||||
}
|
||||
|
||||
chill_other {
|
||||
@@ -904,6 +908,7 @@ benchmarks! {
|
||||
ConfigOp::Set(0),
|
||||
ConfigOp::Set(Percent::from_percent(0)),
|
||||
ConfigOp::Set(Zero::zero()),
|
||||
ConfigOp::Noop,
|
||||
)?;
|
||||
|
||||
let caller = whitelisted_caller();
|
||||
|
||||
@@ -202,6 +202,12 @@
|
||||
//! ```nocompile
|
||||
//! remaining_payout = max_yearly_inflation * total_tokens / era_per_year - staker_payout
|
||||
//! ```
|
||||
//!
|
||||
//! Note, however, that it is possible to set a cap on the total `staker_payout` for the era through
|
||||
//! the `MaxStakersRewards` storage type. The `era_payout` implementor must ensure that the
|
||||
//! `max_payout = remaining_payout + (staker_payout * max_stakers_rewards)`. The excess payout that
|
||||
//! is not allocated for stakers is the era remaining reward.
|
||||
//!
|
||||
//! The remaining reward is send to the configurable end-point [`Config::RewardRemainder`].
|
||||
//!
|
||||
//! ### Reward Calculation
|
||||
@@ -897,8 +903,10 @@ impl<Balance: Default> EraPayout<Balance> for () {
|
||||
/// Adaptor to turn a `PiecewiseLinear` curve definition into an `EraPayout` impl, used for
|
||||
/// backwards compatibility.
|
||||
pub struct ConvertCurve<T>(sp_std::marker::PhantomData<T>);
|
||||
impl<Balance: AtLeast32BitUnsigned + Clone, T: Get<&'static PiecewiseLinear<'static>>>
|
||||
EraPayout<Balance> for ConvertCurve<T>
|
||||
impl<Balance, T> EraPayout<Balance> for ConvertCurve<T>
|
||||
where
|
||||
Balance: AtLeast32BitUnsigned + Clone + Copy,
|
||||
T: Get<&'static PiecewiseLinear<'static>>,
|
||||
{
|
||||
fn era_payout(
|
||||
total_staked: Balance,
|
||||
@@ -912,7 +920,7 @@ impl<Balance: AtLeast32BitUnsigned + Clone, T: Get<&'static PiecewiseLinear<'sta
|
||||
// Duration of era; more than u64::MAX is rewarded as u64::MAX.
|
||||
era_duration_millis,
|
||||
);
|
||||
let rest = max_payout.saturating_sub(validator_payout.clone());
|
||||
let rest = max_payout.saturating_sub(validator_payout);
|
||||
(validator_payout, rest)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ use frame_system::{pallet_prelude::BlockNumberFor, RawOrigin};
|
||||
use pallet_session::historical;
|
||||
use sp_runtime::{
|
||||
traits::{Bounded, Convert, One, SaturatedConversion, Saturating, StaticLookup, Zero},
|
||||
Perbill,
|
||||
Perbill, Percent,
|
||||
};
|
||||
use sp_staking::{
|
||||
currency_to_vote::CurrencyToVote,
|
||||
@@ -507,9 +507,18 @@ impl<T: Config> Pallet<T> {
|
||||
.saturated_into::<u64>();
|
||||
let staked = Self::eras_total_stake(&active_era.index);
|
||||
let issuance = T::Currency::total_issuance();
|
||||
|
||||
let (validator_payout, remainder) =
|
||||
T::EraPayout::era_payout(staked, issuance, era_duration);
|
||||
|
||||
let total_payout = validator_payout.saturating_add(remainder);
|
||||
let max_staked_rewards =
|
||||
MaxStakedRewards::<T>::get().unwrap_or(Percent::from_percent(100));
|
||||
|
||||
// apply cap to validators payout and add difference to remainder.
|
||||
let validator_payout = validator_payout.min(max_staked_rewards * total_payout);
|
||||
let remainder = total_payout.saturating_sub(validator_payout);
|
||||
|
||||
Self::deposit_event(Event::<T>::EraPaid {
|
||||
era_index: active_era.index,
|
||||
validator_payout,
|
||||
|
||||
@@ -564,6 +564,12 @@ pub mod pallet {
|
||||
#[pallet::getter(fn force_era)]
|
||||
pub type ForceEra<T> = StorageValue<_, Forcing, ValueQuery>;
|
||||
|
||||
/// Maximum staked rewards, i.e. the percentage of the era inflation that
|
||||
/// is used for stake rewards.
|
||||
/// See [Era payout](./index.html#era-payout).
|
||||
#[pallet::storage]
|
||||
pub type MaxStakedRewards<T> = StorageValue<_, Percent, OptionQuery>;
|
||||
|
||||
/// The percentage of the slash that is distributed to reporters.
|
||||
///
|
||||
/// The rest of the slashed value is handled by the `Slash`.
|
||||
@@ -1717,6 +1723,7 @@ pub mod pallet {
|
||||
max_validator_count: ConfigOp<u32>,
|
||||
chill_threshold: ConfigOp<Percent>,
|
||||
min_commission: ConfigOp<Perbill>,
|
||||
max_staked_rewards: ConfigOp<Percent>,
|
||||
) -> DispatchResult {
|
||||
ensure_root(origin)?;
|
||||
|
||||
@@ -1736,6 +1743,7 @@ pub mod pallet {
|
||||
config_op_exp!(MaxValidatorsCount<T>, max_validator_count);
|
||||
config_op_exp!(ChillThreshold<T>, chill_threshold);
|
||||
config_op_exp!(MinCommission<T>, min_commission);
|
||||
config_op_exp!(MaxStakedRewards<T>, max_staked_rewards);
|
||||
Ok(())
|
||||
}
|
||||
/// Declare a `controller` to stop participating as either a validator or nominator.
|
||||
|
||||
@@ -55,6 +55,7 @@ fn set_staking_configs_works() {
|
||||
ConfigOp::Set(10),
|
||||
ConfigOp::Set(20),
|
||||
ConfigOp::Set(Percent::from_percent(75)),
|
||||
ConfigOp::Set(Zero::zero()),
|
||||
ConfigOp::Set(Zero::zero())
|
||||
));
|
||||
assert_eq!(MinNominatorBond::<Test>::get(), 1_500);
|
||||
@@ -63,6 +64,7 @@ fn set_staking_configs_works() {
|
||||
assert_eq!(MaxValidatorsCount::<Test>::get(), Some(20));
|
||||
assert_eq!(ChillThreshold::<Test>::get(), Some(Percent::from_percent(75)));
|
||||
assert_eq!(MinCommission::<Test>::get(), Perbill::from_percent(0));
|
||||
assert_eq!(MaxStakedRewards::<Test>::get(), Some(Percent::from_percent(0)));
|
||||
|
||||
// noop does nothing
|
||||
assert_storage_noop!(assert_ok!(Staking::set_staking_configs(
|
||||
@@ -72,6 +74,7 @@ fn set_staking_configs_works() {
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop
|
||||
)));
|
||||
|
||||
@@ -83,6 +86,7 @@ fn set_staking_configs_works() {
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove
|
||||
));
|
||||
assert_eq!(MinNominatorBond::<Test>::get(), 0);
|
||||
@@ -91,6 +95,7 @@ fn set_staking_configs_works() {
|
||||
assert_eq!(MaxValidatorsCount::<Test>::get(), None);
|
||||
assert_eq!(ChillThreshold::<Test>::get(), None);
|
||||
assert_eq!(MinCommission::<Test>::get(), Perbill::from_percent(0));
|
||||
assert_eq!(MaxStakedRewards::<Test>::get(), None);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1739,6 +1744,74 @@ fn rebond_emits_right_value_in_event() {
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn max_staked_rewards_default_works() {
|
||||
ExtBuilder::default().build_and_execute(|| {
|
||||
assert_eq!(<MaxStakedRewards<Test>>::get(), None);
|
||||
|
||||
let default_stakers_payout = current_total_payout_for_duration(reward_time_per_era());
|
||||
assert!(default_stakers_payout > 0);
|
||||
start_active_era(1);
|
||||
|
||||
// the final stakers reward is the same as the reward before applied the cap.
|
||||
assert_eq!(ErasValidatorReward::<Test>::get(0).unwrap(), default_stakers_payout);
|
||||
|
||||
// which is the same behaviour if the `MaxStakedRewards` is set to 100%.
|
||||
<MaxStakedRewards<Test>>::set(Some(Percent::from_parts(100)));
|
||||
|
||||
let default_stakers_payout = current_total_payout_for_duration(reward_time_per_era());
|
||||
assert_eq!(ErasValidatorReward::<Test>::get(0).unwrap(), default_stakers_payout);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn max_staked_rewards_works() {
|
||||
ExtBuilder::default().nominate(true).build_and_execute(|| {
|
||||
let max_staked_rewards = 10;
|
||||
|
||||
// sets new max staked rewards through set_staking_configs.
|
||||
assert_ok!(Staking::set_staking_configs(
|
||||
RuntimeOrigin::root(),
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Set(Percent::from_percent(max_staked_rewards)),
|
||||
));
|
||||
|
||||
assert_eq!(<MaxStakedRewards<Test>>::get(), Some(Percent::from_percent(10)));
|
||||
|
||||
// check validators account state.
|
||||
assert_eq!(Session::validators().len(), 2);
|
||||
assert!(Session::validators().contains(&11) & Session::validators().contains(&21));
|
||||
// balance of the mock treasury account is 0
|
||||
assert_eq!(RewardRemainderUnbalanced::get(), 0);
|
||||
|
||||
let max_stakers_payout = current_total_payout_for_duration(reward_time_per_era());
|
||||
|
||||
start_active_era(1);
|
||||
|
||||
let treasury_payout = RewardRemainderUnbalanced::get();
|
||||
let validators_payout = ErasValidatorReward::<Test>::get(0).unwrap();
|
||||
let total_payout = treasury_payout + validators_payout;
|
||||
|
||||
// max stakers payout (without max staked rewards cap applied) is larger than the final
|
||||
// validator rewards. The final payment and remainder should be adjusted by redestributing
|
||||
// the era inflation to apply the cap...
|
||||
assert!(max_stakers_payout > validators_payout);
|
||||
|
||||
// .. which means that the final validator payout is 10% of the total payout..
|
||||
assert_eq!(validators_payout, Percent::from_percent(max_staked_rewards) * total_payout);
|
||||
// .. and the remainder 90% goes to the treasury.
|
||||
assert_eq!(
|
||||
treasury_payout,
|
||||
Percent::from_percent(100 - max_staked_rewards) * (treasury_payout + validators_payout)
|
||||
);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reward_to_stake_works() {
|
||||
ExtBuilder::default()
|
||||
@@ -5543,7 +5616,8 @@ fn chill_other_works() {
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
|
||||
// Still can't chill these users
|
||||
@@ -5564,7 +5638,8 @@ fn chill_other_works() {
|
||||
ConfigOp::Set(10),
|
||||
ConfigOp::Set(10),
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
|
||||
// Still can't chill these users
|
||||
@@ -5585,7 +5660,8 @@ fn chill_other_works() {
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
|
||||
// Still can't chill these users
|
||||
@@ -5606,7 +5682,8 @@ fn chill_other_works() {
|
||||
ConfigOp::Set(10),
|
||||
ConfigOp::Set(10),
|
||||
ConfigOp::Set(Percent::from_percent(75)),
|
||||
ConfigOp::Noop
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
|
||||
// 16 people total because tests start with 2 active one
|
||||
@@ -5652,6 +5729,7 @@ fn capped_stakers_works() {
|
||||
ConfigOp::Set(max),
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
|
||||
// can create `max - validator_count` validators
|
||||
@@ -5722,6 +5800,7 @@ fn capped_stakers_works() {
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
assert_ok!(Staking::nominate(RuntimeOrigin::signed(last_nominator), vec![1]));
|
||||
assert_ok!(Staking::validate(
|
||||
@@ -5757,6 +5836,7 @@ fn min_commission_works() {
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Remove,
|
||||
ConfigOp::Set(Perbill::from_percent(10)),
|
||||
ConfigOp::Noop,
|
||||
));
|
||||
|
||||
// can't make it less than 10 now
|
||||
|
||||
Generated
+190
-190
@@ -18,9 +18,9 @@
|
||||
//! Autogenerated weights for `pallet_staking`
|
||||
//!
|
||||
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
|
||||
//! DATE: 2023-12-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! DATE: 2024-01-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
|
||||
//! WORST CASE MAP SIZE: `1000000`
|
||||
//! HOSTNAME: `runner-itmxxexx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! HOSTNAME: `runner-q7z7ruxr-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
|
||||
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
|
||||
|
||||
// Executed Command:
|
||||
@@ -99,8 +99,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `927`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 42_491_000 picoseconds.
|
||||
Weight::from_parts(44_026_000, 4764)
|
||||
// Minimum execution time: 42_042_000 picoseconds.
|
||||
Weight::from_parts(43_292_000, 4764)
|
||||
.saturating_add(T::DbWeight::get().reads(3_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(4_u64))
|
||||
}
|
||||
@@ -120,8 +120,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1990`
|
||||
// Estimated: `8877`
|
||||
// Minimum execution time: 88_756_000 picoseconds.
|
||||
Weight::from_parts(91_000_000, 8877)
|
||||
// Minimum execution time: 85_050_000 picoseconds.
|
||||
Weight::from_parts(87_567_000, 8877)
|
||||
.saturating_add(T::DbWeight::get().reads(9_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(7_u64))
|
||||
}
|
||||
@@ -147,8 +147,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2195`
|
||||
// Estimated: `8877`
|
||||
// Minimum execution time: 91_331_000 picoseconds.
|
||||
Weight::from_parts(94_781_000, 8877)
|
||||
// Minimum execution time: 89_076_000 picoseconds.
|
||||
Weight::from_parts(92_715_000, 8877)
|
||||
.saturating_add(T::DbWeight::get().reads(12_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(7_u64))
|
||||
}
|
||||
@@ -167,10 +167,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1115`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 42_495_000 picoseconds.
|
||||
Weight::from_parts(44_189_470, 4764)
|
||||
// Standard Error: 1_389
|
||||
.saturating_add(Weight::from_parts(47_484, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 42_067_000 picoseconds.
|
||||
Weight::from_parts(43_239_807, 4764)
|
||||
// Standard Error: 831
|
||||
.saturating_add(Weight::from_parts(46_257, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(5_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(2_u64))
|
||||
}
|
||||
@@ -207,10 +207,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2196 + s * (4 ±0)`
|
||||
// Estimated: `6248 + s * (4 ±0)`
|
||||
// Minimum execution time: 89_004_000 picoseconds.
|
||||
Weight::from_parts(96_677_570, 6248)
|
||||
// Standard Error: 4_635
|
||||
.saturating_add(Weight::from_parts(1_387_718, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 86_490_000 picoseconds.
|
||||
Weight::from_parts(95_358_751, 6248)
|
||||
// Standard Error: 3_952
|
||||
.saturating_add(Weight::from_parts(1_294_907, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(13_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(11_u64))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
@@ -242,8 +242,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1372`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 51_532_000 picoseconds.
|
||||
Weight::from_parts(53_308_000, 4556)
|
||||
// Minimum execution time: 50_326_000 picoseconds.
|
||||
Weight::from_parts(52_253_000, 4556)
|
||||
.saturating_add(T::DbWeight::get().reads(11_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(5_u64))
|
||||
}
|
||||
@@ -256,10 +256,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1280 + k * (569 ±0)`
|
||||
// Estimated: `4556 + k * (3033 ±0)`
|
||||
// Minimum execution time: 28_955_000 picoseconds.
|
||||
Weight::from_parts(29_609_869, 4556)
|
||||
// Standard Error: 6_793
|
||||
.saturating_add(Weight::from_parts(6_412_124, 0).saturating_mul(k.into()))
|
||||
// Minimum execution time: 29_305_000 picoseconds.
|
||||
Weight::from_parts(32_199_604, 4556)
|
||||
// Standard Error: 7_150
|
||||
.saturating_add(Weight::from_parts(6_437_124, 0).saturating_mul(k.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1_u64))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
|
||||
@@ -292,10 +292,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1866 + n * (102 ±0)`
|
||||
// Estimated: `6248 + n * (2520 ±0)`
|
||||
// Minimum execution time: 64_080_000 picoseconds.
|
||||
Weight::from_parts(61_985_382, 6248)
|
||||
// Standard Error: 13_320
|
||||
.saturating_add(Weight::from_parts(4_030_513, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 63_267_000 picoseconds.
|
||||
Weight::from_parts(61_741_404, 6248)
|
||||
// Standard Error: 12_955
|
||||
.saturating_add(Weight::from_parts(3_811_743, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(12_u64))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(6_u64))
|
||||
@@ -319,8 +319,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1650`
|
||||
// Estimated: `6248`
|
||||
// Minimum execution time: 54_194_000 picoseconds.
|
||||
Weight::from_parts(55_578_000, 6248)
|
||||
// Minimum execution time: 52_862_000 picoseconds.
|
||||
Weight::from_parts(54_108_000, 6248)
|
||||
.saturating_add(T::DbWeight::get().reads(8_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(6_u64))
|
||||
}
|
||||
@@ -334,8 +334,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `902`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 16_597_000 picoseconds.
|
||||
Weight::from_parts(16_980_000, 4556)
|
||||
// Minimum execution time: 16_350_000 picoseconds.
|
||||
Weight::from_parts(16_802_000, 4556)
|
||||
.saturating_add(T::DbWeight::get().reads(2_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -349,8 +349,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `969`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 20_626_000 picoseconds.
|
||||
Weight::from_parts(21_242_000, 4556)
|
||||
// Minimum execution time: 19_981_000 picoseconds.
|
||||
Weight::from_parts(20_539_000, 4556)
|
||||
.saturating_add(T::DbWeight::get().reads(3_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -362,8 +362,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `902`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 19_972_000 picoseconds.
|
||||
Weight::from_parts(20_470_000, 4556)
|
||||
// Minimum execution time: 19_304_000 picoseconds.
|
||||
Weight::from_parts(20_000_000, 4556)
|
||||
.saturating_add(T::DbWeight::get().reads(2_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(3_u64))
|
||||
}
|
||||
@@ -373,8 +373,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_571_000 picoseconds.
|
||||
Weight::from_parts(2_720_000, 0)
|
||||
// Minimum execution time: 2_568_000 picoseconds.
|
||||
Weight::from_parts(2_708_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::ForceEra` (r:0 w:1)
|
||||
@@ -383,8 +383,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_056_000 picoseconds.
|
||||
Weight::from_parts(8_413_000, 0)
|
||||
// Minimum execution time: 7_950_000 picoseconds.
|
||||
Weight::from_parts(8_348_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::ForceEra` (r:0 w:1)
|
||||
@@ -393,8 +393,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_162_000 picoseconds.
|
||||
Weight::from_parts(8_497_000, 0)
|
||||
// Minimum execution time: 7_967_000 picoseconds.
|
||||
Weight::from_parts(8_222_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::ForceEra` (r:0 w:1)
|
||||
@@ -403,8 +403,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_320_000 picoseconds.
|
||||
Weight::from_parts(8_564_000, 0)
|
||||
// Minimum execution time: 8_006_000 picoseconds.
|
||||
Weight::from_parts(8_440_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::Invulnerables` (r:0 w:1)
|
||||
@@ -414,10 +414,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_470_000 picoseconds.
|
||||
Weight::from_parts(3_110_242, 0)
|
||||
// Standard Error: 63
|
||||
.saturating_add(Weight::from_parts(11_786, 0).saturating_mul(v.into()))
|
||||
// Minimum execution time: 2_524_000 picoseconds.
|
||||
Weight::from_parts(3_123_608, 0)
|
||||
// Standard Error: 59
|
||||
.saturating_add(Weight::from_parts(11_596, 0).saturating_mul(v.into()))
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::Ledger` (r:5900 w:11800)
|
||||
@@ -431,10 +431,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1356 + i * (151 ±0)`
|
||||
// Estimated: `990 + i * (3566 ±0)`
|
||||
// Minimum execution time: 2_101_000 picoseconds.
|
||||
Weight::from_parts(2_238_000, 990)
|
||||
// Standard Error: 56_753
|
||||
.saturating_add(Weight::from_parts(18_404_902, 0).saturating_mul(i.into()))
|
||||
// Minimum execution time: 2_092_000 picoseconds.
|
||||
Weight::from_parts(2_258_000, 990)
|
||||
// Standard Error: 32_695
|
||||
.saturating_add(Weight::from_parts(16_669_219, 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()))
|
||||
@@ -472,10 +472,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2196 + s * (4 ±0)`
|
||||
// Estimated: `6248 + s * (4 ±0)`
|
||||
// Minimum execution time: 86_765_000 picoseconds.
|
||||
Weight::from_parts(95_173_565, 6248)
|
||||
// Standard Error: 4_596
|
||||
.saturating_add(Weight::from_parts(1_354_849, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 84_275_000 picoseconds.
|
||||
Weight::from_parts(92_512_416, 6248)
|
||||
// Standard Error: 3_633
|
||||
.saturating_add(Weight::from_parts(1_315_923, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(13_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(12_u64))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
@@ -488,10 +488,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `66672`
|
||||
// Estimated: `70137`
|
||||
// Minimum execution time: 104_490_000 picoseconds.
|
||||
Weight::from_parts(1_162_956_951, 70137)
|
||||
// Standard Error: 76_760
|
||||
.saturating_add(Weight::from_parts(6_485_569, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 101_707_000 picoseconds.
|
||||
Weight::from_parts(912_819_462, 70137)
|
||||
// Standard Error: 57_547
|
||||
.saturating_add(Weight::from_parts(4_856_799, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(1_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -528,10 +528,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `33297 + n * (377 ±0)`
|
||||
// Estimated: `30944 + n * (3774 ±0)`
|
||||
// Minimum execution time: 144_790_000 picoseconds.
|
||||
Weight::from_parts(36_764_791, 30944)
|
||||
// Standard Error: 89_592
|
||||
.saturating_add(Weight::from_parts(49_620_105, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 138_657_000 picoseconds.
|
||||
Weight::from_parts(167_173_445, 30944)
|
||||
// Standard Error: 25_130
|
||||
.saturating_add(Weight::from_parts(44_566_012, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(14_u64))
|
||||
.saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(n.into())))
|
||||
.saturating_add(T::DbWeight::get().writes(4_u64))
|
||||
@@ -555,10 +555,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1991 + l * (7 ±0)`
|
||||
// Estimated: `8877`
|
||||
// Minimum execution time: 81_768_000 picoseconds.
|
||||
Weight::from_parts(85_332_982, 8877)
|
||||
// Standard Error: 5_380
|
||||
.saturating_add(Weight::from_parts(70_298, 0).saturating_mul(l.into()))
|
||||
// Minimum execution time: 80_061_000 picoseconds.
|
||||
Weight::from_parts(82_836_434, 8877)
|
||||
// Standard Error: 4_348
|
||||
.saturating_add(Weight::from_parts(75_744, 0).saturating_mul(l.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(9_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(7_u64))
|
||||
}
|
||||
@@ -593,10 +593,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2196 + s * (4 ±0)`
|
||||
// Estimated: `6248 + s * (4 ±0)`
|
||||
// Minimum execution time: 96_123_000 picoseconds.
|
||||
Weight::from_parts(100_278_672, 6248)
|
||||
// Standard Error: 3_487
|
||||
.saturating_add(Weight::from_parts(1_326_503, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 92_560_000 picoseconds.
|
||||
Weight::from_parts(97_684_741, 6248)
|
||||
// Standard Error: 3_361
|
||||
.saturating_add(Weight::from_parts(1_292_732, 0).saturating_mul(s.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(12_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(11_u64))
|
||||
.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
@@ -642,12 +642,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0 + n * (720 ±0) + v * (3598 ±0)`
|
||||
// Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
|
||||
// Minimum execution time: 572_893_000 picoseconds.
|
||||
Weight::from_parts(578_010_000, 512390)
|
||||
// Standard Error: 2_094_268
|
||||
.saturating_add(Weight::from_parts(68_419_710, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 208_682
|
||||
.saturating_add(Weight::from_parts(18_826_175, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 564_963_000 picoseconds.
|
||||
Weight::from_parts(569_206_000, 512390)
|
||||
// Standard Error: 2_033_235
|
||||
.saturating_add(Weight::from_parts(68_025_841, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 202_600
|
||||
.saturating_add(Weight::from_parts(17_916_770, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(206_u64))
|
||||
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
|
||||
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
|
||||
@@ -678,12 +678,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3175 + n * (911 ±0) + v * (395 ±0)`
|
||||
// Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
|
||||
// Minimum execution time: 33_836_205_000 picoseconds.
|
||||
Weight::from_parts(34_210_443_000, 512390)
|
||||
// Standard Error: 441_692
|
||||
.saturating_add(Weight::from_parts(6_122_533, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 441_692
|
||||
.saturating_add(Weight::from_parts(4_418_264, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 32_196_540_000 picoseconds.
|
||||
Weight::from_parts(32_341_871_000, 512390)
|
||||
// Standard Error: 354_657
|
||||
.saturating_add(Weight::from_parts(5_143_440, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 354_657
|
||||
.saturating_add(Weight::from_parts(3_328_189, 0).saturating_mul(n.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(201_u64))
|
||||
.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
|
||||
.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
|
||||
@@ -700,10 +700,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `979 + v * (50 ±0)`
|
||||
// Estimated: `3510 + v * (2520 ±0)`
|
||||
// Minimum execution time: 2_454_689_000 picoseconds.
|
||||
Weight::from_parts(161_771_064, 3510)
|
||||
// Standard Error: 31_022
|
||||
.saturating_add(Weight::from_parts(4_820_158, 0).saturating_mul(v.into()))
|
||||
// Minimum execution time: 2_381_903_000 picoseconds.
|
||||
Weight::from_parts(32_693_059, 3510)
|
||||
// Standard Error: 10_000
|
||||
.saturating_add(Weight::from_parts(4_736_173, 0).saturating_mul(v.into()))
|
||||
.saturating_add(T::DbWeight::get().reads(2_u64))
|
||||
.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2520).saturating_mul(v.into()))
|
||||
@@ -724,8 +724,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_073_000 picoseconds.
|
||||
Weight::from_parts(5_452_000, 0)
|
||||
// Minimum execution time: 5_434_000 picoseconds.
|
||||
Weight::from_parts(5_742_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(6_u64))
|
||||
}
|
||||
/// Storage: `Staking::MinCommission` (r:0 w:1)
|
||||
@@ -744,8 +744,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 4_465_000 picoseconds.
|
||||
Weight::from_parts(4_832_000, 0)
|
||||
// Minimum execution time: 4_588_000 picoseconds.
|
||||
Weight::from_parts(4_854_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(6_u64))
|
||||
}
|
||||
/// Storage: `Staking::Bonded` (r:1 w:0)
|
||||
@@ -774,8 +774,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1939`
|
||||
// Estimated: `6248`
|
||||
// Minimum execution time: 71_239_000 picoseconds.
|
||||
Weight::from_parts(74_649_000, 6248)
|
||||
// Minimum execution time: 68_780_000 picoseconds.
|
||||
Weight::from_parts(71_479_000, 6248)
|
||||
.saturating_add(T::DbWeight::get().reads(12_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(6_u64))
|
||||
}
|
||||
@@ -787,8 +787,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `691`
|
||||
// Estimated: `3510`
|
||||
// Minimum execution time: 12_525_000 picoseconds.
|
||||
Weight::from_parts(13_126_000, 3510)
|
||||
// Minimum execution time: 12_268_000 picoseconds.
|
||||
Weight::from_parts(12_661_000, 3510)
|
||||
.saturating_add(T::DbWeight::get().reads(2_u64))
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -798,8 +798,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_918_000 picoseconds.
|
||||
Weight::from_parts(3_176_000, 0)
|
||||
// Minimum execution time: 3_071_000 picoseconds.
|
||||
Weight::from_parts(3_334_000, 0)
|
||||
.saturating_add(T::DbWeight::get().writes(1_u64))
|
||||
}
|
||||
}
|
||||
@@ -820,8 +820,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `927`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 42_491_000 picoseconds.
|
||||
Weight::from_parts(44_026_000, 4764)
|
||||
// Minimum execution time: 42_042_000 picoseconds.
|
||||
Weight::from_parts(43_292_000, 4764)
|
||||
.saturating_add(RocksDbWeight::get().reads(3_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(4_u64))
|
||||
}
|
||||
@@ -841,8 +841,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1990`
|
||||
// Estimated: `8877`
|
||||
// Minimum execution time: 88_756_000 picoseconds.
|
||||
Weight::from_parts(91_000_000, 8877)
|
||||
// Minimum execution time: 85_050_000 picoseconds.
|
||||
Weight::from_parts(87_567_000, 8877)
|
||||
.saturating_add(RocksDbWeight::get().reads(9_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(7_u64))
|
||||
}
|
||||
@@ -868,8 +868,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2195`
|
||||
// Estimated: `8877`
|
||||
// Minimum execution time: 91_331_000 picoseconds.
|
||||
Weight::from_parts(94_781_000, 8877)
|
||||
// Minimum execution time: 89_076_000 picoseconds.
|
||||
Weight::from_parts(92_715_000, 8877)
|
||||
.saturating_add(RocksDbWeight::get().reads(12_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(7_u64))
|
||||
}
|
||||
@@ -888,10 +888,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1115`
|
||||
// Estimated: `4764`
|
||||
// Minimum execution time: 42_495_000 picoseconds.
|
||||
Weight::from_parts(44_189_470, 4764)
|
||||
// Standard Error: 1_389
|
||||
.saturating_add(Weight::from_parts(47_484, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 42_067_000 picoseconds.
|
||||
Weight::from_parts(43_239_807, 4764)
|
||||
// Standard Error: 831
|
||||
.saturating_add(Weight::from_parts(46_257, 0).saturating_mul(s.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(5_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(2_u64))
|
||||
}
|
||||
@@ -928,10 +928,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2196 + s * (4 ±0)`
|
||||
// Estimated: `6248 + s * (4 ±0)`
|
||||
// Minimum execution time: 89_004_000 picoseconds.
|
||||
Weight::from_parts(96_677_570, 6248)
|
||||
// Standard Error: 4_635
|
||||
.saturating_add(Weight::from_parts(1_387_718, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 86_490_000 picoseconds.
|
||||
Weight::from_parts(95_358_751, 6248)
|
||||
// Standard Error: 3_952
|
||||
.saturating_add(Weight::from_parts(1_294_907, 0).saturating_mul(s.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(13_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(11_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
@@ -963,8 +963,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1372`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 51_532_000 picoseconds.
|
||||
Weight::from_parts(53_308_000, 4556)
|
||||
// Minimum execution time: 50_326_000 picoseconds.
|
||||
Weight::from_parts(52_253_000, 4556)
|
||||
.saturating_add(RocksDbWeight::get().reads(11_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(5_u64))
|
||||
}
|
||||
@@ -977,10 +977,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1280 + k * (569 ±0)`
|
||||
// Estimated: `4556 + k * (3033 ±0)`
|
||||
// Minimum execution time: 28_955_000 picoseconds.
|
||||
Weight::from_parts(29_609_869, 4556)
|
||||
// Standard Error: 6_793
|
||||
.saturating_add(Weight::from_parts(6_412_124, 0).saturating_mul(k.into()))
|
||||
// Minimum execution time: 29_305_000 picoseconds.
|
||||
Weight::from_parts(32_199_604, 4556)
|
||||
// Standard Error: 7_150
|
||||
.saturating_add(Weight::from_parts(6_437_124, 0).saturating_mul(k.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(1_u64))
|
||||
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into())))
|
||||
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into())))
|
||||
@@ -1013,10 +1013,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1866 + n * (102 ±0)`
|
||||
// Estimated: `6248 + n * (2520 ±0)`
|
||||
// Minimum execution time: 64_080_000 picoseconds.
|
||||
Weight::from_parts(61_985_382, 6248)
|
||||
// Standard Error: 13_320
|
||||
.saturating_add(Weight::from_parts(4_030_513, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 63_267_000 picoseconds.
|
||||
Weight::from_parts(61_741_404, 6248)
|
||||
// Standard Error: 12_955
|
||||
.saturating_add(Weight::from_parts(3_811_743, 0).saturating_mul(n.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(12_u64))
|
||||
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
|
||||
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
||||
@@ -1040,8 +1040,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1650`
|
||||
// Estimated: `6248`
|
||||
// Minimum execution time: 54_194_000 picoseconds.
|
||||
Weight::from_parts(55_578_000, 6248)
|
||||
// Minimum execution time: 52_862_000 picoseconds.
|
||||
Weight::from_parts(54_108_000, 6248)
|
||||
.saturating_add(RocksDbWeight::get().reads(8_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
||||
}
|
||||
@@ -1055,8 +1055,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `902`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 16_597_000 picoseconds.
|
||||
Weight::from_parts(16_980_000, 4556)
|
||||
// Minimum execution time: 16_350_000 picoseconds.
|
||||
Weight::from_parts(16_802_000, 4556)
|
||||
.saturating_add(RocksDbWeight::get().reads(2_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -1070,8 +1070,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `969`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 20_626_000 picoseconds.
|
||||
Weight::from_parts(21_242_000, 4556)
|
||||
// Minimum execution time: 19_981_000 picoseconds.
|
||||
Weight::from_parts(20_539_000, 4556)
|
||||
.saturating_add(RocksDbWeight::get().reads(3_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -1083,8 +1083,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `902`
|
||||
// Estimated: `4556`
|
||||
// Minimum execution time: 19_972_000 picoseconds.
|
||||
Weight::from_parts(20_470_000, 4556)
|
||||
// Minimum execution time: 19_304_000 picoseconds.
|
||||
Weight::from_parts(20_000_000, 4556)
|
||||
.saturating_add(RocksDbWeight::get().reads(2_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(3_u64))
|
||||
}
|
||||
@@ -1094,8 +1094,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_571_000 picoseconds.
|
||||
Weight::from_parts(2_720_000, 0)
|
||||
// Minimum execution time: 2_568_000 picoseconds.
|
||||
Weight::from_parts(2_708_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::ForceEra` (r:0 w:1)
|
||||
@@ -1104,8 +1104,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_056_000 picoseconds.
|
||||
Weight::from_parts(8_413_000, 0)
|
||||
// Minimum execution time: 7_950_000 picoseconds.
|
||||
Weight::from_parts(8_348_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::ForceEra` (r:0 w:1)
|
||||
@@ -1114,8 +1114,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_162_000 picoseconds.
|
||||
Weight::from_parts(8_497_000, 0)
|
||||
// Minimum execution time: 7_967_000 picoseconds.
|
||||
Weight::from_parts(8_222_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::ForceEra` (r:0 w:1)
|
||||
@@ -1124,8 +1124,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 8_320_000 picoseconds.
|
||||
Weight::from_parts(8_564_000, 0)
|
||||
// Minimum execution time: 8_006_000 picoseconds.
|
||||
Weight::from_parts(8_440_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::Invulnerables` (r:0 w:1)
|
||||
@@ -1135,10 +1135,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_470_000 picoseconds.
|
||||
Weight::from_parts(3_110_242, 0)
|
||||
// Standard Error: 63
|
||||
.saturating_add(Weight::from_parts(11_786, 0).saturating_mul(v.into()))
|
||||
// Minimum execution time: 2_524_000 picoseconds.
|
||||
Weight::from_parts(3_123_608, 0)
|
||||
// Standard Error: 59
|
||||
.saturating_add(Weight::from_parts(11_596, 0).saturating_mul(v.into()))
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
/// Storage: `Staking::Ledger` (r:5900 w:11800)
|
||||
@@ -1152,10 +1152,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1356 + i * (151 ±0)`
|
||||
// Estimated: `990 + i * (3566 ±0)`
|
||||
// Minimum execution time: 2_101_000 picoseconds.
|
||||
Weight::from_parts(2_238_000, 990)
|
||||
// Standard Error: 56_753
|
||||
.saturating_add(Weight::from_parts(18_404_902, 0).saturating_mul(i.into()))
|
||||
// Minimum execution time: 2_092_000 picoseconds.
|
||||
Weight::from_parts(2_258_000, 990)
|
||||
// Standard Error: 32_695
|
||||
.saturating_add(Weight::from_parts(16_669_219, 0).saturating_mul(i.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(i.into())))
|
||||
.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(i.into())))
|
||||
.saturating_add(Weight::from_parts(0, 3566).saturating_mul(i.into()))
|
||||
@@ -1193,10 +1193,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2196 + s * (4 ±0)`
|
||||
// Estimated: `6248 + s * (4 ±0)`
|
||||
// Minimum execution time: 86_765_000 picoseconds.
|
||||
Weight::from_parts(95_173_565, 6248)
|
||||
// Standard Error: 4_596
|
||||
.saturating_add(Weight::from_parts(1_354_849, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 84_275_000 picoseconds.
|
||||
Weight::from_parts(92_512_416, 6248)
|
||||
// Standard Error: 3_633
|
||||
.saturating_add(Weight::from_parts(1_315_923, 0).saturating_mul(s.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(13_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(12_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
@@ -1209,10 +1209,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `66672`
|
||||
// Estimated: `70137`
|
||||
// Minimum execution time: 104_490_000 picoseconds.
|
||||
Weight::from_parts(1_162_956_951, 70137)
|
||||
// Standard Error: 76_760
|
||||
.saturating_add(Weight::from_parts(6_485_569, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 101_707_000 picoseconds.
|
||||
Weight::from_parts(912_819_462, 70137)
|
||||
// Standard Error: 57_547
|
||||
.saturating_add(Weight::from_parts(4_856_799, 0).saturating_mul(s.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(1_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -1249,10 +1249,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `33297 + n * (377 ±0)`
|
||||
// Estimated: `30944 + n * (3774 ±0)`
|
||||
// Minimum execution time: 144_790_000 picoseconds.
|
||||
Weight::from_parts(36_764_791, 30944)
|
||||
// Standard Error: 89_592
|
||||
.saturating_add(Weight::from_parts(49_620_105, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 138_657_000 picoseconds.
|
||||
Weight::from_parts(167_173_445, 30944)
|
||||
// Standard Error: 25_130
|
||||
.saturating_add(Weight::from_parts(44_566_012, 0).saturating_mul(n.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(14_u64))
|
||||
.saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(n.into())))
|
||||
.saturating_add(RocksDbWeight::get().writes(4_u64))
|
||||
@@ -1276,10 +1276,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1991 + l * (7 ±0)`
|
||||
// Estimated: `8877`
|
||||
// Minimum execution time: 81_768_000 picoseconds.
|
||||
Weight::from_parts(85_332_982, 8877)
|
||||
// Standard Error: 5_380
|
||||
.saturating_add(Weight::from_parts(70_298, 0).saturating_mul(l.into()))
|
||||
// Minimum execution time: 80_061_000 picoseconds.
|
||||
Weight::from_parts(82_836_434, 8877)
|
||||
// Standard Error: 4_348
|
||||
.saturating_add(Weight::from_parts(75_744, 0).saturating_mul(l.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(9_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(7_u64))
|
||||
}
|
||||
@@ -1314,10 +1314,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `2196 + s * (4 ±0)`
|
||||
// Estimated: `6248 + s * (4 ±0)`
|
||||
// Minimum execution time: 96_123_000 picoseconds.
|
||||
Weight::from_parts(100_278_672, 6248)
|
||||
// Standard Error: 3_487
|
||||
.saturating_add(Weight::from_parts(1_326_503, 0).saturating_mul(s.into()))
|
||||
// Minimum execution time: 92_560_000 picoseconds.
|
||||
Weight::from_parts(97_684_741, 6248)
|
||||
// Standard Error: 3_361
|
||||
.saturating_add(Weight::from_parts(1_292_732, 0).saturating_mul(s.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(12_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(11_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
|
||||
@@ -1363,12 +1363,12 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0 + n * (720 ±0) + v * (3598 ±0)`
|
||||
// Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
|
||||
// Minimum execution time: 572_893_000 picoseconds.
|
||||
Weight::from_parts(578_010_000, 512390)
|
||||
// Standard Error: 2_094_268
|
||||
.saturating_add(Weight::from_parts(68_419_710, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 208_682
|
||||
.saturating_add(Weight::from_parts(18_826_175, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 564_963_000 picoseconds.
|
||||
Weight::from_parts(569_206_000, 512390)
|
||||
// Standard Error: 2_033_235
|
||||
.saturating_add(Weight::from_parts(68_025_841, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 202_600
|
||||
.saturating_add(Weight::from_parts(17_916_770, 0).saturating_mul(n.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(206_u64))
|
||||
.saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(v.into())))
|
||||
.saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(n.into())))
|
||||
@@ -1399,12 +1399,12 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `3175 + n * (911 ±0) + v * (395 ±0)`
|
||||
// Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
|
||||
// Minimum execution time: 33_836_205_000 picoseconds.
|
||||
Weight::from_parts(34_210_443_000, 512390)
|
||||
// Standard Error: 441_692
|
||||
.saturating_add(Weight::from_parts(6_122_533, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 441_692
|
||||
.saturating_add(Weight::from_parts(4_418_264, 0).saturating_mul(n.into()))
|
||||
// Minimum execution time: 32_196_540_000 picoseconds.
|
||||
Weight::from_parts(32_341_871_000, 512390)
|
||||
// Standard Error: 354_657
|
||||
.saturating_add(Weight::from_parts(5_143_440, 0).saturating_mul(v.into()))
|
||||
// Standard Error: 354_657
|
||||
.saturating_add(Weight::from_parts(3_328_189, 0).saturating_mul(n.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(201_u64))
|
||||
.saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(v.into())))
|
||||
.saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(n.into())))
|
||||
@@ -1421,10 +1421,10 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `979 + v * (50 ±0)`
|
||||
// Estimated: `3510 + v * (2520 ±0)`
|
||||
// Minimum execution time: 2_454_689_000 picoseconds.
|
||||
Weight::from_parts(161_771_064, 3510)
|
||||
// Standard Error: 31_022
|
||||
.saturating_add(Weight::from_parts(4_820_158, 0).saturating_mul(v.into()))
|
||||
// Minimum execution time: 2_381_903_000 picoseconds.
|
||||
Weight::from_parts(32_693_059, 3510)
|
||||
// Standard Error: 10_000
|
||||
.saturating_add(Weight::from_parts(4_736_173, 0).saturating_mul(v.into()))
|
||||
.saturating_add(RocksDbWeight::get().reads(2_u64))
|
||||
.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(v.into())))
|
||||
.saturating_add(Weight::from_parts(0, 2520).saturating_mul(v.into()))
|
||||
@@ -1445,8 +1445,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 5_073_000 picoseconds.
|
||||
Weight::from_parts(5_452_000, 0)
|
||||
// Minimum execution time: 5_434_000 picoseconds.
|
||||
Weight::from_parts(5_742_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
||||
}
|
||||
/// Storage: `Staking::MinCommission` (r:0 w:1)
|
||||
@@ -1465,8 +1465,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 4_465_000 picoseconds.
|
||||
Weight::from_parts(4_832_000, 0)
|
||||
// Minimum execution time: 4_588_000 picoseconds.
|
||||
Weight::from_parts(4_854_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
||||
}
|
||||
/// Storage: `Staking::Bonded` (r:1 w:0)
|
||||
@@ -1495,8 +1495,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `1939`
|
||||
// Estimated: `6248`
|
||||
// Minimum execution time: 71_239_000 picoseconds.
|
||||
Weight::from_parts(74_649_000, 6248)
|
||||
// Minimum execution time: 68_780_000 picoseconds.
|
||||
Weight::from_parts(71_479_000, 6248)
|
||||
.saturating_add(RocksDbWeight::get().reads(12_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(6_u64))
|
||||
}
|
||||
@@ -1508,8 +1508,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `691`
|
||||
// Estimated: `3510`
|
||||
// Minimum execution time: 12_525_000 picoseconds.
|
||||
Weight::from_parts(13_126_000, 3510)
|
||||
// Minimum execution time: 12_268_000 picoseconds.
|
||||
Weight::from_parts(12_661_000, 3510)
|
||||
.saturating_add(RocksDbWeight::get().reads(2_u64))
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
@@ -1519,8 +1519,8 @@ impl WeightInfo for () {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `0`
|
||||
// Estimated: `0`
|
||||
// Minimum execution time: 2_918_000 picoseconds.
|
||||
Weight::from_parts(3_176_000, 0)
|
||||
// Minimum execution time: 3_071_000 picoseconds.
|
||||
Weight::from_parts(3_334_000, 0)
|
||||
.saturating_add(RocksDbWeight::get().writes(1_u64))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user