Elastic scaling: runtime dependency tracking and enactment (#3479)

Changes needed to implement the runtime part of elastic scaling:
https://github.com/paritytech/polkadot-sdk/issues/3131,
https://github.com/paritytech/polkadot-sdk/issues/3132,
https://github.com/paritytech/polkadot-sdk/issues/3202

Also fixes https://github.com/paritytech/polkadot-sdk/issues/3675

TODOs:

- [x] storage migration
- [x] optimise process_candidates from O(N^2)
- [x] drop backable candidates which form cycles
- [x] fix unit tests
- [x] add more unit tests
- [x] check the runtime APIs which use the pending availability storage.
We need to expose all of them, see
https://github.com/paritytech/polkadot-sdk/issues/3576
- [x] optimise the candidate selection. we're currently picking randomly
until we satisfy the weight limit. we need to be smart about not
breaking candidate chains while being fair to all paras -
https://github.com/paritytech/polkadot-sdk/pull/3573

Relies on the changes made in
https://github.com/paritytech/polkadot-sdk/pull/3233 in terms of the
inclusion policy and the candidate ordering

---------

Signed-off-by: alindima <alin@parity.io>
Co-authored-by: command-bot <>
Co-authored-by: eskimor <eskimor@users.noreply.github.com>
This commit is contained in:
Alin Dima
2024-03-21 12:10:45 +02:00
committed by GitHub
parent 75074952a8
commit 4842faf65d
18 changed files with 4061 additions and 1734 deletions
@@ -16,11 +16,11 @@
//! Autogenerated weights for `runtime_parachains::paras_inherent`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2023-06-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-03-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 1024
//! HOSTNAME: `runner-h2rr8wx7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
// Executed Command:
// target/production/polkadot
@@ -29,14 +29,13 @@
// --steps=50
// --repeat=20
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
// --pallet=runtime_parachains::paras_inherent
// --chain=westend-dev
// --header=./file_header.txt
// --output=./runtime/westend/src/weights/
// --header=./polkadot/file_header.txt
// --output=./polkadot/runtime/westend/src/weights/
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
@@ -49,297 +48,311 @@ use core::marker::PhantomData;
/// Weight functions for `runtime_parachains::paras_inherent`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> runtime_parachains::paras_inherent::WeightInfo for WeightInfo<T> {
/// Storage: ParaInherent Included (r:1 w:1)
/// Proof Skipped: ParaInherent Included (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: System ParentHash (r:1 w:0)
/// Proof: System ParentHash (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
/// Proof Skipped: ParaScheduler AvailabilityCores (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Babe AuthorVrfRandomness (r:1 w:0)
/// Proof: Babe AuthorVrfRandomness (max_values: Some(1), max_size: Some(33), added: 528, mode: MaxEncodedLen)
/// Storage: ParaSessionInfo Sessions (r:1 w:0)
/// Proof Skipped: ParaSessionInfo Sessions (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes Disputes (r:1 w:1)
/// Proof Skipped: ParasDisputes Disputes (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes BackersOnDisputes (r:1 w:1)
/// Proof Skipped: ParasDisputes BackersOnDisputes (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes Included (r:1 w:1)
/// Proof Skipped: ParasDisputes Included (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaSessionInfo AccountKeys (r:1 w:0)
/// Proof Skipped: ParaSessionInfo AccountKeys (max_values: None, max_size: None, mode: Measured)
/// Storage: Session Validators (r:1 w:0)
/// Proof Skipped: Session Validators (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Staking ActiveEra (r:1 w:0)
/// Proof: Staking ActiveEra (max_values: Some(1), max_size: Some(13), added: 508, mode: MaxEncodedLen)
/// Storage: Staking ErasRewardPoints (r:1 w:1)
/// Proof Skipped: Staking ErasRewardPoints (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaInherent OnChainVotes (r:1 w:1)
/// Proof Skipped: ParaInherent OnChainVotes (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasDisputes Frozen (r:1 w:0)
/// Proof Skipped: ParasDisputes Frozen (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailability (r:2 w:1)
/// Proof Skipped: ParaInclusion PendingAvailability (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Parachains (r:1 w:0)
/// Proof Skipped: Paras Parachains (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
/// Proof Skipped: ParaInclusion PendingAvailabilityCommitments (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DeliveryFeeFactor (r:1 w:1)
/// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
/// Proof Skipped: Hrmp HrmpChannelDigests (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras FutureCodeUpgrades (r:1 w:0)
/// Proof Skipped: Paras FutureCodeUpgrades (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
/// Proof Skipped: ParaScheduler SessionStartBlock (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
/// Proof Skipped: ParaScheduler ParathreadQueue (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler Scheduled (r:1 w:1)
/// Proof Skipped: ParaScheduler Scheduled (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
/// Proof Skipped: ParaScheduler ValidatorGroups (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Hrmp HrmpWatermarks (r:0 w:1)
/// Proof Skipped: Hrmp HrmpWatermarks (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Heads (r:0 w:1)
/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras UpgradeGoAheadSignal (r:0 w:1)
/// Proof Skipped: Paras UpgradeGoAheadSignal (max_values: None, max_size: None, mode: Measured)
/// Storage: `ParaInherent::Included` (r:1 w:1)
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::ParentHash` (r:1 w:0)
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
/// Storage: `ParaSessionInfo::Sessions` (r:1 w:0)
/// Proof: `ParaSessionInfo::Sessions` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Disputes` (r:1 w:1)
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::BackersOnDisputes` (r:1 w:1)
/// Proof: `ParasDisputes::BackersOnDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Included` (r:1 w:1)
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Session::Validators` (r:1 w:0)
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Staking::ActiveEra` (r:1 w:0)
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaInclusion::V1` (r:2 w:1)
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Session::DisabledValidators` (r:1 w:0)
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::Heads` (r:0 w:1)
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `v` is `[10, 200]`.
fn enter_variable_disputes(v: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `50518`
// Estimated: `56458 + v * (23 ±0)`
// Minimum execution time: 998_338_000 picoseconds.
Weight::from_parts(468_412_001, 0)
.saturating_add(Weight::from_parts(0, 56458))
// Standard Error: 20_559
.saturating_add(Weight::from_parts(56_965_025, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().reads(27))
.saturating_add(T::DbWeight::get().writes(15))
// Measured: `67518`
// Estimated: `73458 + v * (23 ±0)`
// Minimum execution time: 844_022_000 picoseconds.
Weight::from_parts(456_682_337, 0)
.saturating_add(Weight::from_parts(0, 73458))
// Standard Error: 16_403
.saturating_add(Weight::from_parts(41_871_245, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().reads(28))
.saturating_add(T::DbWeight::get().writes(16))
.saturating_add(Weight::from_parts(0, 23).saturating_mul(v.into()))
}
/// Storage: ParaInherent Included (r:1 w:1)
/// Proof Skipped: ParaInherent Included (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: System ParentHash (r:1 w:0)
/// Proof: System ParentHash (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
/// Proof Skipped: ParaScheduler AvailabilityCores (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Babe AuthorVrfRandomness (r:1 w:0)
/// Proof: Babe AuthorVrfRandomness (max_values: Some(1), max_size: Some(33), added: 528, mode: MaxEncodedLen)
/// Storage: ParaInherent OnChainVotes (r:1 w:1)
/// Proof Skipped: ParaInherent OnChainVotes (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasDisputes Frozen (r:1 w:0)
/// Proof Skipped: ParasDisputes Frozen (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailability (r:2 w:1)
/// Proof Skipped: ParaInclusion PendingAvailability (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Parachains (r:1 w:0)
/// Proof Skipped: Paras Parachains (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
/// Proof Skipped: ParaInclusion PendingAvailabilityCommitments (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaSessionInfo AccountKeys (r:1 w:0)
/// Proof Skipped: ParaSessionInfo AccountKeys (max_values: None, max_size: None, mode: Measured)
/// Storage: Session Validators (r:1 w:0)
/// Proof Skipped: Session Validators (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Staking ActiveEra (r:1 w:0)
/// Proof: Staking ActiveEra (max_values: Some(1), max_size: Some(13), added: 508, mode: MaxEncodedLen)
/// Storage: Staking ErasRewardPoints (r:1 w:1)
/// Proof Skipped: Staking ErasRewardPoints (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DeliveryFeeFactor (r:1 w:1)
/// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
/// Proof Skipped: Hrmp HrmpChannelDigests (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras FutureCodeUpgrades (r:1 w:0)
/// Proof Skipped: Paras FutureCodeUpgrades (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes Disputes (r:1 w:0)
/// Proof Skipped: ParasDisputes Disputes (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
/// Proof Skipped: ParaScheduler SessionStartBlock (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
/// Proof Skipped: ParaScheduler ParathreadQueue (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler Scheduled (r:1 w:1)
/// Proof Skipped: ParaScheduler Scheduled (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
/// Proof Skipped: ParaScheduler ValidatorGroups (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion AvailabilityBitfields (r:0 w:1)
/// Proof Skipped: ParaInclusion AvailabilityBitfields (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes Included (r:0 w:1)
/// Proof Skipped: ParasDisputes Included (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpWatermarks (r:0 w:1)
/// Proof Skipped: Hrmp HrmpWatermarks (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Heads (r:0 w:1)
/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras UpgradeGoAheadSignal (r:0 w:1)
/// Proof Skipped: Paras UpgradeGoAheadSignal (max_values: None, max_size: None, mode: Measured)
/// Storage: `ParaInherent::Included` (r:1 w:1)
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::ParentHash` (r:1 w:0)
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaInclusion::V1` (r:2 w:1)
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Session::Validators` (r:1 w:0)
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Staking::ActiveEra` (r:1 w:0)
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Session::DisabledValidators` (r:1 w:0)
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Included` (r:0 w:1)
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::Heads` (r:0 w:1)
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn enter_bitfields() -> Weight {
// Proof Size summary in bytes:
// Measured: `42352`
// Estimated: `48292`
// Minimum execution time: 457_404_000 picoseconds.
Weight::from_parts(485_416_000, 0)
.saturating_add(Weight::from_parts(0, 48292))
.saturating_add(T::DbWeight::get().reads(25))
// Measured: `43196`
// Estimated: `49136`
// Minimum execution time: 438_637_000 picoseconds.
Weight::from_parts(458_342_000, 0)
.saturating_add(Weight::from_parts(0, 49136))
.saturating_add(T::DbWeight::get().reads(26))
.saturating_add(T::DbWeight::get().writes(16))
}
/// Storage: ParaInherent Included (r:1 w:1)
/// Proof Skipped: ParaInherent Included (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: System ParentHash (r:1 w:0)
/// Proof: System ParentHash (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
/// Proof Skipped: ParaScheduler AvailabilityCores (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Babe AuthorVrfRandomness (r:1 w:0)
/// Proof: Babe AuthorVrfRandomness (max_values: Some(1), max_size: Some(33), added: 528, mode: MaxEncodedLen)
/// Storage: ParaInherent OnChainVotes (r:1 w:1)
/// Proof Skipped: ParaInherent OnChainVotes (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasDisputes Frozen (r:1 w:0)
/// Proof Skipped: ParasDisputes Frozen (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailability (r:2 w:1)
/// Proof Skipped: ParaInclusion PendingAvailability (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Parachains (r:1 w:0)
/// Proof Skipped: Paras Parachains (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
/// Proof Skipped: ParaInclusion PendingAvailabilityCommitments (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaSessionInfo AccountKeys (r:1 w:0)
/// Proof Skipped: ParaSessionInfo AccountKeys (max_values: None, max_size: None, mode: Measured)
/// Storage: Session Validators (r:1 w:0)
/// Proof Skipped: Session Validators (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Staking ActiveEra (r:1 w:0)
/// Proof: Staking ActiveEra (max_values: Some(1), max_size: Some(13), added: 508, mode: MaxEncodedLen)
/// Storage: Staking ErasRewardPoints (r:1 w:1)
/// Proof Skipped: Staking ErasRewardPoints (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DeliveryFeeFactor (r:1 w:1)
/// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
/// Proof Skipped: Hrmp HrmpChannelDigests (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras FutureCodeUpgrades (r:1 w:0)
/// Proof Skipped: Paras FutureCodeUpgrades (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes Disputes (r:1 w:0)
/// Proof Skipped: ParasDisputes Disputes (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
/// Proof Skipped: ParaScheduler SessionStartBlock (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
/// Proof Skipped: ParaScheduler ParathreadQueue (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler Scheduled (r:1 w:1)
/// Proof Skipped: ParaScheduler Scheduled (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
/// Proof Skipped: ParaScheduler ValidatorGroups (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Paras CurrentCodeHash (r:1 w:0)
/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras ParaLifecycles (r:1 w:0)
/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
/// Storage: MessageQueue BookStateFor (r:1 w:0)
/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
/// Storage: ParasDisputes Included (r:0 w:1)
/// Proof Skipped: ParasDisputes Included (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpWatermarks (r:0 w:1)
/// Proof Skipped: Hrmp HrmpWatermarks (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Heads (r:0 w:1)
/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras UpgradeGoAheadSignal (r:0 w:1)
/// Proof Skipped: Paras UpgradeGoAheadSignal (max_values: None, max_size: None, mode: Measured)
/// Storage: `ParaInherent::Included` (r:1 w:1)
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::ParentHash` (r:1 w:0)
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaInclusion::V1` (r:2 w:1)
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Session::Validators` (r:1 w:0)
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Staking::ActiveEra` (r:1 w:0)
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Session::DisabledValidators` (r:1 w:0)
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Included` (r:0 w:1)
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::Heads` (r:0 w:1)
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `v` is `[101, 200]`.
fn enter_backed_candidates_variable(v: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `42387`
// Estimated: `48327`
// Minimum execution time: 6_864_029_000 picoseconds.
Weight::from_parts(1_237_704_892, 0)
.saturating_add(Weight::from_parts(0, 48327))
// Standard Error: 33_413
.saturating_add(Weight::from_parts(56_199_819, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().reads(28))
.saturating_add(T::DbWeight::get().writes(15))
// Measured: `43269`
// Estimated: `49209`
// Minimum execution time: 5_955_361_000 picoseconds.
Weight::from_parts(1_285_398_956, 0)
.saturating_add(Weight::from_parts(0, 49209))
// Standard Error: 57_369
.saturating_add(Weight::from_parts(47_073_853, 0).saturating_mul(v.into()))
.saturating_add(T::DbWeight::get().reads(29))
.saturating_add(T::DbWeight::get().writes(16))
}
/// Storage: ParaInherent Included (r:1 w:1)
/// Proof Skipped: ParaInherent Included (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: System ParentHash (r:1 w:0)
/// Proof: System ParentHash (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
/// Proof Skipped: ParaScheduler AvailabilityCores (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Babe AuthorVrfRandomness (r:1 w:0)
/// Proof: Babe AuthorVrfRandomness (max_values: Some(1), max_size: Some(33), added: 528, mode: MaxEncodedLen)
/// Storage: ParaInherent OnChainVotes (r:1 w:1)
/// Proof Skipped: ParaInherent OnChainVotes (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParasDisputes Frozen (r:1 w:0)
/// Proof Skipped: ParasDisputes Frozen (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailability (r:2 w:1)
/// Proof Skipped: ParaInclusion PendingAvailability (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Parachains (r:1 w:0)
/// Proof Skipped: Paras Parachains (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
/// Proof Skipped: ParaInclusion PendingAvailabilityCommitments (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaSessionInfo AccountKeys (r:1 w:0)
/// Proof Skipped: ParaSessionInfo AccountKeys (max_values: None, max_size: None, mode: Measured)
/// Storage: Session Validators (r:1 w:0)
/// Proof Skipped: Session Validators (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Staking ActiveEra (r:1 w:0)
/// Proof: Staking ActiveEra (max_values: Some(1), max_size: Some(13), added: 508, mode: MaxEncodedLen)
/// Storage: Staking ErasRewardPoints (r:1 w:1)
/// Proof Skipped: Staking ErasRewardPoints (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
/// Storage: Dmp DeliveryFeeFactor (r:1 w:1)
/// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
/// Proof Skipped: Hrmp HrmpChannelDigests (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras FutureCodeUpgrades (r:1 w:0)
/// Proof Skipped: Paras FutureCodeUpgrades (max_values: None, max_size: None, mode: Measured)
/// Storage: ParasDisputes Disputes (r:1 w:0)
/// Proof Skipped: ParasDisputes Disputes (max_values: None, max_size: None, mode: Measured)
/// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
/// Proof Skipped: ParaScheduler SessionStartBlock (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
/// Proof Skipped: ParaScheduler ParathreadQueue (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler Scheduled (r:1 w:1)
/// Proof Skipped: ParaScheduler Scheduled (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
/// Proof Skipped: ParaScheduler ValidatorGroups (max_values: Some(1), max_size: None, mode: Measured)
/// Storage: Paras CurrentCodeHash (r:1 w:0)
/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras FutureCodeHash (r:1 w:0)
/// Proof Skipped: Paras FutureCodeHash (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras UpgradeRestrictionSignal (r:1 w:0)
/// Proof Skipped: Paras UpgradeRestrictionSignal (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras ParaLifecycles (r:1 w:0)
/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
/// Storage: MessageQueue BookStateFor (r:1 w:0)
/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
/// Storage: ParasDisputes Included (r:0 w:1)
/// Proof Skipped: ParasDisputes Included (max_values: None, max_size: None, mode: Measured)
/// Storage: Hrmp HrmpWatermarks (r:0 w:1)
/// Proof Skipped: Hrmp HrmpWatermarks (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras Heads (r:0 w:1)
/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
/// Storage: Paras UpgradeGoAheadSignal (r:0 w:1)
/// Proof Skipped: Paras UpgradeGoAheadSignal (max_values: None, max_size: None, mode: Measured)
/// Storage: `ParaInherent::Included` (r:1 w:1)
/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `System::ParentHash` (r:1 w:0)
/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaInclusion::V1` (r:2 w:1)
/// Proof: `ParaInclusion::V1` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaSessionInfo::AccountKeys` (r:1 w:0)
/// Proof: `ParaSessionInfo::AccountKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Session::Validators` (r:1 w:0)
/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Staking::ActiveEra` (r:1 w:0)
/// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`)
/// Storage: `Staking::ErasRewardPoints` (r:1 w:1)
/// Proof: `Staking::ErasRewardPoints` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::FutureCodeHash` (r:1 w:0)
/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::UpgradeRestrictionSignal` (r:1 w:0)
/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `Session::DisabledValidators` (r:1 w:0)
/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
/// Storage: `ParasDisputes::Included` (r:0 w:1)
/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::Heads` (r:0 w:1)
/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// Storage: `Paras::MostRecentContext` (r:0 w:1)
/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
fn enter_backed_candidate_code_upgrade() -> Weight {
// Proof Size summary in bytes:
// Measured: `42414`
// Estimated: `48354`
// Minimum execution time: 43_320_529_000 picoseconds.
Weight::from_parts(45_622_613_000, 0)
.saturating_add(Weight::from_parts(0, 48354))
.saturating_add(T::DbWeight::get().reads(30))
.saturating_add(T::DbWeight::get().writes(15))
// Measured: `43282`
// Estimated: `49222`
// Minimum execution time: 42_128_606_000 picoseconds.
Weight::from_parts(42_822_806_000, 0)
.saturating_add(Weight::from_parts(0, 49222))
.saturating_add(T::DbWeight::get().reads(31))
.saturating_add(T::DbWeight::get().writes(16))
}
}